@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/client/hooks.mjs
CHANGED
|
@@ -7467,6 +7467,47 @@ var eyebrowTreatmentValues = [
|
|
|
7467
7467
|
"pill-bounce",
|
|
7468
7468
|
"accent-pill-bounce"
|
|
7469
7469
|
];
|
|
7470
|
+
var visibleHeadingDecorationFamilyValues = [
|
|
7471
|
+
"organic-squiggle",
|
|
7472
|
+
"short-center-rule"
|
|
7473
|
+
];
|
|
7474
|
+
var visibleHeadingDecorationPlacementValues = [
|
|
7475
|
+
"after-heading",
|
|
7476
|
+
"between-heading-and-body",
|
|
7477
|
+
"under-centered-heading"
|
|
7478
|
+
];
|
|
7479
|
+
var headingDecorationOverrideValues = [
|
|
7480
|
+
"site-default",
|
|
7481
|
+
"on",
|
|
7482
|
+
"off"
|
|
7483
|
+
];
|
|
7484
|
+
var headingDecorationColorTokenValues = [
|
|
7485
|
+
"text",
|
|
7486
|
+
"primary",
|
|
7487
|
+
"secondary",
|
|
7488
|
+
"accent",
|
|
7489
|
+
"border",
|
|
7490
|
+
"muted"
|
|
7491
|
+
];
|
|
7492
|
+
var accordionIconSetValues = [
|
|
7493
|
+
"plus",
|
|
7494
|
+
"chevron",
|
|
7495
|
+
"caret",
|
|
7496
|
+
"minimal-cross"
|
|
7497
|
+
];
|
|
7498
|
+
var accordionIconColorTokenValues = [
|
|
7499
|
+
"text",
|
|
7500
|
+
"muted",
|
|
7501
|
+
"primary",
|
|
7502
|
+
"secondary",
|
|
7503
|
+
"accent",
|
|
7504
|
+
"current"
|
|
7505
|
+
];
|
|
7506
|
+
var accordionIconMotionValues = [
|
|
7507
|
+
"none",
|
|
7508
|
+
"rotate",
|
|
7509
|
+
"swap"
|
|
7510
|
+
];
|
|
7470
7511
|
function defineBlockDesignCapability(capability) {
|
|
7471
7512
|
return {
|
|
7472
7513
|
...capability,
|
|
@@ -7476,7 +7517,9 @@ function defineBlockDesignCapability(capability) {
|
|
|
7476
7517
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
7477
7518
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
7478
7519
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
7479
|
-
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
7520
|
+
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
7521
|
+
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
7522
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
7480
7523
|
};
|
|
7481
7524
|
}
|
|
7482
7525
|
|
|
@@ -7667,6 +7710,25 @@ var blockAppearancePresets = [
|
|
|
7667
7710
|
emphasis: "high"
|
|
7668
7711
|
}
|
|
7669
7712
|
}),
|
|
7713
|
+
defineBlockAppearancePreset({
|
|
7714
|
+
kind: "block-design",
|
|
7715
|
+
id: "intro-soft-earth-statement",
|
|
7716
|
+
target: "intro",
|
|
7717
|
+
label: "Soft Earth intro statement",
|
|
7718
|
+
blockKinds: ["block.intro"],
|
|
7719
|
+
design: {
|
|
7720
|
+
sectionSurface: "base",
|
|
7721
|
+
contentFrame: plainFrame,
|
|
7722
|
+
itemSurface: "none",
|
|
7723
|
+
transitionAfter: "soft-fade-short",
|
|
7724
|
+
emphasis: "high",
|
|
7725
|
+
headingDecoration: {
|
|
7726
|
+
family: "organic-squiggle",
|
|
7727
|
+
placement: "after-heading",
|
|
7728
|
+
colorToken: "primary"
|
|
7729
|
+
}
|
|
7730
|
+
}
|
|
7731
|
+
}),
|
|
7670
7732
|
defineBlockAppearancePreset({
|
|
7671
7733
|
kind: "block-design",
|
|
7672
7734
|
id: "offerings-calm-list",
|
|
@@ -7681,6 +7743,25 @@ var blockAppearancePresets = [
|
|
|
7681
7743
|
emphasis: "medium"
|
|
7682
7744
|
}
|
|
7683
7745
|
}),
|
|
7746
|
+
defineBlockAppearancePreset({
|
|
7747
|
+
kind: "block-design",
|
|
7748
|
+
id: "feature-cards-soft-earth-offerings",
|
|
7749
|
+
target: "feature-cards",
|
|
7750
|
+
label: "Soft Earth offering cards",
|
|
7751
|
+
blockKinds: ["block.feature-cards"],
|
|
7752
|
+
design: {
|
|
7753
|
+
sectionSurface: "base",
|
|
7754
|
+
contentFrame: plainFrame,
|
|
7755
|
+
itemSurface: "raised",
|
|
7756
|
+
transitionAfter: "none",
|
|
7757
|
+
emphasis: "high",
|
|
7758
|
+
headingDecoration: {
|
|
7759
|
+
family: "short-center-rule",
|
|
7760
|
+
placement: "under-centered-heading",
|
|
7761
|
+
colorToken: "primary"
|
|
7762
|
+
}
|
|
7763
|
+
}
|
|
7764
|
+
}),
|
|
7684
7765
|
defineBlockAppearancePreset({
|
|
7685
7766
|
kind: "block-design",
|
|
7686
7767
|
id: "events-base-calendar",
|
|
@@ -7809,6 +7890,26 @@ var blockAppearancePresets = [
|
|
|
7809
7890
|
testimonialCardTreatment: "accent-quote"
|
|
7810
7891
|
}
|
|
7811
7892
|
}),
|
|
7893
|
+
defineBlockAppearancePreset({
|
|
7894
|
+
kind: "block-design",
|
|
7895
|
+
id: "testimonials-soft-earth-proof-band",
|
|
7896
|
+
target: "testimonials",
|
|
7897
|
+
label: "Soft Earth proof band",
|
|
7898
|
+
blockKinds: ["block.testimonials"],
|
|
7899
|
+
design: {
|
|
7900
|
+
sectionSurface: "brand-depth-band",
|
|
7901
|
+
contentFrame: plainFrame,
|
|
7902
|
+
itemSurface: "none",
|
|
7903
|
+
transitionAfter: "soft-fade-short",
|
|
7904
|
+
emphasis: "high",
|
|
7905
|
+
testimonialCardTreatment: "accent-quote",
|
|
7906
|
+
headingDecoration: {
|
|
7907
|
+
family: "short-center-rule",
|
|
7908
|
+
placement: "under-centered-heading",
|
|
7909
|
+
colorToken: "border"
|
|
7910
|
+
}
|
|
7911
|
+
}
|
|
7912
|
+
}),
|
|
7812
7913
|
defineBlockAppearancePreset({
|
|
7813
7914
|
kind: "block-design",
|
|
7814
7915
|
id: "faq-base-accordion",
|
|
@@ -7837,6 +7938,25 @@ var blockAppearancePresets = [
|
|
|
7837
7938
|
emphasis: "low"
|
|
7838
7939
|
}
|
|
7839
7940
|
}),
|
|
7941
|
+
defineBlockAppearancePreset({
|
|
7942
|
+
kind: "block-design",
|
|
7943
|
+
id: "faq-soft-earth-two-column",
|
|
7944
|
+
target: "faq",
|
|
7945
|
+
label: "Soft Earth two-column FAQ",
|
|
7946
|
+
blockKinds: ["block.faq"],
|
|
7947
|
+
design: {
|
|
7948
|
+
sectionSurface: "base",
|
|
7949
|
+
contentFrame: plainFrame,
|
|
7950
|
+
itemSurface: "flat",
|
|
7951
|
+
transitionAfter: "none",
|
|
7952
|
+
emphasis: "medium",
|
|
7953
|
+
accordionIconTreatment: {
|
|
7954
|
+
iconSet: "plus",
|
|
7955
|
+
colorToken: "primary",
|
|
7956
|
+
motion: "swap"
|
|
7957
|
+
}
|
|
7958
|
+
}
|
|
7959
|
+
}),
|
|
7840
7960
|
defineBlockAppearancePreset({
|
|
7841
7961
|
kind: "block-design",
|
|
7842
7962
|
id: "contact-form-panel",
|
|
@@ -8522,6 +8642,97 @@ var confidentChip = defineButtonPersonality({
|
|
|
8522
8642
|
}
|
|
8523
8643
|
});
|
|
8524
8644
|
|
|
8645
|
+
// ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
8646
|
+
var earthPill = defineButtonPersonality({
|
|
8647
|
+
id: "earth-pill",
|
|
8648
|
+
name: "Earth Pill",
|
|
8649
|
+
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
8650
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
8651
|
+
buttonSystem: {
|
|
8652
|
+
global: {
|
|
8653
|
+
cornerStyle: "pill",
|
|
8654
|
+
shadow: "low",
|
|
8655
|
+
textTransform: "none",
|
|
8656
|
+
fontWeight: 500,
|
|
8657
|
+
borderWidth: 1,
|
|
8658
|
+
hoverTransform: "lift",
|
|
8659
|
+
hoverColor: "none",
|
|
8660
|
+
typography: "body",
|
|
8661
|
+
paddingPreset: "default"
|
|
8662
|
+
},
|
|
8663
|
+
sizes: {
|
|
8664
|
+
sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
|
|
8665
|
+
md: { padding: "0.625rem 1.35rem" },
|
|
8666
|
+
lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
|
|
8667
|
+
xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
|
|
8668
|
+
},
|
|
8669
|
+
variants: [
|
|
8670
|
+
{
|
|
8671
|
+
id: "primary",
|
|
8672
|
+
name: "Primary",
|
|
8673
|
+
enabled: true,
|
|
8674
|
+
priority: 1,
|
|
8675
|
+
background: { type: "solid", colorToken: "primary" },
|
|
8676
|
+
textColorToken: "primaryForeground",
|
|
8677
|
+
borderRadius: "rounded-full",
|
|
8678
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
8679
|
+
effects: {
|
|
8680
|
+
hover: [
|
|
8681
|
+
{ effectId: "lift", options: { translateY: "-1px" } },
|
|
8682
|
+
{ effectId: "background-on-hover", options: { colorToken: "accent" } }
|
|
8683
|
+
],
|
|
8684
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
8685
|
+
}
|
|
8686
|
+
},
|
|
8687
|
+
{
|
|
8688
|
+
id: "secondary",
|
|
8689
|
+
name: "Secondary",
|
|
8690
|
+
enabled: true,
|
|
8691
|
+
priority: 2,
|
|
8692
|
+
background: { type: "transparent" },
|
|
8693
|
+
textColorToken: "primary",
|
|
8694
|
+
borderRadius: "rounded-full",
|
|
8695
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
8696
|
+
effects: {
|
|
8697
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
8698
|
+
}
|
|
8699
|
+
},
|
|
8700
|
+
{
|
|
8701
|
+
id: "outline",
|
|
8702
|
+
name: "Outline",
|
|
8703
|
+
enabled: true,
|
|
8704
|
+
priority: 3,
|
|
8705
|
+
background: { type: "transparent" },
|
|
8706
|
+
textColorToken: "text",
|
|
8707
|
+
borderRadius: "rounded-full",
|
|
8708
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
8709
|
+
effects: {
|
|
8710
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
|
|
8711
|
+
}
|
|
8712
|
+
},
|
|
8713
|
+
{
|
|
8714
|
+
id: "ghost",
|
|
8715
|
+
name: "Ghost",
|
|
8716
|
+
enabled: true,
|
|
8717
|
+
priority: 3,
|
|
8718
|
+
background: { type: "transparent" },
|
|
8719
|
+
textColorToken: "primary",
|
|
8720
|
+
borderRadius: "rounded-full",
|
|
8721
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8722
|
+
sizes: {
|
|
8723
|
+
sm: { padding: "0.25rem 0", fontSize: "text-sm" },
|
|
8724
|
+
md: { padding: "0.375rem 0" },
|
|
8725
|
+
lg: { padding: "0.5rem 0", fontSize: "text-lg" },
|
|
8726
|
+
xl: { padding: "0.625rem 0", fontSize: "text-xl" }
|
|
8727
|
+
},
|
|
8728
|
+
effects: {
|
|
8729
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
|
|
8730
|
+
}
|
|
8731
|
+
}
|
|
8732
|
+
]
|
|
8733
|
+
}
|
|
8734
|
+
});
|
|
8735
|
+
|
|
8525
8736
|
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
8526
8737
|
var editorialLink = defineButtonPersonality({
|
|
8527
8738
|
id: "editorial-link",
|
|
@@ -8980,6 +9191,7 @@ var softPill = defineButtonPersonality({
|
|
|
8980
9191
|
// ../theme-core/src/buttons/personalities/index.ts
|
|
8981
9192
|
var buttonPersonalities = [
|
|
8982
9193
|
softPill,
|
|
9194
|
+
earthPill,
|
|
8983
9195
|
confidentChip,
|
|
8984
9196
|
editorialLink,
|
|
8985
9197
|
pebble,
|
|
@@ -9621,8 +9833,19 @@ var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
|
9621
9833
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
9622
9834
|
});
|
|
9623
9835
|
var proseLinkUnderlineStyleSchema = z21.enum(["solid", "dotted", "dashed"]);
|
|
9624
|
-
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
9625
|
-
|
|
9836
|
+
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
9837
|
+
"auto",
|
|
9838
|
+
"fromFont",
|
|
9839
|
+
"thin",
|
|
9840
|
+
"medium",
|
|
9841
|
+
"thick"
|
|
9842
|
+
]);
|
|
9843
|
+
var proseLinkUnderlineOffsetSchema = z21.enum([
|
|
9844
|
+
"auto",
|
|
9845
|
+
"tight",
|
|
9846
|
+
"normal",
|
|
9847
|
+
"loose"
|
|
9848
|
+
]);
|
|
9626
9849
|
var proseLinkStyleSchema = z21.object({
|
|
9627
9850
|
colorToken: themeColorTokenSchema.optional(),
|
|
9628
9851
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
@@ -9633,7 +9856,14 @@ var proseLinkStyleSchema = z21.object({
|
|
|
9633
9856
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
9634
9857
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
9635
9858
|
});
|
|
9636
|
-
var semanticSpacingSchema = z21.enum([
|
|
9859
|
+
var semanticSpacingSchema = z21.enum([
|
|
9860
|
+
"none",
|
|
9861
|
+
"compact",
|
|
9862
|
+
"cozy",
|
|
9863
|
+
"medium",
|
|
9864
|
+
"comfortable",
|
|
9865
|
+
"spacious"
|
|
9866
|
+
]);
|
|
9637
9867
|
var boxRoundedSchema = z21.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
9638
9868
|
var boxBackgroundOverlaySchema = z21.object({
|
|
9639
9869
|
type: z21.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
@@ -9655,12 +9885,36 @@ var boxBackgroundSchema = z21.object({
|
|
|
9655
9885
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
9656
9886
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
9657
9887
|
});
|
|
9888
|
+
var noHeadingDecorationSchema = z21.object({
|
|
9889
|
+
family: z21.literal("none"),
|
|
9890
|
+
placement: z21.literal("none")
|
|
9891
|
+
});
|
|
9892
|
+
var visibleHeadingDecorationSchema = z21.object({
|
|
9893
|
+
family: z21.enum(visibleHeadingDecorationFamilyValues),
|
|
9894
|
+
placement: z21.enum(visibleHeadingDecorationPlacementValues),
|
|
9895
|
+
colorToken: z21.enum(headingDecorationColorTokenValues).optional()
|
|
9896
|
+
});
|
|
9897
|
+
var headingDecorationSchema = z21.union([
|
|
9898
|
+
noHeadingDecorationSchema,
|
|
9899
|
+
visibleHeadingDecorationSchema
|
|
9900
|
+
]);
|
|
9901
|
+
var accordionIconTreatmentSchema = z21.object({
|
|
9902
|
+
iconSet: z21.enum(accordionIconSetValues),
|
|
9903
|
+
colorToken: z21.enum(accordionIconColorTokenValues),
|
|
9904
|
+
openColorToken: z21.enum(accordionIconColorTokenValues).optional(),
|
|
9905
|
+
motion: z21.enum(accordionIconMotionValues)
|
|
9906
|
+
});
|
|
9658
9907
|
var sectionStylesOverrideSchema = z21.object({
|
|
9659
9908
|
background: boxBackgroundSchema.nullable().optional(),
|
|
9660
9909
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
9661
9910
|
minHeight: z21.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
9662
9911
|
tileTreatment: z21.enum(tileTreatmentValues).nullable().optional(),
|
|
9663
|
-
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional()
|
|
9912
|
+
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
9913
|
+
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
9914
|
+
// Author-level override consumed by later block/editor rendering phases.
|
|
9915
|
+
// Keeping it in section styles lets existing block save APIs persist it.
|
|
9916
|
+
headingDecorationOverride: z21.enum(headingDecorationOverrideValues).nullable().optional(),
|
|
9917
|
+
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
9664
9918
|
});
|
|
9665
9919
|
var containerStylesOverrideSchema = z21.object({
|
|
9666
9920
|
background: boxBackgroundSchema.nullable().optional(),
|
|
@@ -9753,9 +10007,17 @@ var inputStyle = z21.object({
|
|
|
9753
10007
|
focus: z21.enum(["glow", "ring", "underline"]),
|
|
9754
10008
|
label: z21.enum(["inside", "above"])
|
|
9755
10009
|
});
|
|
9756
|
-
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"
|
|
10010
|
+
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"]);
|
|
9757
10011
|
var headerPositioning = z21.enum(["static", "sticky", "fixed"]);
|
|
9758
|
-
var headerNavStyle = z21.enum([
|
|
10012
|
+
var headerNavStyle = z21.enum([
|
|
10013
|
+
"minimal",
|
|
10014
|
+
"underline",
|
|
10015
|
+
"underline-grow",
|
|
10016
|
+
"capsule",
|
|
10017
|
+
"scale",
|
|
10018
|
+
"frosted",
|
|
10019
|
+
"solid"
|
|
10020
|
+
]);
|
|
9759
10021
|
var navFontWeight = z21.enum(["regular", "medium", "semibold", "bold"]);
|
|
9760
10022
|
var headerMaxWidth = z21.enum(["container", "full"]);
|
|
9761
10023
|
var headerContainerSchema = z21.object({
|
|
@@ -9803,8 +10065,22 @@ var dropdownStyleSchema = z21.object({
|
|
|
9803
10065
|
textSize: z21.enum(["xs", "sm", "base", "lg"]).optional()
|
|
9804
10066
|
// optional = no override (browser default)
|
|
9805
10067
|
}).optional();
|
|
9806
|
-
var headerCtaGapSchema = z21.enum([
|
|
9807
|
-
|
|
10068
|
+
var headerCtaGapSchema = z21.enum([
|
|
10069
|
+
"none",
|
|
10070
|
+
"tight",
|
|
10071
|
+
"compact",
|
|
10072
|
+
"default",
|
|
10073
|
+
"relaxed",
|
|
10074
|
+
"spacious"
|
|
10075
|
+
]);
|
|
10076
|
+
var headerCtaTreatmentSchema = z21.enum([
|
|
10077
|
+
"default",
|
|
10078
|
+
"primary",
|
|
10079
|
+
"secondary",
|
|
10080
|
+
"inverted",
|
|
10081
|
+
"outline",
|
|
10082
|
+
"ghost"
|
|
10083
|
+
]);
|
|
9808
10084
|
var navContainerSchema = z21.object({
|
|
9809
10085
|
type: z21.enum(["none", "pill", "glass"]).default("none"),
|
|
9810
10086
|
tint: z21.string().nullable().optional(),
|
|
@@ -9859,7 +10135,14 @@ var footerMaxWidth = z21.enum(["container", "full"]);
|
|
|
9859
10135
|
var footerMode = z21.enum(["default", "blocks", "default+blocks", "none"]);
|
|
9860
10136
|
var footerNavLayoutMode = z21.enum(["stack", "inline", "inline-wrap"]);
|
|
9861
10137
|
var footerNavLayoutAlign = z21.enum(["start", "center", "end", "space-between"]);
|
|
9862
|
-
var footerSpacing = z21.enum([
|
|
10138
|
+
var footerSpacing = z21.enum([
|
|
10139
|
+
"none",
|
|
10140
|
+
"tight",
|
|
10141
|
+
"compact",
|
|
10142
|
+
"default",
|
|
10143
|
+
"relaxed",
|
|
10144
|
+
"spacious"
|
|
10145
|
+
]);
|
|
9863
10146
|
var footerLogoPlacement = z21.enum(["left", "right", "above", "below"]);
|
|
9864
10147
|
var footerLogoSize = z21.enum(["sm", "md", "lg", "xl"]);
|
|
9865
10148
|
var footerLogoMaxHeight = z21.enum(["sm", "md", "lg", "xl"]);
|
|
@@ -9924,7 +10207,12 @@ var footerSchema = z21.object({
|
|
|
9924
10207
|
logo: footerLogoSchema.optional(),
|
|
9925
10208
|
bottomBar: footerBottomBarSchema.optional()
|
|
9926
10209
|
});
|
|
9927
|
-
var containerPaddingPresetSchema = z21.enum([
|
|
10210
|
+
var containerPaddingPresetSchema = z21.enum([
|
|
10211
|
+
"tight",
|
|
10212
|
+
"compact",
|
|
10213
|
+
"default",
|
|
10214
|
+
"relaxed"
|
|
10215
|
+
]);
|
|
9928
10216
|
var layoutSchema = z21.object({
|
|
9929
10217
|
containerPadding: z21.object({
|
|
9930
10218
|
mobile: containerPaddingPresetSchema.optional(),
|
|
@@ -9932,8 +10220,24 @@ var layoutSchema = z21.object({
|
|
|
9932
10220
|
desktop: containerPaddingPresetSchema.optional()
|
|
9933
10221
|
}).optional()
|
|
9934
10222
|
}).optional();
|
|
9935
|
-
var heroTypographySizeSchema = z21.enum([
|
|
9936
|
-
|
|
10223
|
+
var heroTypographySizeSchema = z21.enum([
|
|
10224
|
+
"sm",
|
|
10225
|
+
"base",
|
|
10226
|
+
"lg",
|
|
10227
|
+
"xl",
|
|
10228
|
+
"2xl",
|
|
10229
|
+
"3xl",
|
|
10230
|
+
"4xl",
|
|
10231
|
+
"5xl",
|
|
10232
|
+
"6xl",
|
|
10233
|
+
"editorial"
|
|
10234
|
+
]);
|
|
10235
|
+
var heroTypographyLineHeightSchema = z21.enum([
|
|
10236
|
+
"tight",
|
|
10237
|
+
"snug",
|
|
10238
|
+
"normal",
|
|
10239
|
+
"relaxed"
|
|
10240
|
+
]);
|
|
9937
10241
|
var heroResponsiveTypographySchema = z21.object({
|
|
9938
10242
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
9939
10243
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
@@ -10368,6 +10672,28 @@ var warmNeutralCream = definePaletteVariant({
|
|
|
10368
10672
|
{ name: "border", hex: "#e0d2b8" }
|
|
10369
10673
|
]
|
|
10370
10674
|
});
|
|
10675
|
+
var warmNeutralSoftEarth = definePaletteVariant({
|
|
10676
|
+
id: "warm-neutral-soft-earth",
|
|
10677
|
+
name: "Warm Neutral \u2014 Soft Earth",
|
|
10678
|
+
description: "Cream ground with terracotta primary, clay accents, and olive depth.",
|
|
10679
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
10680
|
+
mode: "light",
|
|
10681
|
+
colors: [
|
|
10682
|
+
{ name: "primary", hex: "#a8573d" },
|
|
10683
|
+
{ name: "secondary", hex: "#72765c" },
|
|
10684
|
+
{ name: "accent", hex: "#c87557" },
|
|
10685
|
+
{ name: "success", hex: "#687854" },
|
|
10686
|
+
{ name: "warning", hex: "#b7863e" },
|
|
10687
|
+
{ name: "destructive", hex: "#a54b3c" },
|
|
10688
|
+
{ name: "background", hex: "#fbf6eb" },
|
|
10689
|
+
{ name: "surface", hex: "#fffdf7" },
|
|
10690
|
+
{ name: "surfaceAlt", hex: "#f0e4d3" },
|
|
10691
|
+
{ name: "muted", hex: "#eadbc6" },
|
|
10692
|
+
{ name: "text", hex: "#30281f" },
|
|
10693
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
10694
|
+
{ name: "border", hex: "#d9c8b2" }
|
|
10695
|
+
]
|
|
10696
|
+
});
|
|
10371
10697
|
var warmNeutralForest = definePaletteVariant({
|
|
10372
10698
|
id: "warm-neutral-forest",
|
|
10373
10699
|
name: "Warm Neutral \u2014 Forest",
|
|
@@ -10401,6 +10727,7 @@ var paletteVariants = [
|
|
|
10401
10727
|
// Warm-neutral family
|
|
10402
10728
|
warmNeutralClay,
|
|
10403
10729
|
warmNeutralCream,
|
|
10730
|
+
warmNeutralSoftEarth,
|
|
10404
10731
|
warmNeutralForest,
|
|
10405
10732
|
// High-contrast family
|
|
10406
10733
|
highContrastInk,
|
|
@@ -10419,6 +10746,12 @@ var paletteVariantsById = new Map(
|
|
|
10419
10746
|
function asHeaderLookId(value) {
|
|
10420
10747
|
return value;
|
|
10421
10748
|
}
|
|
10749
|
+
function asHeaderLayoutId(value) {
|
|
10750
|
+
return value;
|
|
10751
|
+
}
|
|
10752
|
+
function asHeaderStyleId(value) {
|
|
10753
|
+
return value;
|
|
10754
|
+
}
|
|
10422
10755
|
function baseHeader(theme) {
|
|
10423
10756
|
const {
|
|
10424
10757
|
navLinkStyle: _navLinkStyle,
|
|
@@ -10437,67 +10770,427 @@ function baseHeader(theme) {
|
|
|
10437
10770
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
10438
10771
|
};
|
|
10439
10772
|
}
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
|
|
10443
|
-
|
|
10773
|
+
var headerLayoutCatalog = [
|
|
10774
|
+
{
|
|
10775
|
+
id: asHeaderLayoutId("classic"),
|
|
10776
|
+
label: "Classic",
|
|
10777
|
+
description: "Logo and navigation in one practical horizontal row.",
|
|
10778
|
+
structure: "inline-classic",
|
|
10444
10779
|
variant: "classic",
|
|
10445
|
-
|
|
10780
|
+
defaultPositioning: "sticky",
|
|
10781
|
+
shrinkOnScroll: false
|
|
10782
|
+
},
|
|
10783
|
+
{
|
|
10784
|
+
id: asHeaderLayoutId("centered"),
|
|
10785
|
+
label: "Centered",
|
|
10786
|
+
description: "Logo centered above a balanced navigation row.",
|
|
10787
|
+
structure: "centered-stack",
|
|
10788
|
+
variant: "centered",
|
|
10789
|
+
defaultPositioning: "static",
|
|
10790
|
+
shrinkOnScroll: false,
|
|
10791
|
+
maxRecommendedNavItems: 5,
|
|
10792
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
10793
|
+
},
|
|
10794
|
+
{
|
|
10795
|
+
id: asHeaderLayoutId("floating"),
|
|
10796
|
+
label: "Floating",
|
|
10797
|
+
description: "Detached header chrome that sits over the opening section.",
|
|
10798
|
+
structure: "floating-shell",
|
|
10799
|
+
variant: "floating",
|
|
10800
|
+
defaultPositioning: "fixed",
|
|
10446
10801
|
shrinkOnScroll: true,
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
10451
|
-
|
|
10452
|
-
|
|
10453
|
-
|
|
10454
|
-
|
|
10455
|
-
|
|
10456
|
-
|
|
10457
|
-
|
|
10458
|
-
|
|
10459
|
-
|
|
10460
|
-
|
|
10461
|
-
|
|
10462
|
-
|
|
10463
|
-
|
|
10464
|
-
|
|
10465
|
-
|
|
10466
|
-
|
|
10467
|
-
|
|
10468
|
-
|
|
10469
|
-
|
|
10470
|
-
|
|
10471
|
-
|
|
10472
|
-
|
|
10473
|
-
|
|
10474
|
-
|
|
10475
|
-
|
|
10476
|
-
|
|
10477
|
-
|
|
10478
|
-
|
|
10479
|
-
|
|
10480
|
-
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
|
|
10484
|
-
|
|
10485
|
-
|
|
10486
|
-
|
|
10487
|
-
|
|
10488
|
-
|
|
10489
|
-
|
|
10490
|
-
|
|
10491
|
-
|
|
10492
|
-
|
|
10493
|
-
|
|
10494
|
-
|
|
10495
|
-
|
|
10496
|
-
|
|
10497
|
-
|
|
10498
|
-
|
|
10499
|
-
|
|
10500
|
-
|
|
10802
|
+
maxRecommendedNavItems: 5,
|
|
10803
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
10804
|
+
}
|
|
10805
|
+
];
|
|
10806
|
+
function supportedLayouts(ids) {
|
|
10807
|
+
return ids.map(asHeaderLayoutId);
|
|
10808
|
+
}
|
|
10809
|
+
var headerStyleCatalog = [
|
|
10810
|
+
{
|
|
10811
|
+
id: asHeaderStyleId("minimal"),
|
|
10812
|
+
label: "Minimal",
|
|
10813
|
+
description: "Quiet surface with simple color-change navigation.",
|
|
10814
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10815
|
+
navInteraction: "color-change",
|
|
10816
|
+
surface: "neutral",
|
|
10817
|
+
navTypography: "plain"
|
|
10818
|
+
},
|
|
10819
|
+
{
|
|
10820
|
+
id: asHeaderStyleId("fine-line"),
|
|
10821
|
+
label: "Fine Line",
|
|
10822
|
+
description: "Light surface with a crisp lower rule and underline hover.",
|
|
10823
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10824
|
+
navInteraction: "underline-grow",
|
|
10825
|
+
surface: "bordered",
|
|
10826
|
+
navTypography: "plain"
|
|
10827
|
+
},
|
|
10828
|
+
{
|
|
10829
|
+
id: asHeaderStyleId("soft-bar"),
|
|
10830
|
+
label: "Soft Bar",
|
|
10831
|
+
description: "Soft tinted surface with gentle pill hover states.",
|
|
10832
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10833
|
+
navInteraction: "pill-background",
|
|
10834
|
+
surface: "soft",
|
|
10835
|
+
navTypography: "plain"
|
|
10836
|
+
},
|
|
10837
|
+
{
|
|
10838
|
+
id: asHeaderStyleId("pill-nav"),
|
|
10839
|
+
label: "Pill Nav",
|
|
10840
|
+
description: "A calm pill navigation rail over a neutral header.",
|
|
10841
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10842
|
+
navInteraction: "pill-background",
|
|
10843
|
+
surface: "soft",
|
|
10844
|
+
navTypography: "plain"
|
|
10845
|
+
},
|
|
10846
|
+
{
|
|
10847
|
+
id: asHeaderStyleId("brand-bar"),
|
|
10848
|
+
label: "Brand Bar",
|
|
10849
|
+
description: "Solid brand surface with high-contrast navigation.",
|
|
10850
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10851
|
+
navInteraction: "color-change",
|
|
10852
|
+
surface: "brand-solid",
|
|
10853
|
+
navTypography: "brand-caps"
|
|
10854
|
+
},
|
|
10855
|
+
{
|
|
10856
|
+
id: asHeaderStyleId("brand-underline"),
|
|
10857
|
+
label: "Brand Underline",
|
|
10858
|
+
description: "Brand surface with underline-grow navigation.",
|
|
10859
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
10860
|
+
navInteraction: "underline-grow",
|
|
10861
|
+
surface: "brand-solid",
|
|
10862
|
+
navTypography: "brand-caps"
|
|
10863
|
+
},
|
|
10864
|
+
{
|
|
10865
|
+
id: asHeaderStyleId("brand-pill"),
|
|
10866
|
+
label: "Brand Pill",
|
|
10867
|
+
description: "Solid brand surface with rounded active and hover states.",
|
|
10868
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
10869
|
+
navInteraction: "pill-background",
|
|
10870
|
+
surface: "brand-solid",
|
|
10871
|
+
navTypography: "brand-caps"
|
|
10872
|
+
},
|
|
10873
|
+
{
|
|
10874
|
+
id: asHeaderStyleId("serif-line"),
|
|
10875
|
+
label: "Serif Line",
|
|
10876
|
+
description: "Typographic logo treatment with understated underline navigation.",
|
|
10877
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10878
|
+
navInteraction: "underline-grow",
|
|
10879
|
+
surface: "bordered",
|
|
10880
|
+
navTypography: "heading"
|
|
10881
|
+
},
|
|
10882
|
+
{
|
|
10883
|
+
id: asHeaderStyleId("flat-tabs"),
|
|
10884
|
+
label: "Flat Tabs",
|
|
10885
|
+
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
10886
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10887
|
+
navInteraction: "flat-block",
|
|
10888
|
+
surface: "bordered",
|
|
10889
|
+
navTypography: "quiet-caps"
|
|
10890
|
+
},
|
|
10891
|
+
{
|
|
10892
|
+
id: asHeaderStyleId("glass"),
|
|
10893
|
+
label: "Glass",
|
|
10894
|
+
description: "Translucent chrome with frosted navigation backing.",
|
|
10895
|
+
supportedLayoutIds: supportedLayouts(["classic", "floating"]),
|
|
10896
|
+
navInteraction: "glass-backed",
|
|
10897
|
+
surface: "floating",
|
|
10898
|
+
navTypography: "plain"
|
|
10899
|
+
},
|
|
10900
|
+
{
|
|
10901
|
+
id: asHeaderStyleId("minimal-surface"),
|
|
10902
|
+
label: "Clear Split",
|
|
10903
|
+
description: "Floating logo with transparent navigation and no shared shell.",
|
|
10904
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10905
|
+
navInteraction: "color-change",
|
|
10906
|
+
surface: "floating",
|
|
10907
|
+
navTypography: "plain"
|
|
10908
|
+
},
|
|
10909
|
+
{
|
|
10910
|
+
id: asHeaderStyleId("soft-shell"),
|
|
10911
|
+
label: "Soft Shell",
|
|
10912
|
+
description: "Floating rounded shell with soft pill navigation states.",
|
|
10913
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10914
|
+
navInteraction: "pill-background",
|
|
10915
|
+
surface: "floating",
|
|
10916
|
+
navTypography: "plain"
|
|
10917
|
+
},
|
|
10918
|
+
{
|
|
10919
|
+
id: asHeaderStyleId("split-glass"),
|
|
10920
|
+
label: "Split Glass",
|
|
10921
|
+
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
10922
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10923
|
+
navInteraction: "glass-backed",
|
|
10924
|
+
surface: "floating",
|
|
10925
|
+
navTypography: "quiet-caps"
|
|
10926
|
+
},
|
|
10927
|
+
{
|
|
10928
|
+
id: asHeaderStyleId("split-pill"),
|
|
10929
|
+
label: "Split Pill",
|
|
10930
|
+
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
10931
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10932
|
+
navInteraction: "pill-background",
|
|
10933
|
+
surface: "floating",
|
|
10934
|
+
navTypography: "heading"
|
|
10935
|
+
}
|
|
10936
|
+
];
|
|
10937
|
+
var headerLayoutsById = new Map(
|
|
10938
|
+
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
10939
|
+
);
|
|
10940
|
+
var headerStylesById = new Map(
|
|
10941
|
+
headerStyleCatalog.map((style) => [style.id, style])
|
|
10942
|
+
);
|
|
10943
|
+
var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
10944
|
+
[
|
|
10945
|
+
asHeaderLayoutId("classic"),
|
|
10946
|
+
headerStyleRepairChain([
|
|
10947
|
+
"minimal",
|
|
10948
|
+
"glass",
|
|
10949
|
+
"fine-line",
|
|
10950
|
+
"soft-bar",
|
|
10951
|
+
"pill-nav",
|
|
10952
|
+
"brand-bar",
|
|
10953
|
+
"brand-underline",
|
|
10954
|
+
"brand-pill",
|
|
10955
|
+
"serif-line",
|
|
10956
|
+
"flat-tabs"
|
|
10957
|
+
])
|
|
10958
|
+
],
|
|
10959
|
+
[
|
|
10960
|
+
asHeaderLayoutId("centered"),
|
|
10961
|
+
headerStyleRepairChain([
|
|
10962
|
+
"minimal",
|
|
10963
|
+
"fine-line",
|
|
10964
|
+
"soft-bar",
|
|
10965
|
+
"pill-nav",
|
|
10966
|
+
"brand-bar",
|
|
10967
|
+
"brand-pill",
|
|
10968
|
+
"serif-line",
|
|
10969
|
+
"flat-tabs"
|
|
10970
|
+
])
|
|
10971
|
+
],
|
|
10972
|
+
[
|
|
10973
|
+
asHeaderLayoutId("floating"),
|
|
10974
|
+
headerStyleRepairChain([
|
|
10975
|
+
"glass",
|
|
10976
|
+
"minimal-surface",
|
|
10977
|
+
"split-glass",
|
|
10978
|
+
"split-pill",
|
|
10979
|
+
"soft-shell",
|
|
10980
|
+
"brand-pill"
|
|
10981
|
+
])
|
|
10982
|
+
]
|
|
10983
|
+
]);
|
|
10984
|
+
function headerStyleRepairChain(values) {
|
|
10985
|
+
return values.map(asHeaderStyleId);
|
|
10986
|
+
}
|
|
10987
|
+
var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
10988
|
+
[
|
|
10989
|
+
[
|
|
10990
|
+
asHeaderStyleId("brand-bar"),
|
|
10991
|
+
headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
|
|
10992
|
+
],
|
|
10993
|
+
[
|
|
10994
|
+
asHeaderStyleId("brand-underline"),
|
|
10995
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
10996
|
+
],
|
|
10997
|
+
[
|
|
10998
|
+
asHeaderStyleId("brand-pill"),
|
|
10999
|
+
headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
|
|
11000
|
+
],
|
|
11001
|
+
[
|
|
11002
|
+
asHeaderStyleId("pill-nav"),
|
|
11003
|
+
headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
|
|
11004
|
+
],
|
|
11005
|
+
[
|
|
11006
|
+
asHeaderStyleId("flat-tabs"),
|
|
11007
|
+
headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
|
|
11008
|
+
],
|
|
11009
|
+
[
|
|
11010
|
+
asHeaderStyleId("serif-line"),
|
|
11011
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
11012
|
+
],
|
|
11013
|
+
[
|
|
11014
|
+
asHeaderStyleId("glass"),
|
|
11015
|
+
headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
|
|
11016
|
+
],
|
|
11017
|
+
[
|
|
11018
|
+
asHeaderStyleId("soft-shell"),
|
|
11019
|
+
headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
|
|
11020
|
+
],
|
|
11021
|
+
[
|
|
11022
|
+
asHeaderStyleId("minimal-surface"),
|
|
11023
|
+
headerStyleRepairChain(["minimal-surface", "minimal"])
|
|
11024
|
+
],
|
|
11025
|
+
[
|
|
11026
|
+
asHeaderStyleId("split-glass"),
|
|
11027
|
+
headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
|
|
11028
|
+
],
|
|
11029
|
+
[
|
|
11030
|
+
asHeaderStyleId("split-pill"),
|
|
11031
|
+
headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
|
|
11032
|
+
],
|
|
11033
|
+
[
|
|
11034
|
+
asHeaderStyleId("fine-line"),
|
|
11035
|
+
headerStyleRepairChain(["fine-line", "minimal"])
|
|
11036
|
+
],
|
|
11037
|
+
[
|
|
11038
|
+
asHeaderStyleId("soft-bar"),
|
|
11039
|
+
headerStyleRepairChain(["soft-bar", "minimal"])
|
|
11040
|
+
],
|
|
11041
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
11042
|
+
]
|
|
11043
|
+
);
|
|
11044
|
+
var legacyHeaderLookAliases = [
|
|
11045
|
+
{
|
|
11046
|
+
lookId: asHeaderLookId("clean-base"),
|
|
11047
|
+
selection: {
|
|
11048
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11049
|
+
styleId: asHeaderStyleId("minimal")
|
|
11050
|
+
}
|
|
11051
|
+
},
|
|
11052
|
+
{
|
|
11053
|
+
lookId: asHeaderLookId("brand-solid"),
|
|
11054
|
+
selection: {
|
|
11055
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11056
|
+
styleId: asHeaderStyleId("brand-bar")
|
|
11057
|
+
}
|
|
11058
|
+
},
|
|
11059
|
+
{
|
|
11060
|
+
lookId: asHeaderLookId("serif-line"),
|
|
11061
|
+
selection: {
|
|
11062
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
11063
|
+
styleId: asHeaderStyleId("serif-line")
|
|
11064
|
+
}
|
|
11065
|
+
},
|
|
11066
|
+
{
|
|
11067
|
+
lookId: asHeaderLookId("centered-calm"),
|
|
11068
|
+
selection: {
|
|
11069
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
11070
|
+
styleId: asHeaderStyleId("minimal")
|
|
11071
|
+
}
|
|
11072
|
+
},
|
|
11073
|
+
{
|
|
11074
|
+
lookId: asHeaderLookId("practical-utility"),
|
|
11075
|
+
selection: {
|
|
11076
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11077
|
+
styleId: asHeaderStyleId("flat-tabs")
|
|
11078
|
+
}
|
|
11079
|
+
},
|
|
11080
|
+
{
|
|
11081
|
+
lookId: asHeaderLookId("minimal-transparent"),
|
|
11082
|
+
selection: {
|
|
11083
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11084
|
+
styleId: asHeaderStyleId("minimal")
|
|
11085
|
+
}
|
|
11086
|
+
},
|
|
11087
|
+
{
|
|
11088
|
+
lookId: asHeaderLookId("transparent-overlay"),
|
|
11089
|
+
selection: {
|
|
11090
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
11091
|
+
styleId: asHeaderStyleId("glass")
|
|
11092
|
+
}
|
|
11093
|
+
},
|
|
11094
|
+
{
|
|
11095
|
+
lookId: asHeaderLookId("floating-glass"),
|
|
11096
|
+
selection: {
|
|
11097
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
11098
|
+
styleId: asHeaderStyleId("glass")
|
|
11099
|
+
}
|
|
11100
|
+
}
|
|
11101
|
+
];
|
|
11102
|
+
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
11103
|
+
function getHeaderStyle(id) {
|
|
11104
|
+
return headerStylesById.get(id) ?? null;
|
|
11105
|
+
}
|
|
11106
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
11107
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
11108
|
+
}
|
|
11109
|
+
function getHeaderStyleOrThrow(id) {
|
|
11110
|
+
const style = getHeaderStyle(id);
|
|
11111
|
+
if (!style) {
|
|
11112
|
+
throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
11113
|
+
}
|
|
11114
|
+
return style;
|
|
11115
|
+
}
|
|
11116
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
11117
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
11118
|
+
}
|
|
11119
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
11120
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
11121
|
+
(styleId) => {
|
|
11122
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
11123
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
11124
|
+
}
|
|
11125
|
+
);
|
|
11126
|
+
}
|
|
11127
|
+
function solidBrandHeader(theme) {
|
|
11128
|
+
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
11129
|
+
return {
|
|
11130
|
+
...baseHeader(theme),
|
|
11131
|
+
variant: "classic",
|
|
11132
|
+
positioning: "sticky",
|
|
11133
|
+
shrinkOnScroll: true,
|
|
11134
|
+
background: {
|
|
11135
|
+
type: "color",
|
|
11136
|
+
color: "primary"
|
|
11137
|
+
},
|
|
11138
|
+
textColor: "primaryForeground",
|
|
11139
|
+
navColor: "primaryForeground",
|
|
11140
|
+
navStyle: "underline-grow",
|
|
11141
|
+
navWeight: "bold",
|
|
11142
|
+
navLinkStyle: {
|
|
11143
|
+
typography: "body",
|
|
11144
|
+
fontWeight: "bold",
|
|
11145
|
+
textTransform: "uppercase",
|
|
11146
|
+
italic: false,
|
|
11147
|
+
colorToken: "primaryForeground",
|
|
11148
|
+
hoverColorToken: "secondary",
|
|
11149
|
+
textSize: "sm",
|
|
11150
|
+
letterSpacing: "wider",
|
|
11151
|
+
padding: "compact",
|
|
11152
|
+
paddingX: "compact",
|
|
11153
|
+
borderRadius: "none",
|
|
11154
|
+
effects: {
|
|
11155
|
+
hover: [
|
|
11156
|
+
{
|
|
11157
|
+
effectId: "text-color-change",
|
|
11158
|
+
options: { hoverColorToken: "secondary" }
|
|
11159
|
+
},
|
|
11160
|
+
{
|
|
11161
|
+
effectId: "nav-underline",
|
|
11162
|
+
options: { style: "grow", colorToken: "secondary" }
|
|
11163
|
+
}
|
|
11164
|
+
]
|
|
11165
|
+
}
|
|
11166
|
+
},
|
|
11167
|
+
dropdownStyle: {
|
|
11168
|
+
background: "primary-700",
|
|
11169
|
+
textColor: "primaryForeground",
|
|
11170
|
+
borderColor: null,
|
|
11171
|
+
shadow: "md",
|
|
11172
|
+
borderRadius: "md",
|
|
11173
|
+
hoverBackground: "primary-900",
|
|
11174
|
+
hoverTextColor: "secondary",
|
|
11175
|
+
textTransform: "uppercase",
|
|
11176
|
+
letterSpacing: "wider",
|
|
11177
|
+
fontWeight: "bold",
|
|
11178
|
+
textSize: "sm"
|
|
11179
|
+
},
|
|
11180
|
+
border: {
|
|
11181
|
+
style: "solid",
|
|
11182
|
+
width: "none",
|
|
11183
|
+
position: "none"
|
|
11184
|
+
},
|
|
11185
|
+
logoText: {
|
|
11186
|
+
hideOnShrink: true,
|
|
11187
|
+
mobileMaxWidth: "sm",
|
|
11188
|
+
mobileWrapLines: 2
|
|
11189
|
+
},
|
|
11190
|
+
ctaGap: "compact",
|
|
11191
|
+
ctaTreatment: "inverted",
|
|
11192
|
+
...ctaVariant ? { ctaVariant } : {}
|
|
11193
|
+
};
|
|
10501
11194
|
}
|
|
10502
11195
|
function cleanBaseHeader(theme) {
|
|
10503
11196
|
return {
|
|
@@ -10523,10 +11216,10 @@ function cleanBaseHeader(theme) {
|
|
|
10523
11216
|
ctaGap: "default"
|
|
10524
11217
|
};
|
|
10525
11218
|
}
|
|
10526
|
-
function
|
|
11219
|
+
function serifLineHeader(theme) {
|
|
10527
11220
|
return {
|
|
10528
11221
|
...baseHeader(theme),
|
|
10529
|
-
variant: "
|
|
11222
|
+
variant: "centered",
|
|
10530
11223
|
positioning: "sticky",
|
|
10531
11224
|
shrinkOnScroll: false,
|
|
10532
11225
|
background: {
|
|
@@ -10673,6 +11366,11 @@ var headerLookCatalog = [
|
|
|
10673
11366
|
label: "Clean base",
|
|
10674
11367
|
visualTreatment: "solid-neutral",
|
|
10675
11368
|
layoutBehavior: "sticky",
|
|
11369
|
+
configuration: {
|
|
11370
|
+
structure: "inline-classic",
|
|
11371
|
+
treatment: "solid-neutral",
|
|
11372
|
+
behavior: "sticky"
|
|
11373
|
+
},
|
|
10676
11374
|
openingRequirement: "none",
|
|
10677
11375
|
compile: cleanBaseHeader
|
|
10678
11376
|
},
|
|
@@ -10681,23 +11379,38 @@ var headerLookCatalog = [
|
|
|
10681
11379
|
label: "Brand solid",
|
|
10682
11380
|
visualTreatment: "solid-brand",
|
|
10683
11381
|
layoutBehavior: "sticky-shrink",
|
|
11382
|
+
configuration: {
|
|
11383
|
+
structure: "inline-classic",
|
|
11384
|
+
treatment: "solid-brand",
|
|
11385
|
+
behavior: "sticky-shrink"
|
|
11386
|
+
},
|
|
10684
11387
|
openingRequirement: "none",
|
|
10685
11388
|
compile: solidBrandHeader
|
|
10686
11389
|
},
|
|
10687
11390
|
{
|
|
10688
|
-
id: asHeaderLookId("
|
|
10689
|
-
label: "
|
|
10690
|
-
visualTreatment: "light-
|
|
11391
|
+
id: asHeaderLookId("serif-line"),
|
|
11392
|
+
label: "Serif line",
|
|
11393
|
+
visualTreatment: "light-serif",
|
|
10691
11394
|
layoutBehavior: "sticky",
|
|
11395
|
+
configuration: {
|
|
11396
|
+
structure: "centered-stack",
|
|
11397
|
+
treatment: "light-serif",
|
|
11398
|
+
behavior: "sticky"
|
|
11399
|
+
},
|
|
10692
11400
|
openingRequirement: "none",
|
|
10693
11401
|
maxRecommendedNavItems: 6,
|
|
10694
|
-
compile:
|
|
11402
|
+
compile: serifLineHeader
|
|
10695
11403
|
},
|
|
10696
11404
|
{
|
|
10697
11405
|
id: asHeaderLookId("centered-calm"),
|
|
10698
11406
|
label: "Centered calm",
|
|
10699
|
-
visualTreatment: "light-
|
|
11407
|
+
visualTreatment: "light-serif",
|
|
10700
11408
|
layoutBehavior: "normal-flow",
|
|
11409
|
+
configuration: {
|
|
11410
|
+
structure: "centered-stack",
|
|
11411
|
+
treatment: "light-serif",
|
|
11412
|
+
behavior: "normal-flow"
|
|
11413
|
+
},
|
|
10701
11414
|
openingRequirement: "none",
|
|
10702
11415
|
maxRecommendedNavItems: 5,
|
|
10703
11416
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
@@ -10708,6 +11421,11 @@ var headerLookCatalog = [
|
|
|
10708
11421
|
label: "Practical utility",
|
|
10709
11422
|
visualTreatment: "solid-neutral",
|
|
10710
11423
|
layoutBehavior: "sticky-shrink",
|
|
11424
|
+
configuration: {
|
|
11425
|
+
structure: "inline-classic",
|
|
11426
|
+
treatment: "solid-neutral",
|
|
11427
|
+
behavior: "sticky-shrink"
|
|
11428
|
+
},
|
|
10711
11429
|
openingRequirement: "none",
|
|
10712
11430
|
requiresProminentCta: true,
|
|
10713
11431
|
compile: practicalUtilityHeader
|
|
@@ -10717,6 +11435,11 @@ var headerLookCatalog = [
|
|
|
10717
11435
|
label: "Minimal transparent",
|
|
10718
11436
|
visualTreatment: "minimal-transparent",
|
|
10719
11437
|
layoutBehavior: "normal-flow",
|
|
11438
|
+
configuration: {
|
|
11439
|
+
structure: "inline-classic",
|
|
11440
|
+
treatment: "minimal-transparent",
|
|
11441
|
+
behavior: "normal-flow"
|
|
11442
|
+
},
|
|
10720
11443
|
openingRequirement: "reserved-space-ok",
|
|
10721
11444
|
compile: minimalTransparentHeader
|
|
10722
11445
|
},
|
|
@@ -10725,6 +11448,11 @@ var headerLookCatalog = [
|
|
|
10725
11448
|
label: "Transparent overlay",
|
|
10726
11449
|
visualTreatment: "transparent-overlay",
|
|
10727
11450
|
layoutBehavior: "fixed-overlay",
|
|
11451
|
+
configuration: {
|
|
11452
|
+
structure: "inline-classic",
|
|
11453
|
+
treatment: "transparent-overlay",
|
|
11454
|
+
behavior: "fixed-overlay"
|
|
11455
|
+
},
|
|
10728
11456
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
10729
11457
|
maxRecommendedNavItems: 5,
|
|
10730
11458
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -10735,6 +11463,11 @@ var headerLookCatalog = [
|
|
|
10735
11463
|
label: "Floating glass",
|
|
10736
11464
|
visualTreatment: "floating-glass",
|
|
10737
11465
|
layoutBehavior: "fixed-floating",
|
|
11466
|
+
configuration: {
|
|
11467
|
+
structure: "floating-shell",
|
|
11468
|
+
treatment: "floating-glass",
|
|
11469
|
+
behavior: "fixed-floating"
|
|
11470
|
+
},
|
|
10738
11471
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
10739
11472
|
maxRecommendedNavItems: 5,
|
|
10740
11473
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -10742,9 +11475,17 @@ var headerLookCatalog = [
|
|
|
10742
11475
|
}
|
|
10743
11476
|
];
|
|
10744
11477
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
11478
|
+
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
11479
|
+
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
11480
|
+
var allowedHeaderConfigurationKeys = new Set(
|
|
11481
|
+
headerLookCatalog.map((look) => headerConfigurationKey(look.configuration))
|
|
11482
|
+
);
|
|
10745
11483
|
var headerLooksById = new Map(
|
|
10746
11484
|
headerLookCatalog.map((look) => [look.id, look])
|
|
10747
11485
|
);
|
|
11486
|
+
function headerConfigurationKey(configuration) {
|
|
11487
|
+
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
11488
|
+
}
|
|
10748
11489
|
|
|
10749
11490
|
// ../theme-core/src/site-styles/footerLooks.ts
|
|
10750
11491
|
function asFooterLookId(value) {
|
|
@@ -10877,6 +11618,264 @@ var advancedDesignOptionCatalog = {
|
|
|
10877
11618
|
detachedCustom: true
|
|
10878
11619
|
};
|
|
10879
11620
|
|
|
11621
|
+
// ../theme-core/src/site-styles/typographyPresets.ts
|
|
11622
|
+
var bodyReadablePolicy = {
|
|
11623
|
+
recommendedCategories: ["sans-serif", "serif"],
|
|
11624
|
+
allowedCategories: ["sans-serif", "serif"],
|
|
11625
|
+
requiresItalicForBody: true,
|
|
11626
|
+
requiresBoldForBody: true
|
|
11627
|
+
};
|
|
11628
|
+
var headingFlexiblePolicy = {
|
|
11629
|
+
recommendedCategories: ["sans-serif", "serif", "display"],
|
|
11630
|
+
allowedCategories: ["sans-serif", "serif", "display"]
|
|
11631
|
+
};
|
|
11632
|
+
var displayHeadingPolicy = {
|
|
11633
|
+
recommendedCategories: ["display", "sans-serif", "serif"],
|
|
11634
|
+
allowedCategories: ["display", "sans-serif", "serif"]
|
|
11635
|
+
};
|
|
11636
|
+
function asTypographyPresetId(value) {
|
|
11637
|
+
if (!value.startsWith("typography-preset:")) {
|
|
11638
|
+
throw new Error(`TypographyPresetId must start with "typography-preset:". Received: ${value}`);
|
|
11639
|
+
}
|
|
11640
|
+
return value;
|
|
11641
|
+
}
|
|
11642
|
+
function defineTypographyPreset(preset2) {
|
|
11643
|
+
return {
|
|
11644
|
+
...preset2,
|
|
11645
|
+
id: asTypographyPresetId(preset2.id)
|
|
11646
|
+
};
|
|
11647
|
+
}
|
|
11648
|
+
var modernSansTypography = {
|
|
11649
|
+
body: {
|
|
11650
|
+
family: "Inter, system-ui, sans-serif",
|
|
11651
|
+
size: "md",
|
|
11652
|
+
weight: "regular",
|
|
11653
|
+
lineHeight: "relaxed",
|
|
11654
|
+
letterSpacing: "normal"
|
|
11655
|
+
},
|
|
11656
|
+
headings: {
|
|
11657
|
+
default: {
|
|
11658
|
+
family: "Inter, system-ui, sans-serif",
|
|
11659
|
+
weight: "semibold",
|
|
11660
|
+
lineHeight: "normal",
|
|
11661
|
+
letterSpacing: "tight",
|
|
11662
|
+
italic: null,
|
|
11663
|
+
case: null
|
|
11664
|
+
},
|
|
11665
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11666
|
+
h2: { size: "lg", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11667
|
+
h3: { size: "md", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
11668
|
+
},
|
|
11669
|
+
scale: "balanced"
|
|
11670
|
+
};
|
|
11671
|
+
var warmRoundedTypography = {
|
|
11672
|
+
body: {
|
|
11673
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
11674
|
+
size: "lg",
|
|
11675
|
+
weight: "regular",
|
|
11676
|
+
lineHeight: "relaxed",
|
|
11677
|
+
letterSpacing: "normal"
|
|
11678
|
+
},
|
|
11679
|
+
headings: {
|
|
11680
|
+
default: {
|
|
11681
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
11682
|
+
weight: "bold",
|
|
11683
|
+
lineHeight: "normal",
|
|
11684
|
+
letterSpacing: "normal",
|
|
11685
|
+
italic: null,
|
|
11686
|
+
case: null
|
|
11687
|
+
},
|
|
11688
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11689
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11690
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11691
|
+
},
|
|
11692
|
+
scale: "balanced"
|
|
11693
|
+
};
|
|
11694
|
+
var editorialSerifTypography = {
|
|
11695
|
+
body: {
|
|
11696
|
+
family: "Lora, Georgia, serif",
|
|
11697
|
+
size: "lg",
|
|
11698
|
+
weight: "regular",
|
|
11699
|
+
lineHeight: "loose",
|
|
11700
|
+
letterSpacing: "normal"
|
|
11701
|
+
},
|
|
11702
|
+
headings: {
|
|
11703
|
+
default: {
|
|
11704
|
+
family: "Playfair Display, Georgia, serif",
|
|
11705
|
+
weight: "semibold",
|
|
11706
|
+
lineHeight: "normal",
|
|
11707
|
+
letterSpacing: "tight",
|
|
11708
|
+
italic: null,
|
|
11709
|
+
case: null
|
|
11710
|
+
},
|
|
11711
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11712
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11713
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: true }
|
|
11714
|
+
},
|
|
11715
|
+
scale: "spacious"
|
|
11716
|
+
};
|
|
11717
|
+
var classicSerifTypography = {
|
|
11718
|
+
body: {
|
|
11719
|
+
family: "Libre Baskerville, Georgia, serif",
|
|
11720
|
+
size: "md",
|
|
11721
|
+
weight: "regular",
|
|
11722
|
+
lineHeight: "relaxed",
|
|
11723
|
+
letterSpacing: "normal"
|
|
11724
|
+
},
|
|
11725
|
+
headings: {
|
|
11726
|
+
default: {
|
|
11727
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
11728
|
+
weight: "semibold",
|
|
11729
|
+
lineHeight: "normal",
|
|
11730
|
+
letterSpacing: "normal",
|
|
11731
|
+
italic: null,
|
|
11732
|
+
case: null
|
|
11733
|
+
},
|
|
11734
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11735
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11736
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11737
|
+
},
|
|
11738
|
+
scale: "balanced"
|
|
11739
|
+
};
|
|
11740
|
+
var luxeContrastTypography = {
|
|
11741
|
+
body: {
|
|
11742
|
+
family: "Manrope, system-ui, sans-serif",
|
|
11743
|
+
size: "md",
|
|
11744
|
+
weight: "regular",
|
|
11745
|
+
lineHeight: "relaxed",
|
|
11746
|
+
letterSpacing: "normal"
|
|
11747
|
+
},
|
|
11748
|
+
headings: {
|
|
11749
|
+
default: {
|
|
11750
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
11751
|
+
weight: "semibold",
|
|
11752
|
+
lineHeight: "normal",
|
|
11753
|
+
letterSpacing: "tight",
|
|
11754
|
+
italic: null,
|
|
11755
|
+
case: null
|
|
11756
|
+
},
|
|
11757
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11758
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11759
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11760
|
+
},
|
|
11761
|
+
scale: "spacious"
|
|
11762
|
+
};
|
|
11763
|
+
var boldDisplayTypography = {
|
|
11764
|
+
body: {
|
|
11765
|
+
family: "Manrope, system-ui, sans-serif",
|
|
11766
|
+
size: "lg",
|
|
11767
|
+
weight: "regular",
|
|
11768
|
+
lineHeight: "relaxed",
|
|
11769
|
+
letterSpacing: "normal"
|
|
11770
|
+
},
|
|
11771
|
+
headings: {
|
|
11772
|
+
default: {
|
|
11773
|
+
family: '"TAN - PEARL", sans-serif',
|
|
11774
|
+
weight: "bold",
|
|
11775
|
+
lineHeight: "normal",
|
|
11776
|
+
letterSpacing: "tight",
|
|
11777
|
+
colorToken: "primary",
|
|
11778
|
+
italic: null,
|
|
11779
|
+
case: null
|
|
11780
|
+
},
|
|
11781
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11782
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11783
|
+
h3: { size: "md", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
11784
|
+
},
|
|
11785
|
+
scale: "balanced"
|
|
11786
|
+
};
|
|
11787
|
+
var typographyPresets = [
|
|
11788
|
+
defineTypographyPreset({
|
|
11789
|
+
id: "typography-preset:modern-sans",
|
|
11790
|
+
name: "Modern Sans",
|
|
11791
|
+
description: "Crisp, neutral type for clear service pages and practical editorial structure.",
|
|
11792
|
+
defaultFonts: { body: "Inter, system-ui, sans-serif", heading: "Inter, system-ui, sans-serif" },
|
|
11793
|
+
recommendedFonts: {
|
|
11794
|
+
body: ["Inter", "Source Sans 3", "IBM Plex Sans"],
|
|
11795
|
+
heading: ["Inter", "Manrope", "Source Sans 3"]
|
|
11796
|
+
},
|
|
11797
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
11798
|
+
typography: modernSansTypography
|
|
11799
|
+
}),
|
|
11800
|
+
defineTypographyPreset({
|
|
11801
|
+
id: "typography-preset:warm-rounded",
|
|
11802
|
+
name: "Warm Rounded",
|
|
11803
|
+
description: "Soft, friendly type for welcoming studios, classes, and community businesses.",
|
|
11804
|
+
defaultFonts: { body: "Nunito Sans, system-ui, sans-serif", heading: "Nunito Sans, system-ui, sans-serif" },
|
|
11805
|
+
recommendedFonts: {
|
|
11806
|
+
body: ["Nunito Sans", "Atkinson Hyperlegible", "Lato"],
|
|
11807
|
+
heading: ["Nunito Sans", "Quicksand", "Manrope"]
|
|
11808
|
+
},
|
|
11809
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
11810
|
+
typography: warmRoundedTypography
|
|
11811
|
+
}),
|
|
11812
|
+
defineTypographyPreset({
|
|
11813
|
+
id: "typography-preset:editorial-serif",
|
|
11814
|
+
name: "Editorial Serif",
|
|
11815
|
+
description: "Story-led type with warm reading rhythm and expressive headings.",
|
|
11816
|
+
defaultFonts: { body: "Lora, Georgia, serif", heading: "Playfair Display, Georgia, serif" },
|
|
11817
|
+
recommendedFonts: {
|
|
11818
|
+
body: ["Lora", "Source Serif 4", "Libre Baskerville"],
|
|
11819
|
+
heading: ["Playfair Display", "Cormorant Garamond", "Fraunces"]
|
|
11820
|
+
},
|
|
11821
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11822
|
+
typography: editorialSerifTypography
|
|
11823
|
+
}),
|
|
11824
|
+
defineTypographyPreset({
|
|
11825
|
+
id: "typography-preset:classic-serif",
|
|
11826
|
+
name: "Classic Serif",
|
|
11827
|
+
description: "Measured, polished type for premium and established offers.",
|
|
11828
|
+
defaultFonts: { body: "Libre Baskerville, Georgia, serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
11829
|
+
recommendedFonts: {
|
|
11830
|
+
body: ["Libre Baskerville", "Source Serif 4", "Lora"],
|
|
11831
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Libre Baskerville"]
|
|
11832
|
+
},
|
|
11833
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11834
|
+
typography: classicSerifTypography
|
|
11835
|
+
}),
|
|
11836
|
+
defineTypographyPreset({
|
|
11837
|
+
id: "typography-preset:luxe-contrast",
|
|
11838
|
+
name: "Luxe Contrast",
|
|
11839
|
+
description: "A restrained sans body paired with elegant high-contrast headings.",
|
|
11840
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
11841
|
+
recommendedFonts: {
|
|
11842
|
+
body: ["Manrope", "Inter", "Source Sans 3"],
|
|
11843
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Bodoni Moda"]
|
|
11844
|
+
},
|
|
11845
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11846
|
+
typography: luxeContrastTypography
|
|
11847
|
+
}),
|
|
11848
|
+
defineTypographyPreset({
|
|
11849
|
+
id: "typography-preset:bold-display",
|
|
11850
|
+
name: "Bold Display",
|
|
11851
|
+
description: "Punchy display headings with readable sans body copy for branded launches.",
|
|
11852
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: '"TAN - PEARL", sans-serif' },
|
|
11853
|
+
recommendedFonts: {
|
|
11854
|
+
body: ["Manrope", "Inter", "Space Grotesk"],
|
|
11855
|
+
heading: ["Anton", "Bebas Neue", "Archivo Black"]
|
|
11856
|
+
},
|
|
11857
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11858
|
+
typography: boldDisplayTypography,
|
|
11859
|
+
heroTypography: {
|
|
11860
|
+
headlineSize: "6xl",
|
|
11861
|
+
headlineLineHeight: "tight",
|
|
11862
|
+
subheadlineSize: "editorial",
|
|
11863
|
+
subheadlineLineHeight: "normal",
|
|
11864
|
+
microHeadlineSize: "6xl",
|
|
11865
|
+
microHeadlineLineHeight: "tight",
|
|
11866
|
+
microSubheadlineSize: "xl",
|
|
11867
|
+
microSubheadlineLineHeight: "normal",
|
|
11868
|
+
responsive: {
|
|
11869
|
+
tablet: { headlineSize: "5xl" },
|
|
11870
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
11871
|
+
}
|
|
11872
|
+
}
|
|
11873
|
+
})
|
|
11874
|
+
];
|
|
11875
|
+
var typographyPresetsById = new Map(
|
|
11876
|
+
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
11877
|
+
);
|
|
11878
|
+
|
|
10880
11879
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
10881
11880
|
var curatedSiteStyleIdValues = [
|
|
10882
11881
|
"site-style:calm-studio",
|
|
@@ -10889,6 +11888,7 @@ var curatedSiteStyleIdValues = [
|
|
|
10889
11888
|
"site-style:personal-retreat-journal",
|
|
10890
11889
|
"site-style:tactile-workshop",
|
|
10891
11890
|
"site-style:modern-wellness",
|
|
11891
|
+
"site-style:soft-earth",
|
|
10892
11892
|
"site-style:bold-launch",
|
|
10893
11893
|
"site-style:south-west-twerk-school"
|
|
10894
11894
|
];
|
|
@@ -10954,26 +11954,45 @@ var expressiveUnderlineInputs = {
|
|
|
10954
11954
|
}
|
|
10955
11955
|
};
|
|
10956
11956
|
function uniqueContentFrameKinds() {
|
|
10957
|
-
const kinds = [
|
|
10958
|
-
|
|
10959
|
-
|
|
11957
|
+
const kinds = [
|
|
11958
|
+
...new Set(
|
|
11959
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
11960
|
+
)
|
|
11961
|
+
];
|
|
10960
11962
|
const firstKind = kinds[0];
|
|
10961
11963
|
if (!firstKind) {
|
|
10962
|
-
throw new Error(
|
|
11964
|
+
throw new Error(
|
|
11965
|
+
"Expected generated design option catalog to expose at least one content frame kind."
|
|
11966
|
+
);
|
|
10963
11967
|
}
|
|
10964
11968
|
return [firstKind, ...kinds.slice(1)];
|
|
10965
11969
|
}
|
|
10966
11970
|
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
10967
11971
|
function defineCuratedSiteStyle(input) {
|
|
11972
|
+
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
11973
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
11974
|
+
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
11975
|
+
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
11976
|
+
if (!typographyPresetChoices.some(
|
|
11977
|
+
(choice) => choice.id === defaultTypographyPresetId
|
|
11978
|
+
)) {
|
|
11979
|
+
throw new Error(
|
|
11980
|
+
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
11981
|
+
);
|
|
11982
|
+
}
|
|
10968
11983
|
return {
|
|
10969
11984
|
id: asSiteStyleId(input.id),
|
|
10970
11985
|
name: input.name,
|
|
10971
11986
|
description: input.description,
|
|
10972
11987
|
generationBrief: input.generationBrief,
|
|
10973
11988
|
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
10974
|
-
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
11989
|
+
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
11990
|
+
kind: "explicit_only"
|
|
11991
|
+
},
|
|
10975
11992
|
template: {
|
|
10976
|
-
id: asDesignSystemTemplateId(
|
|
11993
|
+
id: asDesignSystemTemplateId(
|
|
11994
|
+
`template:${input.id.replace("site-style:", "")}`
|
|
11995
|
+
),
|
|
10977
11996
|
name: input.name,
|
|
10978
11997
|
version: 1,
|
|
10979
11998
|
tokenRecipes: input.tokenRecipes,
|
|
@@ -10985,11 +12004,27 @@ function defineCuratedSiteStyle(input) {
|
|
|
10985
12004
|
},
|
|
10986
12005
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
10987
12006
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
10988
|
-
|
|
12007
|
+
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
12008
|
+
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
12009
|
+
styleId: asHeaderStyleId(input.defaultHeaderSelection.styleId)
|
|
12010
|
+
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
12011
|
+
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
12012
|
+
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
12013
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
12014
|
+
(selection) => ({
|
|
12015
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
12016
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
12017
|
+
})
|
|
12018
|
+
),
|
|
12019
|
+
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
10989
12020
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
10990
|
-
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
12021
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
12022
|
+
asFooterLookId
|
|
12023
|
+
),
|
|
10991
12024
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
10992
|
-
paletteVariantChoices: input.paletteVariantChoices
|
|
12025
|
+
paletteVariantChoices: input.paletteVariantChoices,
|
|
12026
|
+
typographyPresetChoices,
|
|
12027
|
+
defaultTypographyPresetId
|
|
10993
12028
|
};
|
|
10994
12029
|
}
|
|
10995
12030
|
function buttonChoice(id, note) {
|
|
@@ -10998,6 +12033,87 @@ function buttonChoice(id, note) {
|
|
|
10998
12033
|
function paletteChoice(id, note) {
|
|
10999
12034
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
11000
12035
|
}
|
|
12036
|
+
function headerLayoutChoice(id, note) {
|
|
12037
|
+
return note ? { id: asHeaderLayoutId(id), note } : { id: asHeaderLayoutId(id) };
|
|
12038
|
+
}
|
|
12039
|
+
function headerStyleChoice(id, note) {
|
|
12040
|
+
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
12041
|
+
}
|
|
12042
|
+
function unbrandHeaderLayoutId(id) {
|
|
12043
|
+
return id;
|
|
12044
|
+
}
|
|
12045
|
+
function uniqueHeaderLayoutChoices(choices) {
|
|
12046
|
+
const seen = /* @__PURE__ */ new Set();
|
|
12047
|
+
const unique = choices.filter((choice) => {
|
|
12048
|
+
if (seen.has(choice.id)) return false;
|
|
12049
|
+
seen.add(choice.id);
|
|
12050
|
+
return true;
|
|
12051
|
+
});
|
|
12052
|
+
const first = unique[0];
|
|
12053
|
+
if (!first) {
|
|
12054
|
+
throw new Error("Expected at least one curated header layout choice.");
|
|
12055
|
+
}
|
|
12056
|
+
return [first, ...unique.slice(1)];
|
|
12057
|
+
}
|
|
12058
|
+
function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
12059
|
+
const first = choices[0] ?? {
|
|
12060
|
+
id: getCompatibleHeaderStyleIds(fallbackLayoutId)[0] ?? asHeaderStyleId("minimal")
|
|
12061
|
+
};
|
|
12062
|
+
return [first, ...choices.slice(1)];
|
|
12063
|
+
}
|
|
12064
|
+
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
12065
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
12066
|
+
(selection) => Boolean(selection)
|
|
12067
|
+
);
|
|
12068
|
+
const defaultHeaderSelection = selections[0] ?? {
|
|
12069
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12070
|
+
styleId: asHeaderStyleId("minimal")
|
|
12071
|
+
};
|
|
12072
|
+
const layoutChoices = uniqueHeaderLayoutChoices(
|
|
12073
|
+
selections.map((selection) => headerLayoutChoice(selection.layoutId))
|
|
12074
|
+
);
|
|
12075
|
+
const stylesByLayout = {};
|
|
12076
|
+
for (const layoutChoice of layoutChoices) {
|
|
12077
|
+
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
12078
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
|
|
12079
|
+
}
|
|
12080
|
+
return {
|
|
12081
|
+
defaultHeaderSelection,
|
|
12082
|
+
recommendedHeaderLayoutChoices: layoutChoices,
|
|
12083
|
+
recommendedHeaderStyleChoicesByLayout: stylesByLayout
|
|
12084
|
+
};
|
|
12085
|
+
}
|
|
12086
|
+
function typographyChoice(id, note) {
|
|
12087
|
+
return note ? { id: asTypographyPresetId(id), note } : { id: asTypographyPresetId(id) };
|
|
12088
|
+
}
|
|
12089
|
+
function defaultTypographyPresetChoicesForRecipe(recipe) {
|
|
12090
|
+
switch (recipe) {
|
|
12091
|
+
case "clean-sans":
|
|
12092
|
+
return [
|
|
12093
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12094
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
12095
|
+
typographyChoice("typography-preset:bold-display")
|
|
12096
|
+
];
|
|
12097
|
+
case "friendly-sans":
|
|
12098
|
+
return [
|
|
12099
|
+
typographyChoice("typography-preset:warm-rounded"),
|
|
12100
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12101
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
12102
|
+
];
|
|
12103
|
+
case "serif-editorial":
|
|
12104
|
+
return [
|
|
12105
|
+
typographyChoice("typography-preset:editorial-serif"),
|
|
12106
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
12107
|
+
typographyChoice("typography-preset:warm-rounded")
|
|
12108
|
+
];
|
|
12109
|
+
case "classic-serif":
|
|
12110
|
+
return [
|
|
12111
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
12112
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
12113
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
12114
|
+
];
|
|
12115
|
+
}
|
|
12116
|
+
}
|
|
11001
12117
|
var curatedSiteStyles = [
|
|
11002
12118
|
defineCuratedSiteStyle({
|
|
11003
12119
|
id: "site-style:calm-studio",
|
|
@@ -11014,7 +12130,11 @@ var curatedSiteStyles = [
|
|
|
11014
12130
|
motion: "subtle"
|
|
11015
12131
|
},
|
|
11016
12132
|
compositionBudget: quietBudget,
|
|
11017
|
-
recommendedHeaderLookIds: [
|
|
12133
|
+
recommendedHeaderLookIds: [
|
|
12134
|
+
"centered-calm",
|
|
12135
|
+
"minimal-transparent",
|
|
12136
|
+
"clean-base"
|
|
12137
|
+
],
|
|
11018
12138
|
buttonPersonalityChoices: [
|
|
11019
12139
|
buttonChoice("soft-pill"),
|
|
11020
12140
|
buttonChoice("pebble"),
|
|
@@ -11043,7 +12163,11 @@ var curatedSiteStyles = [
|
|
|
11043
12163
|
motion: "subtle"
|
|
11044
12164
|
},
|
|
11045
12165
|
compositionBudget: balancedBudget,
|
|
11046
|
-
recommendedHeaderLookIds: [
|
|
12166
|
+
recommendedHeaderLookIds: [
|
|
12167
|
+
"practical-utility",
|
|
12168
|
+
"brand-solid",
|
|
12169
|
+
"clean-base"
|
|
12170
|
+
],
|
|
11047
12171
|
buttonPersonalityChoices: [
|
|
11048
12172
|
buttonChoice("confident-chip"),
|
|
11049
12173
|
buttonChoice("soft-pill"),
|
|
@@ -11070,7 +12194,11 @@ var curatedSiteStyles = [
|
|
|
11070
12194
|
motion: "subtle"
|
|
11071
12195
|
},
|
|
11072
12196
|
compositionBudget: balancedBudget,
|
|
11073
|
-
recommendedHeaderLookIds: [
|
|
12197
|
+
recommendedHeaderLookIds: [
|
|
12198
|
+
"serif-line",
|
|
12199
|
+
"minimal-transparent",
|
|
12200
|
+
"centered-calm"
|
|
12201
|
+
],
|
|
11074
12202
|
buttonPersonalityChoices: [
|
|
11075
12203
|
buttonChoice("editorial-link"),
|
|
11076
12204
|
buttonChoice("soft-pill"),
|
|
@@ -11098,7 +12226,11 @@ var curatedSiteStyles = [
|
|
|
11098
12226
|
motion: "expressive"
|
|
11099
12227
|
},
|
|
11100
12228
|
compositionBudget: balancedBudget,
|
|
11101
|
-
recommendedHeaderLookIds: [
|
|
12229
|
+
recommendedHeaderLookIds: [
|
|
12230
|
+
"brand-solid",
|
|
12231
|
+
"practical-utility",
|
|
12232
|
+
"clean-base"
|
|
12233
|
+
],
|
|
11102
12234
|
buttonPersonalityChoices: [
|
|
11103
12235
|
buttonChoice("pebble"),
|
|
11104
12236
|
buttonChoice("brushed-wash"),
|
|
@@ -11115,7 +12247,10 @@ var curatedSiteStyles = [
|
|
|
11115
12247
|
name: "Quiet Luxury",
|
|
11116
12248
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
11117
12249
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
11118
|
-
siteCreatorSelection: {
|
|
12250
|
+
siteCreatorSelection: {
|
|
12251
|
+
kind: "site_creator_keyword_heuristic",
|
|
12252
|
+
priority: 20
|
|
12253
|
+
},
|
|
11119
12254
|
selectionKeywordRules: [
|
|
11120
12255
|
{ kind: "word", value: "luxury" },
|
|
11121
12256
|
{ kind: "word", value: "premium" },
|
|
@@ -11133,7 +12268,11 @@ var curatedSiteStyles = [
|
|
|
11133
12268
|
motion: "none"
|
|
11134
12269
|
},
|
|
11135
12270
|
compositionBudget: quietBudget,
|
|
11136
|
-
recommendedHeaderLookIds: [
|
|
12271
|
+
recommendedHeaderLookIds: [
|
|
12272
|
+
"minimal-transparent",
|
|
12273
|
+
"serif-line",
|
|
12274
|
+
"clean-base"
|
|
12275
|
+
],
|
|
11137
12276
|
buttonPersonalityChoices: [
|
|
11138
12277
|
buttonChoice("editorial-link"),
|
|
11139
12278
|
buttonChoice("confident-chip"),
|
|
@@ -11169,7 +12308,11 @@ var curatedSiteStyles = [
|
|
|
11169
12308
|
motion: "none"
|
|
11170
12309
|
},
|
|
11171
12310
|
compositionBudget: quietBudget,
|
|
11172
|
-
recommendedHeaderLookIds: [
|
|
12311
|
+
recommendedHeaderLookIds: [
|
|
12312
|
+
"practical-utility",
|
|
12313
|
+
"brand-solid",
|
|
12314
|
+
"clean-base"
|
|
12315
|
+
],
|
|
11173
12316
|
buttonPersonalityChoices: [
|
|
11174
12317
|
buttonChoice("confident-chip"),
|
|
11175
12318
|
buttonChoice("pebble"),
|
|
@@ -11196,7 +12339,11 @@ var curatedSiteStyles = [
|
|
|
11196
12339
|
motion: "subtle"
|
|
11197
12340
|
},
|
|
11198
12341
|
compositionBudget: balancedBudget,
|
|
11199
|
-
recommendedHeaderLookIds: [
|
|
12342
|
+
recommendedHeaderLookIds: [
|
|
12343
|
+
"centered-calm",
|
|
12344
|
+
"minimal-transparent",
|
|
12345
|
+
"clean-base"
|
|
12346
|
+
],
|
|
11200
12347
|
buttonPersonalityChoices: [
|
|
11201
12348
|
buttonChoice("soft-pill"),
|
|
11202
12349
|
buttonChoice("pebble"),
|
|
@@ -11213,7 +12360,10 @@ var curatedSiteStyles = [
|
|
|
11213
12360
|
name: "Quiet Practice",
|
|
11214
12361
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
11215
12362
|
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.",
|
|
11216
|
-
siteCreatorSelection: {
|
|
12363
|
+
siteCreatorSelection: {
|
|
12364
|
+
kind: "site_creator_keyword_heuristic",
|
|
12365
|
+
priority: 30
|
|
12366
|
+
},
|
|
11217
12367
|
selectionKeywordRules: [
|
|
11218
12368
|
{ kind: "substring", value: "massage" },
|
|
11219
12369
|
{ kind: "word", value: "bodywork" },
|
|
@@ -11234,7 +12384,11 @@ var curatedSiteStyles = [
|
|
|
11234
12384
|
motion: "subtle"
|
|
11235
12385
|
},
|
|
11236
12386
|
compositionBudget: quietBudget,
|
|
11237
|
-
recommendedHeaderLookIds: [
|
|
12387
|
+
recommendedHeaderLookIds: [
|
|
12388
|
+
"practical-utility",
|
|
12389
|
+
"clean-base",
|
|
12390
|
+
"centered-calm"
|
|
12391
|
+
],
|
|
11238
12392
|
buttonPersonalityChoices: [
|
|
11239
12393
|
buttonChoice("pebble"),
|
|
11240
12394
|
buttonChoice("soft-pill"),
|
|
@@ -11251,7 +12405,10 @@ var curatedSiteStyles = [
|
|
|
11251
12405
|
name: "Personal Retreat Journal",
|
|
11252
12406
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
11253
12407
|
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.",
|
|
11254
|
-
siteCreatorSelection: {
|
|
12408
|
+
siteCreatorSelection: {
|
|
12409
|
+
kind: "site_creator_keyword_heuristic",
|
|
12410
|
+
priority: 40
|
|
12411
|
+
},
|
|
11255
12412
|
selectionKeywordRules: [
|
|
11256
12413
|
{ kind: "substring", value: "retreat" },
|
|
11257
12414
|
{ kind: "phrase", value: "solo practitioner" },
|
|
@@ -11271,7 +12428,11 @@ var curatedSiteStyles = [
|
|
|
11271
12428
|
motion: "subtle"
|
|
11272
12429
|
},
|
|
11273
12430
|
compositionBudget: balancedBudget,
|
|
11274
|
-
recommendedHeaderLookIds: [
|
|
12431
|
+
recommendedHeaderLookIds: [
|
|
12432
|
+
"serif-line",
|
|
12433
|
+
"centered-calm",
|
|
12434
|
+
"minimal-transparent"
|
|
12435
|
+
],
|
|
11275
12436
|
buttonPersonalityChoices: [
|
|
11276
12437
|
buttonChoice("editorial-link"),
|
|
11277
12438
|
buttonChoice("soft-pill"),
|
|
@@ -11288,7 +12449,10 @@ var curatedSiteStyles = [
|
|
|
11288
12449
|
name: "Tactile Workshop",
|
|
11289
12450
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
11290
12451
|
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.",
|
|
11291
|
-
siteCreatorSelection: {
|
|
12452
|
+
siteCreatorSelection: {
|
|
12453
|
+
kind: "site_creator_keyword_heuristic",
|
|
12454
|
+
priority: 50
|
|
12455
|
+
},
|
|
11292
12456
|
selectionKeywordRules: [
|
|
11293
12457
|
{ kind: "substring", value: "ceramic" },
|
|
11294
12458
|
{ kind: "word", value: "pottery" },
|
|
@@ -11308,8 +12472,15 @@ var curatedSiteStyles = [
|
|
|
11308
12472
|
motion: "subtle"
|
|
11309
12473
|
},
|
|
11310
12474
|
compositionBudget: balancedBudget,
|
|
11311
|
-
recommendedHeaderLookIds: [
|
|
11312
|
-
|
|
12475
|
+
recommendedHeaderLookIds: [
|
|
12476
|
+
"brand-solid",
|
|
12477
|
+
"practical-utility",
|
|
12478
|
+
"clean-base"
|
|
12479
|
+
],
|
|
12480
|
+
recommendedFooterLookIds: [
|
|
12481
|
+
"site-footer-brand-two-band",
|
|
12482
|
+
"footer-muted-grounding"
|
|
12483
|
+
],
|
|
11313
12484
|
buttonPersonalityChoices: [
|
|
11314
12485
|
buttonChoice("pebble"),
|
|
11315
12486
|
buttonChoice("confident-chip"),
|
|
@@ -11324,101 +12495,178 @@ var curatedSiteStyles = [
|
|
|
11324
12495
|
]
|
|
11325
12496
|
}),
|
|
11326
12497
|
defineCuratedSiteStyle({
|
|
11327
|
-
id: "site-style:
|
|
11328
|
-
name: "
|
|
11329
|
-
description: "
|
|
11330
|
-
generationBrief: "Use
|
|
11331
|
-
siteCreatorSelection: {
|
|
11332
|
-
|
|
11333
|
-
|
|
11334
|
-
{ kind: "substring", value: "campaign" },
|
|
11335
|
-
{ kind: "word", value: "preorder" },
|
|
11336
|
-
{ kind: "phrase", value: "pre-order" },
|
|
11337
|
-
{ kind: "substring", value: "waitlist" },
|
|
11338
|
-
{ kind: "word", value: "drop" }
|
|
11339
|
-
],
|
|
11340
|
-
tokenRecipes: {
|
|
11341
|
-
palette: "high-contrast",
|
|
11342
|
-
contrast: "maximum",
|
|
11343
|
-
radius: "pill",
|
|
11344
|
-
shadow: "layered",
|
|
11345
|
-
typography: "clean-sans",
|
|
11346
|
-
spacing: "regular",
|
|
11347
|
-
motion: "expressive"
|
|
12498
|
+
id: "site-style:soft-earth",
|
|
12499
|
+
name: "Soft Earth",
|
|
12500
|
+
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
12501
|
+
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.",
|
|
12502
|
+
siteCreatorSelection: {
|
|
12503
|
+
kind: "site_creator_keyword_heuristic",
|
|
12504
|
+
priority: 45
|
|
11348
12505
|
},
|
|
11349
|
-
|
|
11350
|
-
|
|
11351
|
-
|
|
11352
|
-
|
|
11353
|
-
|
|
11354
|
-
|
|
11355
|
-
buttonChoice("pebble")
|
|
12506
|
+
selectionKeywordRules: [
|
|
12507
|
+
{ kind: "word", value: "meditation" },
|
|
12508
|
+
{ kind: "word", value: "wellbeing" },
|
|
12509
|
+
{ kind: "substring", value: "retreat" },
|
|
12510
|
+
{ kind: "phrase", value: "yoga studio" },
|
|
12511
|
+
{ kind: "phrase", value: "mindful movement" }
|
|
11356
12512
|
],
|
|
11357
|
-
paletteVariantChoices: [
|
|
11358
|
-
paletteChoice("high-contrast-monochrome"),
|
|
11359
|
-
paletteChoice("high-contrast-ink"),
|
|
11360
|
-
paletteChoice("brand-led-jewel"),
|
|
11361
|
-
paletteChoice("brand-led-warm")
|
|
11362
|
-
]
|
|
11363
|
-
}),
|
|
11364
|
-
defineCuratedSiteStyle({
|
|
11365
|
-
id: "site-style:south-west-twerk-school",
|
|
11366
|
-
name: "South West Twerk School",
|
|
11367
|
-
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
11368
|
-
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.",
|
|
11369
12513
|
tokenRecipes: {
|
|
11370
|
-
palette: "
|
|
11371
|
-
contrast: "
|
|
12514
|
+
palette: "warm-neutral",
|
|
12515
|
+
contrast: "standard",
|
|
11372
12516
|
radius: "soft",
|
|
11373
|
-
shadow: "
|
|
11374
|
-
typography: "
|
|
12517
|
+
shadow: "subtle",
|
|
12518
|
+
typography: "serif-editorial",
|
|
11375
12519
|
spacing: "airy",
|
|
11376
|
-
motion: "
|
|
12520
|
+
motion: "subtle"
|
|
11377
12521
|
},
|
|
11378
|
-
compositionBudget:
|
|
12522
|
+
compositionBudget: balancedBudget,
|
|
11379
12523
|
themeOverrides: {
|
|
11380
12524
|
typography: {
|
|
11381
12525
|
body: {
|
|
11382
|
-
family: "
|
|
11383
|
-
size: "
|
|
12526
|
+
family: "Inter, system-ui, sans-serif",
|
|
12527
|
+
size: "md",
|
|
11384
12528
|
weight: "regular",
|
|
11385
12529
|
lineHeight: "relaxed",
|
|
11386
12530
|
letterSpacing: "normal"
|
|
11387
12531
|
},
|
|
11388
12532
|
headings: {
|
|
11389
12533
|
default: {
|
|
11390
|
-
family: '"
|
|
11391
|
-
weight: "
|
|
12534
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
12535
|
+
weight: "regular",
|
|
11392
12536
|
lineHeight: "normal",
|
|
11393
|
-
letterSpacing: "
|
|
11394
|
-
colorToken: "
|
|
12537
|
+
letterSpacing: "normal",
|
|
12538
|
+
colorToken: "text",
|
|
11395
12539
|
italic: null,
|
|
11396
12540
|
case: null
|
|
11397
12541
|
},
|
|
11398
12542
|
h1: {
|
|
11399
12543
|
size: "xl",
|
|
11400
|
-
weight: "
|
|
12544
|
+
weight: "regular",
|
|
11401
12545
|
lineHeight: "normal",
|
|
11402
|
-
letterSpacing: "
|
|
12546
|
+
letterSpacing: "normal",
|
|
11403
12547
|
italic: null
|
|
11404
12548
|
},
|
|
11405
12549
|
h2: {
|
|
11406
12550
|
size: "lg",
|
|
11407
|
-
weight: "
|
|
12551
|
+
weight: "regular",
|
|
11408
12552
|
lineHeight: "normal",
|
|
11409
12553
|
letterSpacing: "normal",
|
|
11410
12554
|
italic: null
|
|
11411
12555
|
},
|
|
11412
12556
|
h3: {
|
|
11413
12557
|
size: "md",
|
|
11414
|
-
weight: "
|
|
12558
|
+
weight: "regular",
|
|
11415
12559
|
lineHeight: "normal",
|
|
11416
12560
|
letterSpacing: "normal",
|
|
11417
12561
|
italic: null
|
|
11418
12562
|
}
|
|
11419
12563
|
},
|
|
11420
|
-
scale: "
|
|
12564
|
+
scale: "majorThird"
|
|
11421
12565
|
},
|
|
12566
|
+
bodyText: {
|
|
12567
|
+
intro: {
|
|
12568
|
+
paragraphSize: "default",
|
|
12569
|
+
headingSize: "editorial"
|
|
12570
|
+
}
|
|
12571
|
+
}
|
|
12572
|
+
},
|
|
12573
|
+
recommendedAppearancePresetIds: [
|
|
12574
|
+
"hero-brand-scrim",
|
|
12575
|
+
"intro-soft-earth-statement",
|
|
12576
|
+
"feature-cards-soft-earth-offerings",
|
|
12577
|
+
"testimonials-soft-earth-proof-band",
|
|
12578
|
+
"faq-soft-earth-two-column",
|
|
12579
|
+
"contact-form-panel"
|
|
12580
|
+
],
|
|
12581
|
+
recommendedHeaderLookIds: [
|
|
12582
|
+
"centered-calm",
|
|
12583
|
+
"minimal-transparent",
|
|
12584
|
+
"serif-line"
|
|
12585
|
+
],
|
|
12586
|
+
recommendedFooterLookIds: [
|
|
12587
|
+
"footer-muted-grounding",
|
|
12588
|
+
"site-footer-brand-two-band"
|
|
12589
|
+
],
|
|
12590
|
+
buttonPersonalityChoices: [
|
|
12591
|
+
buttonChoice("earth-pill"),
|
|
12592
|
+
buttonChoice("soft-pill"),
|
|
12593
|
+
buttonChoice("pebble"),
|
|
12594
|
+
buttonChoice("editorial-link")
|
|
12595
|
+
],
|
|
12596
|
+
paletteVariantChoices: [
|
|
12597
|
+
paletteChoice("warm-neutral-soft-earth"),
|
|
12598
|
+
paletteChoice("warm-neutral-clay"),
|
|
12599
|
+
paletteChoice("warm-neutral-forest"),
|
|
12600
|
+
paletteChoice("soft-natural-sage")
|
|
12601
|
+
]
|
|
12602
|
+
}),
|
|
12603
|
+
defineCuratedSiteStyle({
|
|
12604
|
+
id: "site-style:bold-launch",
|
|
12605
|
+
name: "Bold Launch",
|
|
12606
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
12607
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
12608
|
+
siteCreatorSelection: {
|
|
12609
|
+
kind: "site_creator_keyword_heuristic",
|
|
12610
|
+
priority: 10
|
|
12611
|
+
},
|
|
12612
|
+
selectionKeywordRules: [
|
|
12613
|
+
{ kind: "substring", value: "launch" },
|
|
12614
|
+
{ kind: "substring", value: "campaign" },
|
|
12615
|
+
{ kind: "word", value: "preorder" },
|
|
12616
|
+
{ kind: "phrase", value: "pre-order" },
|
|
12617
|
+
{ kind: "substring", value: "waitlist" },
|
|
12618
|
+
{ kind: "word", value: "drop" }
|
|
12619
|
+
],
|
|
12620
|
+
tokenRecipes: {
|
|
12621
|
+
palette: "high-contrast",
|
|
12622
|
+
contrast: "maximum",
|
|
12623
|
+
radius: "pill",
|
|
12624
|
+
shadow: "layered",
|
|
12625
|
+
typography: "clean-sans",
|
|
12626
|
+
spacing: "regular",
|
|
12627
|
+
motion: "expressive"
|
|
12628
|
+
},
|
|
12629
|
+
compositionBudget: expressiveBudget,
|
|
12630
|
+
recommendedHeaderLookIds: [
|
|
12631
|
+
"transparent-overlay",
|
|
12632
|
+
"floating-glass",
|
|
12633
|
+
"brand-solid"
|
|
12634
|
+
],
|
|
12635
|
+
buttonPersonalityChoices: [
|
|
12636
|
+
buttonChoice("ink-stamp"),
|
|
12637
|
+
buttonChoice("confident-chip"),
|
|
12638
|
+
buttonChoice("brushed-wash"),
|
|
12639
|
+
buttonChoice("pebble")
|
|
12640
|
+
],
|
|
12641
|
+
paletteVariantChoices: [
|
|
12642
|
+
paletteChoice("high-contrast-monochrome"),
|
|
12643
|
+
paletteChoice("high-contrast-ink"),
|
|
12644
|
+
paletteChoice("brand-led-jewel"),
|
|
12645
|
+
paletteChoice("brand-led-warm")
|
|
12646
|
+
]
|
|
12647
|
+
}),
|
|
12648
|
+
defineCuratedSiteStyle({
|
|
12649
|
+
id: "site-style:south-west-twerk-school",
|
|
12650
|
+
name: "South West Twerk School",
|
|
12651
|
+
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
12652
|
+
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.",
|
|
12653
|
+
tokenRecipes: {
|
|
12654
|
+
palette: "brand-led",
|
|
12655
|
+
contrast: "maximum",
|
|
12656
|
+
radius: "soft",
|
|
12657
|
+
shadow: "layered",
|
|
12658
|
+
typography: "clean-sans",
|
|
12659
|
+
spacing: "airy",
|
|
12660
|
+
motion: "expressive"
|
|
12661
|
+
},
|
|
12662
|
+
compositionBudget: expressiveBudget,
|
|
12663
|
+
typographyPresetChoices: [
|
|
12664
|
+
typographyChoice("typography-preset:bold-display"),
|
|
12665
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12666
|
+
typographyChoice("typography-preset:luxe-contrast")
|
|
12667
|
+
],
|
|
12668
|
+
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
12669
|
+
themeOverrides: {
|
|
11422
12670
|
bodyText: {
|
|
11423
12671
|
intro: {
|
|
11424
12672
|
paragraphSize: "editorial",
|
|
@@ -11434,8 +12682,15 @@ var curatedSiteStyles = [
|
|
|
11434
12682
|
"testimonials-accent-quote-proof",
|
|
11435
12683
|
"contact-form-brand-depth-card"
|
|
11436
12684
|
],
|
|
11437
|
-
recommendedHeaderLookIds: [
|
|
11438
|
-
|
|
12685
|
+
recommendedHeaderLookIds: [
|
|
12686
|
+
"brand-solid",
|
|
12687
|
+
"transparent-overlay",
|
|
12688
|
+
"practical-utility"
|
|
12689
|
+
],
|
|
12690
|
+
recommendedFooterLookIds: [
|
|
12691
|
+
"site-footer-brand-two-band",
|
|
12692
|
+
"footer-muted-grounding"
|
|
12693
|
+
],
|
|
11439
12694
|
buttonPersonalityChoices: [
|
|
11440
12695
|
buttonChoice("showtime-pill"),
|
|
11441
12696
|
buttonChoice("confident-chip"),
|
|
@@ -15761,8 +17016,9 @@ var faqAccordionFragment = defineFragment({
|
|
|
15761
17016
|
},
|
|
15762
17017
|
fallback: "rb-faq-item"
|
|
15763
17018
|
},
|
|
15764
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } }
|
|
15765
|
-
//
|
|
17019
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
17020
|
+
// Legacy theme accordion style
|
|
17021
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
15766
17022
|
},
|
|
15767
17023
|
triggerFrom: "faqItem.question",
|
|
15768
17024
|
contentFrom: "faqItem.answer"
|
|
@@ -16840,61 +18096,389 @@ function splitLayoutWith(children) {
|
|
|
16840
18096
|
children
|
|
16841
18097
|
}
|
|
16842
18098
|
}),
|
|
16843
|
-
// The split variants render the image as a real grid column, so suppress
|
|
16844
|
-
// the default absolute background image layer while keeping color/overlay.
|
|
16845
|
-
renderBackgroundImage: false,
|
|
16846
|
-
baseClass: ""
|
|
16847
|
-
});
|
|
16848
|
-
}
|
|
16849
|
-
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
16850
|
-
var splitImageColumn = heroSplitImagePane();
|
|
16851
|
-
var splitLayout = splitLayoutWith([
|
|
16852
|
-
splitContentColumn,
|
|
16853
|
-
splitImageColumn
|
|
16854
|
-
]);
|
|
16855
|
-
var splitReverseLayout = splitLayoutWith([
|
|
16856
|
-
splitImageColumn,
|
|
16857
|
-
splitContentColumn
|
|
16858
|
-
]);
|
|
16859
|
-
var heroConfig = {
|
|
16860
|
-
id: "block.hero",
|
|
16861
|
-
title: "Hero",
|
|
16862
|
-
titleSource: "headline",
|
|
16863
|
-
category: "layout",
|
|
16864
|
-
includeContainerStyles: true,
|
|
16865
|
-
promotedFields: ["_sectionStyles.background.image"],
|
|
16866
|
-
fragments: [
|
|
16867
|
-
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
16868
|
-
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
16869
|
-
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
16870
|
-
],
|
|
16871
|
-
additionalFields: [
|
|
16872
|
-
containerStylesField({
|
|
16873
|
-
id: "_contentCardStyles",
|
|
16874
|
-
label: "Content card",
|
|
16875
|
-
renderInHeader: true,
|
|
16876
|
-
intent: "style"
|
|
18099
|
+
// The split variants render the image as a real grid column, so suppress
|
|
18100
|
+
// the default absolute background image layer while keeping color/overlay.
|
|
18101
|
+
renderBackgroundImage: false,
|
|
18102
|
+
baseClass: ""
|
|
18103
|
+
});
|
|
18104
|
+
}
|
|
18105
|
+
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
18106
|
+
var splitImageColumn = heroSplitImagePane();
|
|
18107
|
+
var splitLayout = splitLayoutWith([
|
|
18108
|
+
splitContentColumn,
|
|
18109
|
+
splitImageColumn
|
|
18110
|
+
]);
|
|
18111
|
+
var splitReverseLayout = splitLayoutWith([
|
|
18112
|
+
splitImageColumn,
|
|
18113
|
+
splitContentColumn
|
|
18114
|
+
]);
|
|
18115
|
+
var heroConfig = {
|
|
18116
|
+
id: "block.hero",
|
|
18117
|
+
title: "Hero",
|
|
18118
|
+
titleSource: "headline",
|
|
18119
|
+
category: "layout",
|
|
18120
|
+
includeContainerStyles: true,
|
|
18121
|
+
promotedFields: ["_sectionStyles.background.image"],
|
|
18122
|
+
fragments: [
|
|
18123
|
+
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
18124
|
+
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
18125
|
+
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
18126
|
+
],
|
|
18127
|
+
additionalFields: [
|
|
18128
|
+
containerStylesField({
|
|
18129
|
+
id: "_contentCardStyles",
|
|
18130
|
+
label: "Content card",
|
|
18131
|
+
renderInHeader: true,
|
|
18132
|
+
intent: "style"
|
|
18133
|
+
})
|
|
18134
|
+
],
|
|
18135
|
+
layout: classicLayout,
|
|
18136
|
+
variants: {
|
|
18137
|
+
classic: classicLayout,
|
|
18138
|
+
micro: microLayout,
|
|
18139
|
+
split: splitLayout,
|
|
18140
|
+
splitReverse: splitReverseLayout
|
|
18141
|
+
},
|
|
18142
|
+
defaultVariant: "classic",
|
|
18143
|
+
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
18144
|
+
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
18145
|
+
icon: "Sparkles",
|
|
18146
|
+
styleTokens: {
|
|
18147
|
+
typography: "display",
|
|
18148
|
+
spacing: "xl"
|
|
18149
|
+
}
|
|
18150
|
+
};
|
|
18151
|
+
var heroManifest = createBlockManifest(heroConfig);
|
|
18152
|
+
var heroBlockDefinition = {
|
|
18153
|
+
manifest: heroManifest
|
|
18154
|
+
};
|
|
18155
|
+
|
|
18156
|
+
// ../blocks/src/system/fields/aspectRatio.ts
|
|
18157
|
+
var standardAspectRatioOptions = [
|
|
18158
|
+
{ value: "auto", label: "Auto (original)" },
|
|
18159
|
+
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
18160
|
+
{ value: "4/3", label: "4:3 (Standard)" },
|
|
18161
|
+
{ value: "1/1", label: "1:1 (Square)" },
|
|
18162
|
+
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
18163
|
+
];
|
|
18164
|
+
function createAspectRatioField(options = {}) {
|
|
18165
|
+
return {
|
|
18166
|
+
id: options.id ?? "aspectRatio",
|
|
18167
|
+
type: "select",
|
|
18168
|
+
label: options.label ?? "Aspect ratio",
|
|
18169
|
+
...options.description ? { description: options.description } : {},
|
|
18170
|
+
required: false,
|
|
18171
|
+
defaultValue: options.defaultValue ?? "auto",
|
|
18172
|
+
multiple: false,
|
|
18173
|
+
options: [...standardAspectRatioOptions],
|
|
18174
|
+
ui: {
|
|
18175
|
+
intent: options.uiIntent ?? "display",
|
|
18176
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
18177
|
+
}
|
|
18178
|
+
};
|
|
18179
|
+
}
|
|
18180
|
+
|
|
18181
|
+
// ../blocks/src/system/fields/imageLayout.ts
|
|
18182
|
+
function createImageColSizeField(options = {}) {
|
|
18183
|
+
const {
|
|
18184
|
+
id = "imageColSize",
|
|
18185
|
+
label = "Image column size",
|
|
18186
|
+
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
18187
|
+
defaultValue = "1/3",
|
|
18188
|
+
uiIntent = "display",
|
|
18189
|
+
visibleWhen
|
|
18190
|
+
} = options;
|
|
18191
|
+
return {
|
|
18192
|
+
id,
|
|
18193
|
+
type: "select",
|
|
18194
|
+
label,
|
|
18195
|
+
description,
|
|
18196
|
+
required: false,
|
|
18197
|
+
defaultValue,
|
|
18198
|
+
multiple: false,
|
|
18199
|
+
options: [
|
|
18200
|
+
{ value: "1/4", label: "Small (1/4)" },
|
|
18201
|
+
{ value: "1/3", label: "Medium (1/3)" },
|
|
18202
|
+
{ value: "2/5", label: "Large (2/5)" },
|
|
18203
|
+
{ value: "1/2", label: "Extra large (1/2)" },
|
|
18204
|
+
{ value: "2/3", label: "Huge (2/3)" }
|
|
18205
|
+
],
|
|
18206
|
+
ui: {
|
|
18207
|
+
intent: uiIntent,
|
|
18208
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
18209
|
+
}
|
|
18210
|
+
};
|
|
18211
|
+
}
|
|
18212
|
+
function createImagePositionField(options = {}) {
|
|
18213
|
+
const {
|
|
18214
|
+
id = "imagePosition",
|
|
18215
|
+
label = "Image position",
|
|
18216
|
+
description = "Choose which side the image appears on.",
|
|
18217
|
+
defaultValue = "left",
|
|
18218
|
+
includeAlternate = false,
|
|
18219
|
+
uiIntent = "display",
|
|
18220
|
+
visibleWhen
|
|
18221
|
+
} = options;
|
|
18222
|
+
const positionOptions = [
|
|
18223
|
+
{ value: "left", label: "Left" },
|
|
18224
|
+
{ value: "right", label: "Right" },
|
|
18225
|
+
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
18226
|
+
];
|
|
18227
|
+
return {
|
|
18228
|
+
id,
|
|
18229
|
+
type: "select",
|
|
18230
|
+
label,
|
|
18231
|
+
description,
|
|
18232
|
+
required: false,
|
|
18233
|
+
defaultValue,
|
|
18234
|
+
multiple: false,
|
|
18235
|
+
// Spread to get a mutable array type without unsafe casts.
|
|
18236
|
+
options: [...positionOptions],
|
|
18237
|
+
ui: {
|
|
18238
|
+
intent: uiIntent,
|
|
18239
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
18240
|
+
}
|
|
18241
|
+
};
|
|
18242
|
+
}
|
|
18243
|
+
|
|
18244
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
18245
|
+
function introHeading(className) {
|
|
18246
|
+
return text(
|
|
18247
|
+
{
|
|
18248
|
+
as: "h2",
|
|
18249
|
+
className
|
|
18250
|
+
},
|
|
18251
|
+
when("content.title"),
|
|
18252
|
+
bind("content.title")
|
|
18253
|
+
);
|
|
18254
|
+
}
|
|
18255
|
+
function introBody(className = "rb-prose rb-max-w-none") {
|
|
18256
|
+
return richText({ className }, bind("content.body"));
|
|
18257
|
+
}
|
|
18258
|
+
function introCtas(justify = "start") {
|
|
18259
|
+
return ctaRow({
|
|
18260
|
+
justify,
|
|
18261
|
+
gap: "md",
|
|
18262
|
+
containerClassName: "rb-mt-2"
|
|
18263
|
+
});
|
|
18264
|
+
}
|
|
18265
|
+
function introCopyStack(options = {}) {
|
|
18266
|
+
return stack(
|
|
18267
|
+
{
|
|
18268
|
+
gap: "md",
|
|
18269
|
+
className: options.className ?? "rb-intro-copy"
|
|
18270
|
+
},
|
|
18271
|
+
[
|
|
18272
|
+
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
18273
|
+
introBody(options.bodyClassName),
|
|
18274
|
+
introCtas(options.ctaJustify)
|
|
18275
|
+
]
|
|
18276
|
+
);
|
|
18277
|
+
}
|
|
18278
|
+
var introMedia = media(
|
|
18279
|
+
{
|
|
18280
|
+
className: "rb-intro-media rb-w-full rb-h-auto rb-object-cover",
|
|
18281
|
+
style: {
|
|
18282
|
+
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
18283
|
+
}
|
|
18284
|
+
},
|
|
18285
|
+
bind("content.media")
|
|
18286
|
+
);
|
|
18287
|
+
var centeredCopyLayout = styledSection({
|
|
18288
|
+
children: styledContainer({
|
|
18289
|
+
rootType: "stack",
|
|
18290
|
+
rootProps: { gap: "lg" },
|
|
18291
|
+
children: [
|
|
18292
|
+
introCopyStack({
|
|
18293
|
+
className: "rb-intro-copy rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
18294
|
+
headingClassName: "rb-intro-title rb-text-center",
|
|
18295
|
+
bodyClassName: "rb-prose rb-mx-auto rb-max-w-none",
|
|
18296
|
+
ctaJustify: "center"
|
|
18297
|
+
})
|
|
18298
|
+
]
|
|
18299
|
+
}),
|
|
18300
|
+
baseClass: "",
|
|
18301
|
+
spacing: "medium"
|
|
18302
|
+
});
|
|
18303
|
+
var statementCopyLayout = styledSection({
|
|
18304
|
+
children: styledContainer({
|
|
18305
|
+
children: [
|
|
18306
|
+
el(
|
|
18307
|
+
"div",
|
|
18308
|
+
{
|
|
18309
|
+
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
18310
|
+
},
|
|
18311
|
+
[
|
|
18312
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
18313
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
18314
|
+
introBody(),
|
|
18315
|
+
introCtas("start")
|
|
18316
|
+
])
|
|
18317
|
+
]
|
|
18318
|
+
)
|
|
18319
|
+
]
|
|
18320
|
+
}),
|
|
18321
|
+
baseClass: "",
|
|
18322
|
+
spacing: "medium"
|
|
18323
|
+
});
|
|
18324
|
+
var statementMediaLayout = styledSection({
|
|
18325
|
+
children: styledContainer({
|
|
18326
|
+
children: [
|
|
18327
|
+
el(
|
|
18328
|
+
"div",
|
|
18329
|
+
{
|
|
18330
|
+
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"
|
|
18331
|
+
},
|
|
18332
|
+
[
|
|
18333
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
18334
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
18335
|
+
introBody(),
|
|
18336
|
+
introCtas("start")
|
|
18337
|
+
]),
|
|
18338
|
+
el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia], when("content.media"))
|
|
18339
|
+
]
|
|
18340
|
+
)
|
|
18341
|
+
]
|
|
18342
|
+
}),
|
|
18343
|
+
baseClass: "",
|
|
18344
|
+
spacing: "medium"
|
|
18345
|
+
});
|
|
18346
|
+
var mediaCopyLayout = styledSection({
|
|
18347
|
+
children: styledContainer({
|
|
18348
|
+
children: [
|
|
18349
|
+
responsiveTwoColumn({
|
|
18350
|
+
image: el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia]),
|
|
18351
|
+
text: introCopyStack({
|
|
18352
|
+
className: "rb-intro-copy rb-max-w-xl",
|
|
18353
|
+
headingClassName: "rb-intro-title"
|
|
18354
|
+
}),
|
|
18355
|
+
ratioFrom: "content.ratio",
|
|
18356
|
+
imagePositionFrom: "content.imagePosition",
|
|
18357
|
+
gapFrom: "content.gap",
|
|
18358
|
+
gapFallback: "comfortable",
|
|
18359
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
18360
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-center"
|
|
18361
|
+
})
|
|
18362
|
+
]
|
|
18363
|
+
}),
|
|
18364
|
+
baseClass: "",
|
|
18365
|
+
spacing: "medium"
|
|
18366
|
+
});
|
|
18367
|
+
var introConfig = {
|
|
18368
|
+
id: "block.intro",
|
|
18369
|
+
title: "Intro",
|
|
18370
|
+
category: "layout",
|
|
18371
|
+
includeContainerStyles: true,
|
|
18372
|
+
titleSource: "title",
|
|
18373
|
+
additionalFields: [
|
|
18374
|
+
{
|
|
18375
|
+
id: "title",
|
|
18376
|
+
type: "text",
|
|
18377
|
+
label: "Statement",
|
|
18378
|
+
required: false,
|
|
18379
|
+
multiline: true,
|
|
18380
|
+
maxLength: 160
|
|
18381
|
+
},
|
|
18382
|
+
{
|
|
18383
|
+
id: "body",
|
|
18384
|
+
type: "richText",
|
|
18385
|
+
label: "Text",
|
|
18386
|
+
required: true,
|
|
18387
|
+
ui: {
|
|
18388
|
+
richTextVariant: "limited"
|
|
18389
|
+
}
|
|
18390
|
+
},
|
|
18391
|
+
{
|
|
18392
|
+
id: "media",
|
|
18393
|
+
type: "media",
|
|
18394
|
+
label: "Media",
|
|
18395
|
+
required: false,
|
|
18396
|
+
mediaKinds: ["image"],
|
|
18397
|
+
ui: {
|
|
18398
|
+
intent: "content",
|
|
18399
|
+
visibleWhen: { field: "variant", notEquals: "statement-copy" }
|
|
18400
|
+
}
|
|
18401
|
+
},
|
|
18402
|
+
createImagePositionField({
|
|
18403
|
+
id: "imagePosition",
|
|
18404
|
+
label: "Image position",
|
|
18405
|
+
defaultValue: "left",
|
|
18406
|
+
uiIntent: "display",
|
|
18407
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18408
|
+
}),
|
|
18409
|
+
{
|
|
18410
|
+
id: "gap",
|
|
18411
|
+
type: "select",
|
|
18412
|
+
label: "Gap between media and text",
|
|
18413
|
+
required: false,
|
|
18414
|
+
defaultValue: "comfortable",
|
|
18415
|
+
multiple: false,
|
|
18416
|
+
options: [
|
|
18417
|
+
{ value: "none", label: "None" },
|
|
18418
|
+
{ value: "compact", label: "Compact" },
|
|
18419
|
+
{ value: "cozy", label: "Cozy" },
|
|
18420
|
+
{ value: "medium", label: "Medium" },
|
|
18421
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
18422
|
+
{ value: "spacious", label: "Spacious" }
|
|
18423
|
+
],
|
|
18424
|
+
ui: {
|
|
18425
|
+
intent: "display",
|
|
18426
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18427
|
+
}
|
|
18428
|
+
},
|
|
18429
|
+
createImageColSizeField({
|
|
18430
|
+
id: "ratio",
|
|
18431
|
+
label: "Media column size",
|
|
18432
|
+
defaultValue: "1/2",
|
|
18433
|
+
uiIntent: "display",
|
|
18434
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18435
|
+
}),
|
|
18436
|
+
createAspectRatioField({
|
|
18437
|
+
id: "aspectRatio",
|
|
18438
|
+
label: "Media aspect ratio",
|
|
18439
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
18440
|
+
defaultValue: "auto",
|
|
18441
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
18442
|
+
}),
|
|
18443
|
+
createCtasRepeater({
|
|
18444
|
+
label: "Calls to action",
|
|
18445
|
+
itemLabel: "CTA",
|
|
18446
|
+
maxItems: 2
|
|
16877
18447
|
})
|
|
16878
18448
|
],
|
|
16879
|
-
layout:
|
|
18449
|
+
layout: centeredCopyLayout,
|
|
16880
18450
|
variants: {
|
|
16881
|
-
|
|
16882
|
-
|
|
16883
|
-
|
|
16884
|
-
|
|
18451
|
+
"centered-copy": centeredCopyLayout,
|
|
18452
|
+
"statement-copy": statementCopyLayout,
|
|
18453
|
+
"statement-media": statementMediaLayout,
|
|
18454
|
+
"media-copy": mediaCopyLayout
|
|
16885
18455
|
},
|
|
16886
|
-
defaultVariant: "
|
|
16887
|
-
|
|
16888
|
-
|
|
16889
|
-
|
|
16890
|
-
|
|
16891
|
-
|
|
16892
|
-
|
|
16893
|
-
|
|
18456
|
+
defaultVariant: "statement-copy",
|
|
18457
|
+
variantOptions: {
|
|
18458
|
+
"centered-copy": {
|
|
18459
|
+
label: "Centered copy",
|
|
18460
|
+
description: "A focused intro with centered text and optional calls to action."
|
|
18461
|
+
},
|
|
18462
|
+
"statement-copy": {
|
|
18463
|
+
label: "Statement and copy",
|
|
18464
|
+
description: "A large statement on the left with supporting copy on the right."
|
|
18465
|
+
},
|
|
18466
|
+
"statement-media": {
|
|
18467
|
+
label: "Statement, copy and media",
|
|
18468
|
+
description: "A three-part intro with statement, copy and a small image."
|
|
18469
|
+
},
|
|
18470
|
+
"media-copy": {
|
|
18471
|
+
label: "Media and copy",
|
|
18472
|
+
description: "A compact media/text intro for softer transitions after a hero."
|
|
18473
|
+
}
|
|
18474
|
+
},
|
|
18475
|
+
description: "A flexible introductory section for statement copy, supporting text, media, and CTAs.",
|
|
18476
|
+
tags: ["intro", "introduction", "about", "welcome", "statement", "media", "text"],
|
|
18477
|
+
icon: "PanelTopOpen"
|
|
16894
18478
|
};
|
|
16895
|
-
var
|
|
16896
|
-
var
|
|
16897
|
-
manifest:
|
|
18479
|
+
var introManifest = createBlockManifest(introConfig);
|
|
18480
|
+
var introBlockDefinition = {
|
|
18481
|
+
manifest: introManifest
|
|
16898
18482
|
};
|
|
16899
18483
|
|
|
16900
18484
|
// ../blocks/src/system/blocks/body-text.ts
|
|
@@ -17740,6 +19324,37 @@ var faqComposition = composeFragments([
|
|
|
17740
19324
|
{ fragment: faqHeadingFragment, fieldPriority: 0 },
|
|
17741
19325
|
{ fragment: faqAccordionFragment, fieldPriority: 1 }
|
|
17742
19326
|
]);
|
|
19327
|
+
function fragmentLayoutNode(layout) {
|
|
19328
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
19329
|
+
}
|
|
19330
|
+
function isNodeDefinitionArray(layout) {
|
|
19331
|
+
return Array.isArray(layout);
|
|
19332
|
+
}
|
|
19333
|
+
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
19334
|
+
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
19335
|
+
var defaultLayout = styledSection({
|
|
19336
|
+
children: styledContainer({
|
|
19337
|
+
baseClassName: "rb-relative rb-isolate",
|
|
19338
|
+
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, faqComposition.layout)
|
|
19339
|
+
}),
|
|
19340
|
+
baseClass: ""
|
|
19341
|
+
});
|
|
19342
|
+
var twoColumnLayout = styledSection({
|
|
19343
|
+
children: styledContainer({
|
|
19344
|
+
baseClassName: "rb-relative rb-isolate",
|
|
19345
|
+
children: el(
|
|
19346
|
+
"div",
|
|
19347
|
+
{
|
|
19348
|
+
className: "rb-faq-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
19349
|
+
},
|
|
19350
|
+
[
|
|
19351
|
+
el("div", { className: "rb-faq-two-column-heading" }, [headingLayout]),
|
|
19352
|
+
el("div", { className: "rb-faq-two-column-accordion" }, [accordionLayout])
|
|
19353
|
+
]
|
|
19354
|
+
)
|
|
19355
|
+
}),
|
|
19356
|
+
baseClass: ""
|
|
19357
|
+
});
|
|
17743
19358
|
var faqManifest = createBlockManifest({
|
|
17744
19359
|
id: "block.faq",
|
|
17745
19360
|
title: "FAQ",
|
|
@@ -17756,13 +19371,22 @@ var faqManifest = createBlockManifest({
|
|
|
17756
19371
|
label: "FAQ item styles"
|
|
17757
19372
|
})
|
|
17758
19373
|
],
|
|
17759
|
-
layout:
|
|
17760
|
-
|
|
17761
|
-
|
|
17762
|
-
|
|
17763
|
-
|
|
17764
|
-
|
|
17765
|
-
|
|
19374
|
+
layout: defaultLayout,
|
|
19375
|
+
variants: {
|
|
19376
|
+
default: defaultLayout,
|
|
19377
|
+
"two-column": twoColumnLayout
|
|
19378
|
+
},
|
|
19379
|
+
defaultVariant: "default",
|
|
19380
|
+
variantOptions: {
|
|
19381
|
+
default: {
|
|
19382
|
+
label: "Default",
|
|
19383
|
+
description: "A centered heading above one FAQ accordion."
|
|
19384
|
+
},
|
|
19385
|
+
"two-column": {
|
|
19386
|
+
label: "Two column",
|
|
19387
|
+
description: "A left heading column with FAQ items on the right."
|
|
19388
|
+
}
|
|
19389
|
+
},
|
|
17766
19390
|
description: "Accordion of frequently asked questions and answers.",
|
|
17767
19391
|
tags: ["faq", "questions", "answers", "help", "support", "accordion", "q&a"],
|
|
17768
19392
|
icon: "HelpCircle"
|
|
@@ -18412,7 +20036,8 @@ function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "
|
|
|
18412
20036
|
function resolveHeaderVisualStyles(header, tokens) {
|
|
18413
20037
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
18414
20038
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
18415
|
-
|
|
20039
|
+
const hasTransparentVariant = header?.variant === "transparent" || header?.variant === "floating";
|
|
20040
|
+
if (hasContainedNav || hasTransparentVariant) {
|
|
18416
20041
|
return {
|
|
18417
20042
|
backgroundToken: "transparent",
|
|
18418
20043
|
paletteHex: null,
|
|
@@ -18470,10 +20095,7 @@ var headerRootClassTransform = {
|
|
|
18470
20095
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
18471
20096
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
18472
20097
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
18473
|
-
const classes = [
|
|
18474
|
-
config.base,
|
|
18475
|
-
backgroundClass
|
|
18476
|
-
];
|
|
20098
|
+
const classes = [config.base, backgroundClass];
|
|
18477
20099
|
if (!hasContainedNav) {
|
|
18478
20100
|
if (config.blur) classes.push(config.blur);
|
|
18479
20101
|
if (config.blurSupport) classes.push(config.blurSupport);
|
|
@@ -18488,7 +20110,12 @@ var headerRootClassTransform = {
|
|
|
18488
20110
|
if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
|
|
18489
20111
|
classes.push(config.shrink);
|
|
18490
20112
|
}
|
|
18491
|
-
const VALID_VARIANTS = [
|
|
20113
|
+
const VALID_VARIANTS = [
|
|
20114
|
+
"classic",
|
|
20115
|
+
"centered",
|
|
20116
|
+
"transparent",
|
|
20117
|
+
"floating"
|
|
20118
|
+
];
|
|
18492
20119
|
const variant = header?.variant;
|
|
18493
20120
|
if (variant && VALID_VARIANTS.includes(variant)) {
|
|
18494
20121
|
classes.push(`header-variant-${variant}`);
|
|
@@ -18541,6 +20168,17 @@ var headerRootStyleTransform = {
|
|
|
18541
20168
|
return mergeStyles(...styleParts);
|
|
18542
20169
|
}
|
|
18543
20170
|
};
|
|
20171
|
+
var headerSectionBackgroundTransform = {
|
|
20172
|
+
id: "layout.headerSectionBackground",
|
|
20173
|
+
kind: "string",
|
|
20174
|
+
summary: "Resolve the inner site-header section background token",
|
|
20175
|
+
run: (value) => {
|
|
20176
|
+
const header = asPartialObject(value);
|
|
20177
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
20178
|
+
const usesTransparentRoot = header?.variant === "transparent" || header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill";
|
|
20179
|
+
return usesTransparentRoot ? "raw:transparent" : "background";
|
|
20180
|
+
}
|
|
20181
|
+
};
|
|
18544
20182
|
var footerRootStyleTransform = {
|
|
18545
20183
|
id: "layout.footerRootStyle",
|
|
18546
20184
|
kind: "formatter",
|
|
@@ -18799,6 +20437,7 @@ var layoutTransforms = [
|
|
|
18799
20437
|
headerRootClassTransform,
|
|
18800
20438
|
footerRootClassTransform,
|
|
18801
20439
|
headerRootStyleTransform,
|
|
20440
|
+
headerSectionBackgroundTransform,
|
|
18802
20441
|
footerRootStyleTransform,
|
|
18803
20442
|
footerBottomBarClassTransform,
|
|
18804
20443
|
footerBottomBarContainerClassTransform,
|
|
@@ -19097,15 +20736,21 @@ var mobileCta = ctaButton({
|
|
|
19097
20736
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
19098
20737
|
{
|
|
19099
20738
|
type: "div",
|
|
19100
|
-
props: {
|
|
20739
|
+
props: {
|
|
20740
|
+
className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20741
|
+
}
|
|
19101
20742
|
},
|
|
19102
20743
|
{
|
|
19103
20744
|
type: "div",
|
|
19104
|
-
props: {
|
|
20745
|
+
props: {
|
|
20746
|
+
className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20747
|
+
}
|
|
19105
20748
|
},
|
|
19106
20749
|
{
|
|
19107
20750
|
type: "div",
|
|
19108
|
-
props: {
|
|
20751
|
+
props: {
|
|
20752
|
+
className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20753
|
+
}
|
|
19109
20754
|
}
|
|
19110
20755
|
]);
|
|
19111
20756
|
var mobileToggleButton = {
|
|
@@ -19288,31 +20933,12 @@ var floatingLayout = inline(
|
|
|
19288
20933
|
],
|
|
19289
20934
|
when("$root.theme.header.variant", { equals: "floating" })
|
|
19290
20935
|
);
|
|
19291
|
-
var editorialLayout = stack(
|
|
19292
|
-
{
|
|
19293
|
-
gap: "md",
|
|
19294
|
-
align: "center",
|
|
19295
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
19296
|
-
transforms: pipe(
|
|
19297
|
-
tx("layout.maxWidthClass", {
|
|
19298
|
-
base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
19299
|
-
})
|
|
19300
|
-
),
|
|
19301
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
19302
|
-
})
|
|
19303
|
-
},
|
|
19304
|
-
[
|
|
19305
|
-
centeredLogoRow,
|
|
19306
|
-
createNavRow(
|
|
19307
|
-
`${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
|
|
19308
|
-
"center"
|
|
19309
|
-
)
|
|
19310
|
-
],
|
|
19311
|
-
when("$root.theme.header.variant", { equals: "editorial" })
|
|
19312
|
-
);
|
|
19313
20936
|
var headerLayout = headerSection(
|
|
19314
20937
|
{
|
|
19315
|
-
background: "
|
|
20938
|
+
background: bindProp("$root.theme.header", {
|
|
20939
|
+
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
20940
|
+
fallback: "background"
|
|
20941
|
+
}),
|
|
19316
20942
|
allowOverflow: true,
|
|
19317
20943
|
className: bindProp("$root.theme.header", {
|
|
19318
20944
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
@@ -19320,10 +20946,7 @@ var headerLayout = headerSection(
|
|
|
19320
20946
|
}),
|
|
19321
20947
|
style: bindProp("$root.theme.header", {
|
|
19322
20948
|
transforms: pipe(tx("layout.headerRootStyle")),
|
|
19323
|
-
fallback: mergeStyles(
|
|
19324
|
-
textColorStyle("text"),
|
|
19325
|
-
borderColorStyle("border")
|
|
19326
|
-
)
|
|
20949
|
+
fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
|
|
19327
20950
|
})
|
|
19328
20951
|
},
|
|
19329
20952
|
[
|
|
@@ -19332,7 +20955,6 @@ var headerLayout = headerSection(
|
|
|
19332
20955
|
centeredLayout,
|
|
19333
20956
|
transparentLayout,
|
|
19334
20957
|
floatingLayout,
|
|
19335
|
-
editorialLayout,
|
|
19336
20958
|
mobileOverlay
|
|
19337
20959
|
],
|
|
19338
20960
|
props({
|
|
@@ -20147,79 +21769,298 @@ var collectionLayout = styledSection({
|
|
|
20147
21769
|
{ gap: "md" }
|
|
20148
21770
|
),
|
|
20149
21771
|
baseClass: "",
|
|
20150
|
-
spacing: "comfortable"
|
|
21772
|
+
spacing: "comfortable"
|
|
21773
|
+
});
|
|
21774
|
+
var collectionManifest = createBlockManifest({
|
|
21775
|
+
id: "block.collection",
|
|
21776
|
+
title: "Collection",
|
|
21777
|
+
category: "layout",
|
|
21778
|
+
additionalFields: [
|
|
21779
|
+
parseFieldDefinition({
|
|
21780
|
+
id: "layout",
|
|
21781
|
+
type: "select",
|
|
21782
|
+
label: "Layout",
|
|
21783
|
+
defaultValue: "grid",
|
|
21784
|
+
options: [
|
|
21785
|
+
{ value: "grid", label: "Grid" },
|
|
21786
|
+
{ value: "stack", label: "Stack" }
|
|
21787
|
+
],
|
|
21788
|
+
ui: { intent: "display" }
|
|
21789
|
+
}),
|
|
21790
|
+
parseFieldDefinition({
|
|
21791
|
+
id: "columns",
|
|
21792
|
+
type: "select",
|
|
21793
|
+
label: "Columns",
|
|
21794
|
+
description: "Number of columns in the grid layout.",
|
|
21795
|
+
defaultValue: "3",
|
|
21796
|
+
options: [
|
|
21797
|
+
{ value: "2", label: "2 columns" },
|
|
21798
|
+
{ value: "3", label: "3 columns" },
|
|
21799
|
+
{ value: "4", label: "4 columns" }
|
|
21800
|
+
],
|
|
21801
|
+
ui: {
|
|
21802
|
+
intent: "display",
|
|
21803
|
+
visibleWhen: { field: "layout", equals: "grid" }
|
|
21804
|
+
}
|
|
21805
|
+
}),
|
|
21806
|
+
parseFieldDefinition({
|
|
21807
|
+
id: "gap",
|
|
21808
|
+
type: "select",
|
|
21809
|
+
label: "Gap",
|
|
21810
|
+
defaultValue: "medium",
|
|
21811
|
+
options: [
|
|
21812
|
+
{ value: "none", label: "None" },
|
|
21813
|
+
{ value: "compact", label: "Compact" },
|
|
21814
|
+
{ value: "cozy", label: "Cozy" },
|
|
21815
|
+
{ value: "medium", label: "Medium" },
|
|
21816
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
21817
|
+
{ value: "spacious", label: "Spacious" }
|
|
21818
|
+
],
|
|
21819
|
+
ui: { intent: "display" }
|
|
21820
|
+
}),
|
|
21821
|
+
fragmentsToRepeaterField(
|
|
21822
|
+
"items",
|
|
21823
|
+
"Items",
|
|
21824
|
+
collectionFragments,
|
|
21825
|
+
{
|
|
21826
|
+
minItems: 0,
|
|
21827
|
+
maxItems: 50,
|
|
21828
|
+
itemLabel: "Item",
|
|
21829
|
+
description: "Add items to this collection."
|
|
21830
|
+
}
|
|
21831
|
+
),
|
|
21832
|
+
cardStylesField({
|
|
21833
|
+
id: "_cardStyles",
|
|
21834
|
+
label: "Item styles"
|
|
21835
|
+
})
|
|
21836
|
+
],
|
|
21837
|
+
layout: collectionLayout,
|
|
21838
|
+
description: "Repeat items in a grid or stack layout.",
|
|
21839
|
+
tags: ["collection", "grid", "stack", "repeater"],
|
|
21840
|
+
icon: "LayoutList",
|
|
21841
|
+
styleTokens: { spacing: "lg" }
|
|
21842
|
+
});
|
|
21843
|
+
var collectionBlockDefinition = {
|
|
21844
|
+
manifest: collectionManifest
|
|
21845
|
+
};
|
|
21846
|
+
|
|
21847
|
+
// ../blocks/src/system/blocks/feature-cards.ts
|
|
21848
|
+
function grid3(props2, children) {
|
|
21849
|
+
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
21850
|
+
}
|
|
21851
|
+
var sectionHeading = stack(
|
|
21852
|
+
{ gap: "sm", className: "rb-feature-cards-heading rb-mx-auto rb-max-w-3xl rb-text-center" },
|
|
21853
|
+
[
|
|
21854
|
+
text(
|
|
21855
|
+
{
|
|
21856
|
+
as: "h2",
|
|
21857
|
+
className: "rb-feature-cards-title rb-text-center"
|
|
21858
|
+
},
|
|
21859
|
+
when("content.title"),
|
|
21860
|
+
bind("content.title")
|
|
21861
|
+
),
|
|
21862
|
+
richText(
|
|
21863
|
+
{
|
|
21864
|
+
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
21865
|
+
style: textColorStyle("mutedText")
|
|
21866
|
+
},
|
|
21867
|
+
when("content.description"),
|
|
21868
|
+
bind("content.description")
|
|
21869
|
+
)
|
|
21870
|
+
]
|
|
21871
|
+
);
|
|
21872
|
+
var featureCard = styledCard(
|
|
21873
|
+
[
|
|
21874
|
+
media(
|
|
21875
|
+
{
|
|
21876
|
+
className: "rb-feature-card-media rb-w-full rb-h-auto rb-object-cover",
|
|
21877
|
+
style: {
|
|
21878
|
+
aspectRatio: { $bind: { from: "card.aspectRatio" } }
|
|
21879
|
+
}
|
|
21880
|
+
},
|
|
21881
|
+
when("card.media"),
|
|
21882
|
+
bind("card.media")
|
|
21883
|
+
),
|
|
21884
|
+
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
21885
|
+
text(
|
|
21886
|
+
{
|
|
21887
|
+
as: "h3",
|
|
21888
|
+
className: "rb-feature-card-title"
|
|
21889
|
+
},
|
|
21890
|
+
bind("card.title")
|
|
21891
|
+
),
|
|
21892
|
+
richText(
|
|
21893
|
+
{
|
|
21894
|
+
className: "rb-feature-card-body rb-prose rb-max-w-none",
|
|
21895
|
+
style: textColorStyle("mutedText")
|
|
21896
|
+
},
|
|
21897
|
+
when("card.body"),
|
|
21898
|
+
bind("card.body")
|
|
21899
|
+
),
|
|
21900
|
+
ctaRow({
|
|
21901
|
+
collectionPath: "ctas",
|
|
21902
|
+
itemName: "cta",
|
|
21903
|
+
gap: "sm",
|
|
21904
|
+
justify: "start",
|
|
21905
|
+
containerClassName: "rb-mt-auto"
|
|
21906
|
+
})
|
|
21907
|
+
])
|
|
21908
|
+
],
|
|
21909
|
+
{
|
|
21910
|
+
stylesFrom: "content._cardStyles",
|
|
21911
|
+
backgroundFrom: "content._cardStyles.background",
|
|
21912
|
+
baseClassName: "rb-feature-card rb-relative rb-isolate rb-overflow-hidden rb-border rb-flex rb-h-full rb-flex-col"
|
|
21913
|
+
},
|
|
21914
|
+
repeat("content.cards", "card")
|
|
21915
|
+
);
|
|
21916
|
+
var cardsLayout = styledSection({
|
|
21917
|
+
children: styledContainer({
|
|
21918
|
+
rootType: "stack",
|
|
21919
|
+
rootProps: { gap: "xl" },
|
|
21920
|
+
children: [
|
|
21921
|
+
sectionHeading,
|
|
21922
|
+
grid3(
|
|
21923
|
+
{
|
|
21924
|
+
cols: {
|
|
21925
|
+
$bind: {
|
|
21926
|
+
from: "content.columns",
|
|
21927
|
+
fallback: 3,
|
|
21928
|
+
coerce: "number"
|
|
21929
|
+
}
|
|
21930
|
+
},
|
|
21931
|
+
gap: "lg"
|
|
21932
|
+
},
|
|
21933
|
+
[featureCard]
|
|
21934
|
+
)
|
|
21935
|
+
]
|
|
21936
|
+
}),
|
|
21937
|
+
baseClass: "",
|
|
21938
|
+
spacing: "medium"
|
|
20151
21939
|
});
|
|
20152
|
-
var
|
|
20153
|
-
id: "block.
|
|
20154
|
-
title: "
|
|
21940
|
+
var featureCardsConfig = {
|
|
21941
|
+
id: "block.feature-cards",
|
|
21942
|
+
title: "Feature Cards",
|
|
20155
21943
|
category: "layout",
|
|
21944
|
+
includeContainerStyles: true,
|
|
21945
|
+
titleSource: "title",
|
|
20156
21946
|
additionalFields: [
|
|
20157
|
-
|
|
20158
|
-
id: "
|
|
20159
|
-
type: "
|
|
20160
|
-
label: "
|
|
20161
|
-
|
|
20162
|
-
|
|
20163
|
-
|
|
20164
|
-
|
|
20165
|
-
|
|
20166
|
-
|
|
20167
|
-
|
|
20168
|
-
|
|
21947
|
+
{
|
|
21948
|
+
id: "title",
|
|
21949
|
+
type: "text",
|
|
21950
|
+
label: "Title",
|
|
21951
|
+
required: false,
|
|
21952
|
+
multiline: false,
|
|
21953
|
+
maxLength: 120
|
|
21954
|
+
},
|
|
21955
|
+
{
|
|
21956
|
+
id: "description",
|
|
21957
|
+
type: "richText",
|
|
21958
|
+
label: "Description",
|
|
21959
|
+
required: false,
|
|
21960
|
+
ui: {
|
|
21961
|
+
richTextVariant: "limited"
|
|
21962
|
+
}
|
|
21963
|
+
},
|
|
21964
|
+
{
|
|
20169
21965
|
id: "columns",
|
|
20170
21966
|
type: "select",
|
|
20171
21967
|
label: "Columns",
|
|
20172
|
-
|
|
21968
|
+
required: false,
|
|
20173
21969
|
defaultValue: "3",
|
|
21970
|
+
multiple: false,
|
|
20174
21971
|
options: [
|
|
20175
21972
|
{ value: "2", label: "2 columns" },
|
|
20176
21973
|
{ value: "3", label: "3 columns" },
|
|
20177
21974
|
{ value: "4", label: "4 columns" }
|
|
20178
21975
|
],
|
|
20179
|
-
ui: {
|
|
20180
|
-
intent: "display",
|
|
20181
|
-
visibleWhen: { field: "layout", equals: "grid" }
|
|
20182
|
-
}
|
|
20183
|
-
}),
|
|
20184
|
-
parseFieldDefinition({
|
|
20185
|
-
id: "gap",
|
|
20186
|
-
type: "select",
|
|
20187
|
-
label: "Gap",
|
|
20188
|
-
defaultValue: "medium",
|
|
20189
|
-
options: [
|
|
20190
|
-
{ value: "none", label: "None" },
|
|
20191
|
-
{ value: "compact", label: "Compact" },
|
|
20192
|
-
{ value: "cozy", label: "Cozy" },
|
|
20193
|
-
{ value: "medium", label: "Medium" },
|
|
20194
|
-
{ value: "comfortable", label: "Comfortable" },
|
|
20195
|
-
{ value: "spacious", label: "Spacious" }
|
|
20196
|
-
],
|
|
20197
21976
|
ui: { intent: "display" }
|
|
20198
|
-
}
|
|
20199
|
-
|
|
20200
|
-
"
|
|
20201
|
-
"
|
|
20202
|
-
|
|
20203
|
-
|
|
20204
|
-
|
|
20205
|
-
|
|
20206
|
-
|
|
20207
|
-
|
|
21977
|
+
},
|
|
21978
|
+
{
|
|
21979
|
+
id: "cards",
|
|
21980
|
+
type: "repeater",
|
|
21981
|
+
label: "Cards",
|
|
21982
|
+
required: false,
|
|
21983
|
+
minItems: 1,
|
|
21984
|
+
maxItems: 8,
|
|
21985
|
+
itemLabel: "Card",
|
|
21986
|
+
itemLabelSource: "title",
|
|
21987
|
+
allowConversion: true,
|
|
21988
|
+
ui: {
|
|
21989
|
+
intent: "content"
|
|
21990
|
+
},
|
|
21991
|
+
schema: {
|
|
21992
|
+
fields: [
|
|
21993
|
+
{
|
|
21994
|
+
id: "media",
|
|
21995
|
+
type: "media",
|
|
21996
|
+
label: "Image",
|
|
21997
|
+
required: false,
|
|
21998
|
+
mediaKinds: ["image"]
|
|
21999
|
+
},
|
|
22000
|
+
createAspectRatioField({
|
|
22001
|
+
id: "aspectRatio",
|
|
22002
|
+
label: "Image aspect ratio",
|
|
22003
|
+
defaultValue: "4/3",
|
|
22004
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
22005
|
+
}),
|
|
22006
|
+
{
|
|
22007
|
+
id: "title",
|
|
22008
|
+
type: "text",
|
|
22009
|
+
label: "Title",
|
|
22010
|
+
required: true,
|
|
22011
|
+
multiline: false,
|
|
22012
|
+
maxLength: 120
|
|
22013
|
+
},
|
|
22014
|
+
{
|
|
22015
|
+
id: "body",
|
|
22016
|
+
type: "richText",
|
|
22017
|
+
label: "Text",
|
|
22018
|
+
required: false,
|
|
22019
|
+
ui: {
|
|
22020
|
+
richTextVariant: "limited"
|
|
22021
|
+
}
|
|
22022
|
+
},
|
|
22023
|
+
createCtasRepeater({
|
|
22024
|
+
label: "Calls to action",
|
|
22025
|
+
itemLabel: "CTA",
|
|
22026
|
+
maxItems: 1,
|
|
22027
|
+
button: {
|
|
22028
|
+
variants: [
|
|
22029
|
+
{ value: "primary", label: "Primary" },
|
|
22030
|
+
{ value: "secondary", label: "Secondary" },
|
|
22031
|
+
{ value: "outline", label: "Outline" },
|
|
22032
|
+
{ value: "ghost", label: "Ghost" },
|
|
22033
|
+
{ value: "link", label: "Link" }
|
|
22034
|
+
],
|
|
22035
|
+
defaultVariant: "ghost"
|
|
22036
|
+
}
|
|
22037
|
+
})
|
|
22038
|
+
]
|
|
20208
22039
|
}
|
|
20209
|
-
|
|
22040
|
+
},
|
|
20210
22041
|
cardStylesField({
|
|
20211
22042
|
id: "_cardStyles",
|
|
20212
|
-
label: "
|
|
22043
|
+
label: "Card styles"
|
|
20213
22044
|
})
|
|
20214
22045
|
],
|
|
20215
|
-
layout:
|
|
20216
|
-
|
|
20217
|
-
|
|
20218
|
-
|
|
20219
|
-
|
|
20220
|
-
|
|
20221
|
-
|
|
20222
|
-
|
|
22046
|
+
layout: cardsLayout,
|
|
22047
|
+
variants: {
|
|
22048
|
+
cards: cardsLayout
|
|
22049
|
+
},
|
|
22050
|
+
defaultVariant: "cards",
|
|
22051
|
+
variantOptions: {
|
|
22052
|
+
cards: {
|
|
22053
|
+
label: "Cards",
|
|
22054
|
+
description: "A responsive grid of image cards with optional calls to action."
|
|
22055
|
+
}
|
|
22056
|
+
},
|
|
22057
|
+
description: "A card grid for offerings, services, classes, benefits, or featured links.",
|
|
22058
|
+
tags: ["cards", "features", "offerings", "services", "classes", "grid", "links"],
|
|
22059
|
+
icon: "PanelsTopLeft"
|
|
22060
|
+
};
|
|
22061
|
+
var featureCardsManifest = createBlockManifest(featureCardsConfig);
|
|
22062
|
+
var featureCardsBlockDefinition = {
|
|
22063
|
+
manifest: featureCardsManifest
|
|
20223
22064
|
};
|
|
20224
22065
|
|
|
20225
22066
|
// ../blocks/src/system/fields/carousel.ts
|
|
@@ -20307,69 +22148,6 @@ function createCarouselBehaviorFields(options = {}) {
|
|
|
20307
22148
|
return fields3;
|
|
20308
22149
|
}
|
|
20309
22150
|
|
|
20310
|
-
// ../blocks/src/system/fields/imageLayout.ts
|
|
20311
|
-
function createImageColSizeField(options = {}) {
|
|
20312
|
-
const {
|
|
20313
|
-
id = "imageColSize",
|
|
20314
|
-
label = "Image column size",
|
|
20315
|
-
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
20316
|
-
defaultValue = "1/3",
|
|
20317
|
-
uiIntent = "display",
|
|
20318
|
-
visibleWhen
|
|
20319
|
-
} = options;
|
|
20320
|
-
return {
|
|
20321
|
-
id,
|
|
20322
|
-
type: "select",
|
|
20323
|
-
label,
|
|
20324
|
-
description,
|
|
20325
|
-
required: false,
|
|
20326
|
-
defaultValue,
|
|
20327
|
-
multiple: false,
|
|
20328
|
-
options: [
|
|
20329
|
-
{ value: "1/4", label: "Small (1/4)" },
|
|
20330
|
-
{ value: "1/3", label: "Medium (1/3)" },
|
|
20331
|
-
{ value: "2/5", label: "Large (2/5)" },
|
|
20332
|
-
{ value: "1/2", label: "Extra large (1/2)" },
|
|
20333
|
-
{ value: "2/3", label: "Huge (2/3)" }
|
|
20334
|
-
],
|
|
20335
|
-
ui: {
|
|
20336
|
-
intent: uiIntent,
|
|
20337
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
20338
|
-
}
|
|
20339
|
-
};
|
|
20340
|
-
}
|
|
20341
|
-
function createImagePositionField(options = {}) {
|
|
20342
|
-
const {
|
|
20343
|
-
id = "imagePosition",
|
|
20344
|
-
label = "Image position",
|
|
20345
|
-
description = "Choose which side the image appears on.",
|
|
20346
|
-
defaultValue = "left",
|
|
20347
|
-
includeAlternate = false,
|
|
20348
|
-
uiIntent = "display",
|
|
20349
|
-
visibleWhen
|
|
20350
|
-
} = options;
|
|
20351
|
-
const positionOptions = [
|
|
20352
|
-
{ value: "left", label: "Left" },
|
|
20353
|
-
{ value: "right", label: "Right" },
|
|
20354
|
-
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
20355
|
-
];
|
|
20356
|
-
return {
|
|
20357
|
-
id,
|
|
20358
|
-
type: "select",
|
|
20359
|
-
label,
|
|
20360
|
-
description,
|
|
20361
|
-
required: false,
|
|
20362
|
-
defaultValue,
|
|
20363
|
-
multiple: false,
|
|
20364
|
-
// Spread to get a mutable array type without unsafe casts.
|
|
20365
|
-
options: [...positionOptions],
|
|
20366
|
-
ui: {
|
|
20367
|
-
intent: uiIntent,
|
|
20368
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
20369
|
-
}
|
|
20370
|
-
};
|
|
20371
|
-
}
|
|
20372
|
-
|
|
20373
22151
|
// ../blocks/src/system/blocks/media-text.ts
|
|
20374
22152
|
var mediaTextFrameCapability = defineFrameCapability([
|
|
20375
22153
|
"plain",
|
|
@@ -20493,26 +22271,13 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20493
22271
|
},
|
|
20494
22272
|
ui: { intent: "behavior" }
|
|
20495
22273
|
}),
|
|
20496
|
-
{
|
|
22274
|
+
createAspectRatioField({
|
|
20497
22275
|
id: "aspectRatio",
|
|
20498
|
-
type: "select",
|
|
20499
22276
|
label: "Media aspect ratio",
|
|
20500
22277
|
description: "Crop media to a consistent aspect ratio.",
|
|
20501
|
-
required: false,
|
|
20502
22278
|
defaultValue: "auto",
|
|
20503
|
-
|
|
20504
|
-
|
|
20505
|
-
{ value: "auto", label: "Auto (original)" },
|
|
20506
|
-
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
20507
|
-
{ value: "4/3", label: "4:3 (Standard)" },
|
|
20508
|
-
{ value: "1/1", label: "1:1 (Square)" },
|
|
20509
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
20510
|
-
],
|
|
20511
|
-
ui: {
|
|
20512
|
-
intent: "display",
|
|
20513
|
-
visibleWhen: { field: "images", notEquals: null }
|
|
20514
|
-
}
|
|
20515
|
-
},
|
|
22279
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
22280
|
+
}),
|
|
20516
22281
|
{
|
|
20517
22282
|
id: "text",
|
|
20518
22283
|
type: "richText",
|
|
@@ -20642,7 +22407,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20642
22407
|
whenImagesLength(0)
|
|
20643
22408
|
);
|
|
20644
22409
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
20645
|
-
const
|
|
22410
|
+
const defaultLayout2 = styledSection({
|
|
20646
22411
|
children: styledContainer({
|
|
20647
22412
|
rootType: "stack",
|
|
20648
22413
|
rootProps: { gap: "lg" },
|
|
@@ -20674,9 +22439,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20674
22439
|
spacing: "medium"
|
|
20675
22440
|
});
|
|
20676
22441
|
return {
|
|
20677
|
-
layout:
|
|
22442
|
+
layout: defaultLayout2,
|
|
20678
22443
|
variants: {
|
|
20679
|
-
default:
|
|
22444
|
+
default: defaultLayout2
|
|
20680
22445
|
},
|
|
20681
22446
|
defaultVariant: "default",
|
|
20682
22447
|
variantOptions: {
|
|
@@ -24076,7 +25841,7 @@ var embedBlockDefinition = {
|
|
|
24076
25841
|
};
|
|
24077
25842
|
|
|
24078
25843
|
// ../blocks/src/system/blocks/image-gallery.ts
|
|
24079
|
-
var
|
|
25844
|
+
var grid4 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
24080
25845
|
var galleryContainer = (children, opts) => {
|
|
24081
25846
|
const gap = opts?.gap ?? "md";
|
|
24082
25847
|
const withExtraClass = (baseClass) => opts?.className ? `${baseClass} ${opts.className}` : baseClass;
|
|
@@ -24156,7 +25921,7 @@ var galleryItem = (options) => stack(
|
|
|
24156
25921
|
],
|
|
24157
25922
|
repeat("content.images", "item")
|
|
24158
25923
|
);
|
|
24159
|
-
var gridLayout3 =
|
|
25924
|
+
var gridLayout3 = grid4(
|
|
24160
25925
|
{
|
|
24161
25926
|
className: "rb-grid rb-grid-cols-1 rb-gap-4 rb-sm-grid-cols-2 rb-md-grid-cols-3"
|
|
24162
25927
|
},
|
|
@@ -24759,7 +26524,7 @@ var imageGalleryBlockDefinition = {
|
|
|
24759
26524
|
};
|
|
24760
26525
|
|
|
24761
26526
|
// ../blocks/src/system/blocks/video-grid.ts
|
|
24762
|
-
var
|
|
26527
|
+
var grid5 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
24763
26528
|
var videoItem = (options) => stack(
|
|
24764
26529
|
{ gap: "xs", className: options.containerClassName },
|
|
24765
26530
|
[
|
|
@@ -24809,7 +26574,7 @@ var gridColumnsClass = (columns) => {
|
|
|
24809
26574
|
return "rb-grid rb-grid-cols-1 rb-gap-6 rb-sm-grid-cols-2 rb-md-grid-cols-3";
|
|
24810
26575
|
}
|
|
24811
26576
|
};
|
|
24812
|
-
var createGridLayout = (columns) =>
|
|
26577
|
+
var createGridLayout = (columns) => grid5(
|
|
24813
26578
|
{
|
|
24814
26579
|
className: gridColumnsClass(columns)
|
|
24815
26580
|
},
|
|
@@ -27973,6 +29738,40 @@ var systemBlockDefinitionsRaw = [
|
|
|
27973
29738
|
})
|
|
27974
29739
|
]
|
|
27975
29740
|
})),
|
|
29741
|
+
withDesignCapability("block.intro", introBlockDefinition, declareBlockDesignCapability({
|
|
29742
|
+
sectionSurfaces: "supported",
|
|
29743
|
+
contentFrames: ["plain", "panel"],
|
|
29744
|
+
itemSurfaces: "unsupported",
|
|
29745
|
+
headingDecorations: ["organic-squiggle"]
|
|
29746
|
+
}), defineBlockDesignMetadata({
|
|
29747
|
+
flow: bodyFlow,
|
|
29748
|
+
layoutProfiles: [
|
|
29749
|
+
layoutProfile({
|
|
29750
|
+
variantKey: "centered-copy",
|
|
29751
|
+
family: "centered",
|
|
29752
|
+
weight: "featured",
|
|
29753
|
+
bias: "soft"
|
|
29754
|
+
}),
|
|
29755
|
+
layoutProfile({
|
|
29756
|
+
variantKey: "statement-copy",
|
|
29757
|
+
family: "split",
|
|
29758
|
+
weight: "featured",
|
|
29759
|
+
bias: "merge"
|
|
29760
|
+
}),
|
|
29761
|
+
layoutProfile({
|
|
29762
|
+
variantKey: "statement-media",
|
|
29763
|
+
family: "media-text",
|
|
29764
|
+
weight: "featured",
|
|
29765
|
+
bias: "soft"
|
|
29766
|
+
}),
|
|
29767
|
+
layoutProfile({
|
|
29768
|
+
variantKey: "media-copy",
|
|
29769
|
+
family: "media-text",
|
|
29770
|
+
weight: "featured",
|
|
29771
|
+
bias: "soft"
|
|
29772
|
+
})
|
|
29773
|
+
]
|
|
29774
|
+
})),
|
|
27976
29775
|
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
27977
29776
|
flow: bodyFlow,
|
|
27978
29777
|
layoutProfiles: [
|
|
@@ -28033,9 +29832,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
28033
29832
|
flow: conversionFlow,
|
|
28034
29833
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
28035
29834
|
})),
|
|
28036
|
-
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(
|
|
29835
|
+
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
29836
|
+
sectionSurfaces: "supported",
|
|
29837
|
+
contentFrames: ["plain", "panel"],
|
|
29838
|
+
itemSurfaces: "supported",
|
|
29839
|
+
accordionIconSets: ["plus", "chevron", "caret", "minimal-cross"]
|
|
29840
|
+
}), standardEyebrowTreatments), defineBlockDesignMetadata({
|
|
28037
29841
|
flow: bodyFlow,
|
|
28038
|
-
layoutProfiles: [
|
|
29842
|
+
layoutProfiles: [
|
|
29843
|
+
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
29844
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
29845
|
+
]
|
|
28039
29846
|
})),
|
|
28040
29847
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
28041
29848
|
flow: siteChromeFlow,
|
|
@@ -28049,7 +29856,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
28049
29856
|
sectionSurfaces: "supported",
|
|
28050
29857
|
contentFrames: ["plain", "panel"],
|
|
28051
29858
|
itemSurfaces: "supported",
|
|
28052
|
-
testimonialCardTreatments: ["default", "accent-quote"]
|
|
29859
|
+
testimonialCardTreatments: ["default", "accent-quote"],
|
|
29860
|
+
headingDecorations: ["short-center-rule"]
|
|
28053
29861
|
}), defineBlockDesignMetadata({
|
|
28054
29862
|
flow: proofFlow,
|
|
28055
29863
|
layoutProfiles: [
|
|
@@ -28075,6 +29883,22 @@ var systemBlockDefinitionsRaw = [
|
|
|
28075
29883
|
flow: offeringsFlow,
|
|
28076
29884
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "grid", weight: "standard" })]
|
|
28077
29885
|
})),
|
|
29886
|
+
withDesignCapability("block.feature-cards", featureCardsBlockDefinition, declareBlockDesignCapability({
|
|
29887
|
+
sectionSurfaces: "supported",
|
|
29888
|
+
contentFrames: ["plain", "panel"],
|
|
29889
|
+
itemSurfaces: "supported",
|
|
29890
|
+
headingDecorations: ["short-center-rule"]
|
|
29891
|
+
}), defineBlockDesignMetadata({
|
|
29892
|
+
flow: offeringsFlow,
|
|
29893
|
+
layoutProfiles: [
|
|
29894
|
+
layoutProfile({
|
|
29895
|
+
variantKey: "cards",
|
|
29896
|
+
family: "grid",
|
|
29897
|
+
weight: "standard",
|
|
29898
|
+
bias: "soft"
|
|
29899
|
+
})
|
|
29900
|
+
]
|
|
29901
|
+
})),
|
|
28078
29902
|
withDesignCapability("block.media-text", mediaTextBlockDefinition, mediaPanelCapable(), defineBlockDesignMetadata({
|
|
28079
29903
|
flow: mediaFlow,
|
|
28080
29904
|
layoutProfiles: [
|