@riverbankcms/sdk 0.76.0 → 0.77.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-X2HWXFOL.mjs → PreviewEditorSidebar-DVUG7GK4.mjs} +1019 -442
- package/dist/{PreviewEditorUI-AQXIXPOH.mjs → PreviewEditorUI-P7RN4CDS.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +538 -20
- package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -0
- package/dist/_dts/block-form/src/client/index.d.ts +2 -2
- package/dist/_dts/block-form/src/index.d.ts +2 -1
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +57 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +20 -2
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/intro.d.ts +24 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -34
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +30 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -1
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +7 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +16 -2
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +5 -4
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
- package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
- package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
- package/dist/_dts/sdk/src/client/types.d.ts +9 -0
- package/dist/_dts/sdk/src/client.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
- package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
- package/dist/_dts/sdk/src/index.d.ts +2 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -0
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/fonts/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -27
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +16 -0
- package/dist/_dts/theme-core/src/schema.d.ts +306 -30
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +81 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +6 -4
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +81 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +119 -3
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +13 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +402 -13
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/persistedIdParseResult.d.ts +9 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +20 -4
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +74 -2
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +189 -0
- package/dist/{chunk-Q4OLG66B.mjs → chunk-2SPENC5M.mjs} +476 -153
- package/dist/{chunk-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
- package/dist/{chunk-TW2Y4RR5.mjs → chunk-IENWFSLO.mjs} +365 -52
- package/dist/{chunk-LYI7TEMH.mjs → chunk-KWJPDZH2.mjs} +4682 -1463
- package/dist/{chunk-V5VORNEJ.mjs → chunk-ZYEJLCTN.mjs} +1 -1
- package/dist/cli/index.mjs +2314 -267
- package/dist/client/{accordion-2YHIBOZH.mjs → accordion-RZMQSYLR.mjs} +1 -1
- package/dist/client/{bookingForm-35IBDWAS.mjs → bookingForm-NF4ASVNV.mjs} +2 -2
- package/dist/client/bookings.mjs +92 -0
- package/dist/client/{carousel-K6XG7NZQ.mjs → carousel-LDX47ZIK.mjs} +1 -1
- package/dist/client/{cart-HCFYUTTU.mjs → cart-RGXDS5F4.mjs} +3 -3
- package/dist/client/{checkout-J3U4XR7K.mjs → checkout-P7WWSNNY.mjs} +3 -3
- package/dist/client/{chunk-BOIHIU7E.mjs → chunk-E2TDNXCL.mjs} +1 -1
- package/dist/client/{chunk-PFBX3IQL.mjs → chunk-GMVTOKYG.mjs} +2 -2
- package/dist/client/{chunk-FGUIVT2B.mjs → chunk-JNC7CGHX.mjs} +1 -1
- package/dist/client/{chunk-SNSWVZEP.mjs → chunk-L3DNHIJX.mjs} +3 -3
- package/dist/client/{chunk-7UOSCYY4.mjs → chunk-R56FQ3RR.mjs} +92 -0
- package/dist/client/{chunk-J227A3CQ.mjs → chunk-UFSWADAO.mjs} +1 -1
- package/dist/client/client.mjs +3579 -1351
- package/dist/client/{courseRegistration-ZBXS7VGI.mjs → courseRegistration-7F65K5ZR.mjs} +2 -2
- package/dist/client/{eventCalendar-EQQZHJBA.mjs → eventCalendar-GLSC5KTL.mjs} +4 -4
- package/dist/client/{eventCombined-JCFTGBFQ.mjs → eventCombined-ZHK4WKUR.mjs} +4 -4
- package/dist/client/{eventDetails-HLUTQSYY.mjs → eventDetails-E3PJYBIN.mjs} +4 -4
- package/dist/client/{eventListing-FG4MICVB.mjs → eventListing-EMS3WC3E.mjs} +4 -4
- package/dist/client/{eventRegistration-GUEB7LBT.mjs → eventRegistration-NZOTVNPI.mjs} +4 -4
- package/dist/client/{form-YQEW4YIT.mjs → form-ETFZFATW.mjs} +1 -1
- package/dist/client/{headerSection-GTR3TTRM.mjs → headerSection-4LBP7ULT.mjs} +2 -2
- package/dist/client/hooks.mjs +2226 -402
- package/dist/client/{locationMap-SPC7VGUH.mjs → locationMap-5M655YSJ.mjs} +1 -1
- package/dist/client/{newsletterForm-4IW5BLID.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
- package/dist/client/{productDetail-KP5H2WJO.mjs → productDetail-O4DOCWQG.mjs} +3 -3
- package/dist/client/{productList-3M3M72XZ.mjs → productList-A5RO5WIS.mjs} +3 -3
- package/dist/client/rendering/client.mjs +198 -32
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +3573 -1355
- package/dist/client/{shop-ACQKVGOM.mjs → shop-L4MZH4I2.mjs} +3 -3
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/{sdk-runtime-K7HNB4U2.mjs → sdk-runtime-6UT2S7KZ.mjs} +5 -5
- package/dist/server/components.mjs +3497 -1333
- package/dist/server/config-validation.mjs +2229 -402
- package/dist/server/config.mjs +2229 -402
- package/dist/server/data.mjs +2226 -402
- package/dist/server/index.mjs +31 -2
- package/dist/server/next.mjs +3503 -1329
- package/dist/server/page-converter.mjs +2213 -403
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3497 -1333
- package/dist/server/rendering.mjs +3497 -1333
- package/dist/server/routing.mjs +2250 -363
- package/dist/server/server.mjs +2243 -400
- package/dist/server/theme-bridge.mjs +1313 -1035
- package/dist/server/theme.mjs +237 -12
- package/dist/styles/index.css +1081 -1028
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +0 -8
package/dist/server/data.mjs
CHANGED
|
@@ -7460,6 +7460,47 @@ var eyebrowTreatmentValues = [
|
|
|
7460
7460
|
"pill-bounce",
|
|
7461
7461
|
"accent-pill-bounce"
|
|
7462
7462
|
];
|
|
7463
|
+
var visibleHeadingDecorationFamilyValues = [
|
|
7464
|
+
"organic-squiggle",
|
|
7465
|
+
"short-center-rule"
|
|
7466
|
+
];
|
|
7467
|
+
var visibleHeadingDecorationPlacementValues = [
|
|
7468
|
+
"after-heading",
|
|
7469
|
+
"between-heading-and-body",
|
|
7470
|
+
"under-centered-heading"
|
|
7471
|
+
];
|
|
7472
|
+
var headingDecorationOverrideValues = [
|
|
7473
|
+
"site-default",
|
|
7474
|
+
"on",
|
|
7475
|
+
"off"
|
|
7476
|
+
];
|
|
7477
|
+
var headingDecorationColorTokenValues = [
|
|
7478
|
+
"text",
|
|
7479
|
+
"primary",
|
|
7480
|
+
"secondary",
|
|
7481
|
+
"accent",
|
|
7482
|
+
"border",
|
|
7483
|
+
"muted"
|
|
7484
|
+
];
|
|
7485
|
+
var accordionIconSetValues = [
|
|
7486
|
+
"plus",
|
|
7487
|
+
"chevron",
|
|
7488
|
+
"caret",
|
|
7489
|
+
"minimal-cross"
|
|
7490
|
+
];
|
|
7491
|
+
var accordionIconColorTokenValues = [
|
|
7492
|
+
"text",
|
|
7493
|
+
"muted",
|
|
7494
|
+
"primary",
|
|
7495
|
+
"secondary",
|
|
7496
|
+
"accent",
|
|
7497
|
+
"current"
|
|
7498
|
+
];
|
|
7499
|
+
var accordionIconMotionValues = [
|
|
7500
|
+
"none",
|
|
7501
|
+
"rotate",
|
|
7502
|
+
"swap"
|
|
7503
|
+
];
|
|
7463
7504
|
function defineBlockDesignCapability(capability) {
|
|
7464
7505
|
return {
|
|
7465
7506
|
...capability,
|
|
@@ -7469,7 +7510,9 @@ function defineBlockDesignCapability(capability) {
|
|
|
7469
7510
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
7470
7511
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
7471
7512
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
7472
|
-
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
7513
|
+
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
7514
|
+
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
7515
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
7473
7516
|
};
|
|
7474
7517
|
}
|
|
7475
7518
|
|
|
@@ -7660,6 +7703,25 @@ var blockAppearancePresets = [
|
|
|
7660
7703
|
emphasis: "high"
|
|
7661
7704
|
}
|
|
7662
7705
|
}),
|
|
7706
|
+
defineBlockAppearancePreset({
|
|
7707
|
+
kind: "block-design",
|
|
7708
|
+
id: "intro-soft-earth-statement",
|
|
7709
|
+
target: "intro",
|
|
7710
|
+
label: "Soft Earth intro statement",
|
|
7711
|
+
blockKinds: ["block.intro"],
|
|
7712
|
+
design: {
|
|
7713
|
+
sectionSurface: "base",
|
|
7714
|
+
contentFrame: plainFrame,
|
|
7715
|
+
itemSurface: "none",
|
|
7716
|
+
transitionAfter: "soft-fade-short",
|
|
7717
|
+
emphasis: "high",
|
|
7718
|
+
headingDecoration: {
|
|
7719
|
+
family: "organic-squiggle",
|
|
7720
|
+
placement: "after-heading",
|
|
7721
|
+
colorToken: "primary"
|
|
7722
|
+
}
|
|
7723
|
+
}
|
|
7724
|
+
}),
|
|
7663
7725
|
defineBlockAppearancePreset({
|
|
7664
7726
|
kind: "block-design",
|
|
7665
7727
|
id: "offerings-calm-list",
|
|
@@ -7674,6 +7736,25 @@ var blockAppearancePresets = [
|
|
|
7674
7736
|
emphasis: "medium"
|
|
7675
7737
|
}
|
|
7676
7738
|
}),
|
|
7739
|
+
defineBlockAppearancePreset({
|
|
7740
|
+
kind: "block-design",
|
|
7741
|
+
id: "feature-cards-soft-earth-offerings",
|
|
7742
|
+
target: "feature-cards",
|
|
7743
|
+
label: "Soft Earth offering cards",
|
|
7744
|
+
blockKinds: ["block.feature-cards"],
|
|
7745
|
+
design: {
|
|
7746
|
+
sectionSurface: "base",
|
|
7747
|
+
contentFrame: plainFrame,
|
|
7748
|
+
itemSurface: "raised",
|
|
7749
|
+
transitionAfter: "none",
|
|
7750
|
+
emphasis: "high",
|
|
7751
|
+
headingDecoration: {
|
|
7752
|
+
family: "short-center-rule",
|
|
7753
|
+
placement: "under-centered-heading",
|
|
7754
|
+
colorToken: "primary"
|
|
7755
|
+
}
|
|
7756
|
+
}
|
|
7757
|
+
}),
|
|
7677
7758
|
defineBlockAppearancePreset({
|
|
7678
7759
|
kind: "block-design",
|
|
7679
7760
|
id: "events-base-calendar",
|
|
@@ -7802,6 +7883,26 @@ var blockAppearancePresets = [
|
|
|
7802
7883
|
testimonialCardTreatment: "accent-quote"
|
|
7803
7884
|
}
|
|
7804
7885
|
}),
|
|
7886
|
+
defineBlockAppearancePreset({
|
|
7887
|
+
kind: "block-design",
|
|
7888
|
+
id: "testimonials-soft-earth-proof-band",
|
|
7889
|
+
target: "testimonials",
|
|
7890
|
+
label: "Soft Earth proof band",
|
|
7891
|
+
blockKinds: ["block.testimonials"],
|
|
7892
|
+
design: {
|
|
7893
|
+
sectionSurface: "brand-depth-band",
|
|
7894
|
+
contentFrame: plainFrame,
|
|
7895
|
+
itemSurface: "none",
|
|
7896
|
+
transitionAfter: "soft-fade-short",
|
|
7897
|
+
emphasis: "high",
|
|
7898
|
+
testimonialCardTreatment: "accent-quote",
|
|
7899
|
+
headingDecoration: {
|
|
7900
|
+
family: "short-center-rule",
|
|
7901
|
+
placement: "under-centered-heading",
|
|
7902
|
+
colorToken: "border"
|
|
7903
|
+
}
|
|
7904
|
+
}
|
|
7905
|
+
}),
|
|
7805
7906
|
defineBlockAppearancePreset({
|
|
7806
7907
|
kind: "block-design",
|
|
7807
7908
|
id: "faq-base-accordion",
|
|
@@ -7830,6 +7931,25 @@ var blockAppearancePresets = [
|
|
|
7830
7931
|
emphasis: "low"
|
|
7831
7932
|
}
|
|
7832
7933
|
}),
|
|
7934
|
+
defineBlockAppearancePreset({
|
|
7935
|
+
kind: "block-design",
|
|
7936
|
+
id: "faq-soft-earth-two-column",
|
|
7937
|
+
target: "faq",
|
|
7938
|
+
label: "Soft Earth two-column FAQ",
|
|
7939
|
+
blockKinds: ["block.faq"],
|
|
7940
|
+
design: {
|
|
7941
|
+
sectionSurface: "base",
|
|
7942
|
+
contentFrame: plainFrame,
|
|
7943
|
+
itemSurface: "flat",
|
|
7944
|
+
transitionAfter: "none",
|
|
7945
|
+
emphasis: "medium",
|
|
7946
|
+
accordionIconTreatment: {
|
|
7947
|
+
iconSet: "plus",
|
|
7948
|
+
colorToken: "primary",
|
|
7949
|
+
motion: "swap"
|
|
7950
|
+
}
|
|
7951
|
+
}
|
|
7952
|
+
}),
|
|
7833
7953
|
defineBlockAppearancePreset({
|
|
7834
7954
|
kind: "block-design",
|
|
7835
7955
|
id: "contact-form-panel",
|
|
@@ -8515,6 +8635,97 @@ var confidentChip = defineButtonPersonality({
|
|
|
8515
8635
|
}
|
|
8516
8636
|
});
|
|
8517
8637
|
|
|
8638
|
+
// ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
8639
|
+
var earthPill = defineButtonPersonality({
|
|
8640
|
+
id: "earth-pill",
|
|
8641
|
+
name: "Earth Pill",
|
|
8642
|
+
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
8643
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
8644
|
+
buttonSystem: {
|
|
8645
|
+
global: {
|
|
8646
|
+
cornerStyle: "pill",
|
|
8647
|
+
shadow: "low",
|
|
8648
|
+
textTransform: "none",
|
|
8649
|
+
fontWeight: 500,
|
|
8650
|
+
borderWidth: 1,
|
|
8651
|
+
hoverTransform: "lift",
|
|
8652
|
+
hoverColor: "none",
|
|
8653
|
+
typography: "body",
|
|
8654
|
+
paddingPreset: "default"
|
|
8655
|
+
},
|
|
8656
|
+
sizes: {
|
|
8657
|
+
sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
|
|
8658
|
+
md: { padding: "0.625rem 1.35rem" },
|
|
8659
|
+
lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
|
|
8660
|
+
xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
|
|
8661
|
+
},
|
|
8662
|
+
variants: [
|
|
8663
|
+
{
|
|
8664
|
+
id: "primary",
|
|
8665
|
+
name: "Primary",
|
|
8666
|
+
enabled: true,
|
|
8667
|
+
priority: 1,
|
|
8668
|
+
background: { type: "solid", colorToken: "primary" },
|
|
8669
|
+
textColorToken: "primaryForeground",
|
|
8670
|
+
borderRadius: "rounded-full",
|
|
8671
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
8672
|
+
effects: {
|
|
8673
|
+
hover: [
|
|
8674
|
+
{ effectId: "lift", options: { translateY: "-1px" } },
|
|
8675
|
+
{ effectId: "background-on-hover", options: { colorToken: "accent" } }
|
|
8676
|
+
],
|
|
8677
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
8678
|
+
}
|
|
8679
|
+
},
|
|
8680
|
+
{
|
|
8681
|
+
id: "secondary",
|
|
8682
|
+
name: "Secondary",
|
|
8683
|
+
enabled: true,
|
|
8684
|
+
priority: 2,
|
|
8685
|
+
background: { type: "transparent" },
|
|
8686
|
+
textColorToken: "primary",
|
|
8687
|
+
borderRadius: "rounded-full",
|
|
8688
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
8689
|
+
effects: {
|
|
8690
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
8691
|
+
}
|
|
8692
|
+
},
|
|
8693
|
+
{
|
|
8694
|
+
id: "outline",
|
|
8695
|
+
name: "Outline",
|
|
8696
|
+
enabled: true,
|
|
8697
|
+
priority: 3,
|
|
8698
|
+
background: { type: "transparent" },
|
|
8699
|
+
textColorToken: "text",
|
|
8700
|
+
borderRadius: "rounded-full",
|
|
8701
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
8702
|
+
effects: {
|
|
8703
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
|
|
8704
|
+
}
|
|
8705
|
+
},
|
|
8706
|
+
{
|
|
8707
|
+
id: "ghost",
|
|
8708
|
+
name: "Ghost",
|
|
8709
|
+
enabled: true,
|
|
8710
|
+
priority: 3,
|
|
8711
|
+
background: { type: "transparent" },
|
|
8712
|
+
textColorToken: "primary",
|
|
8713
|
+
borderRadius: "rounded-full",
|
|
8714
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8715
|
+
sizes: {
|
|
8716
|
+
sm: { padding: "0.25rem 0", fontSize: "text-sm" },
|
|
8717
|
+
md: { padding: "0.375rem 0" },
|
|
8718
|
+
lg: { padding: "0.5rem 0", fontSize: "text-lg" },
|
|
8719
|
+
xl: { padding: "0.625rem 0", fontSize: "text-xl" }
|
|
8720
|
+
},
|
|
8721
|
+
effects: {
|
|
8722
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
|
|
8723
|
+
}
|
|
8724
|
+
}
|
|
8725
|
+
]
|
|
8726
|
+
}
|
|
8727
|
+
});
|
|
8728
|
+
|
|
8518
8729
|
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
8519
8730
|
var editorialLink = defineButtonPersonality({
|
|
8520
8731
|
id: "editorial-link",
|
|
@@ -8973,6 +9184,7 @@ var softPill = defineButtonPersonality({
|
|
|
8973
9184
|
// ../theme-core/src/buttons/personalities/index.ts
|
|
8974
9185
|
var buttonPersonalities = [
|
|
8975
9186
|
softPill,
|
|
9187
|
+
earthPill,
|
|
8976
9188
|
confidentChip,
|
|
8977
9189
|
editorialLink,
|
|
8978
9190
|
pebble,
|
|
@@ -9614,8 +9826,19 @@ var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
|
9614
9826
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
9615
9827
|
});
|
|
9616
9828
|
var proseLinkUnderlineStyleSchema = z21.enum(["solid", "dotted", "dashed"]);
|
|
9617
|
-
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
9618
|
-
|
|
9829
|
+
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
9830
|
+
"auto",
|
|
9831
|
+
"fromFont",
|
|
9832
|
+
"thin",
|
|
9833
|
+
"medium",
|
|
9834
|
+
"thick"
|
|
9835
|
+
]);
|
|
9836
|
+
var proseLinkUnderlineOffsetSchema = z21.enum([
|
|
9837
|
+
"auto",
|
|
9838
|
+
"tight",
|
|
9839
|
+
"normal",
|
|
9840
|
+
"loose"
|
|
9841
|
+
]);
|
|
9619
9842
|
var proseLinkStyleSchema = z21.object({
|
|
9620
9843
|
colorToken: themeColorTokenSchema.optional(),
|
|
9621
9844
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
@@ -9626,7 +9849,14 @@ var proseLinkStyleSchema = z21.object({
|
|
|
9626
9849
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
9627
9850
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
9628
9851
|
});
|
|
9629
|
-
var semanticSpacingSchema = z21.enum([
|
|
9852
|
+
var semanticSpacingSchema = z21.enum([
|
|
9853
|
+
"none",
|
|
9854
|
+
"compact",
|
|
9855
|
+
"cozy",
|
|
9856
|
+
"medium",
|
|
9857
|
+
"comfortable",
|
|
9858
|
+
"spacious"
|
|
9859
|
+
]);
|
|
9630
9860
|
var boxRoundedSchema = z21.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
9631
9861
|
var boxBackgroundOverlaySchema = z21.object({
|
|
9632
9862
|
type: z21.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
@@ -9648,12 +9878,36 @@ var boxBackgroundSchema = z21.object({
|
|
|
9648
9878
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
9649
9879
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
9650
9880
|
});
|
|
9881
|
+
var noHeadingDecorationSchema = z21.object({
|
|
9882
|
+
family: z21.literal("none"),
|
|
9883
|
+
placement: z21.literal("none")
|
|
9884
|
+
});
|
|
9885
|
+
var visibleHeadingDecorationSchema = z21.object({
|
|
9886
|
+
family: z21.enum(visibleHeadingDecorationFamilyValues),
|
|
9887
|
+
placement: z21.enum(visibleHeadingDecorationPlacementValues),
|
|
9888
|
+
colorToken: z21.enum(headingDecorationColorTokenValues).optional()
|
|
9889
|
+
});
|
|
9890
|
+
var headingDecorationSchema = z21.union([
|
|
9891
|
+
noHeadingDecorationSchema,
|
|
9892
|
+
visibleHeadingDecorationSchema
|
|
9893
|
+
]);
|
|
9894
|
+
var accordionIconTreatmentSchema = z21.object({
|
|
9895
|
+
iconSet: z21.enum(accordionIconSetValues),
|
|
9896
|
+
colorToken: z21.enum(accordionIconColorTokenValues),
|
|
9897
|
+
openColorToken: z21.enum(accordionIconColorTokenValues).optional(),
|
|
9898
|
+
motion: z21.enum(accordionIconMotionValues)
|
|
9899
|
+
});
|
|
9651
9900
|
var sectionStylesOverrideSchema = z21.object({
|
|
9652
9901
|
background: boxBackgroundSchema.nullable().optional(),
|
|
9653
9902
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
9654
9903
|
minHeight: z21.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
9655
9904
|
tileTreatment: z21.enum(tileTreatmentValues).nullable().optional(),
|
|
9656
|
-
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional()
|
|
9905
|
+
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
9906
|
+
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
9907
|
+
// Author-level override consumed by later block/editor rendering phases.
|
|
9908
|
+
// Keeping it in section styles lets existing block save APIs persist it.
|
|
9909
|
+
headingDecorationOverride: z21.enum(headingDecorationOverrideValues).nullable().optional(),
|
|
9910
|
+
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
9657
9911
|
});
|
|
9658
9912
|
var containerStylesOverrideSchema = z21.object({
|
|
9659
9913
|
background: boxBackgroundSchema.nullable().optional(),
|
|
@@ -9746,9 +10000,17 @@ var inputStyle = z21.object({
|
|
|
9746
10000
|
focus: z21.enum(["glow", "ring", "underline"]),
|
|
9747
10001
|
label: z21.enum(["inside", "above"])
|
|
9748
10002
|
});
|
|
9749
|
-
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"
|
|
10003
|
+
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"]);
|
|
9750
10004
|
var headerPositioning = z21.enum(["static", "sticky", "fixed"]);
|
|
9751
|
-
var headerNavStyle = z21.enum([
|
|
10005
|
+
var headerNavStyle = z21.enum([
|
|
10006
|
+
"minimal",
|
|
10007
|
+
"underline",
|
|
10008
|
+
"underline-grow",
|
|
10009
|
+
"capsule",
|
|
10010
|
+
"scale",
|
|
10011
|
+
"frosted",
|
|
10012
|
+
"solid"
|
|
10013
|
+
]);
|
|
9752
10014
|
var navFontWeight = z21.enum(["regular", "medium", "semibold", "bold"]);
|
|
9753
10015
|
var headerMaxWidth = z21.enum(["container", "full"]);
|
|
9754
10016
|
var headerContainerSchema = z21.object({
|
|
@@ -9796,8 +10058,22 @@ var dropdownStyleSchema = z21.object({
|
|
|
9796
10058
|
textSize: z21.enum(["xs", "sm", "base", "lg"]).optional()
|
|
9797
10059
|
// optional = no override (browser default)
|
|
9798
10060
|
}).optional();
|
|
9799
|
-
var headerCtaGapSchema = z21.enum([
|
|
9800
|
-
|
|
10061
|
+
var headerCtaGapSchema = z21.enum([
|
|
10062
|
+
"none",
|
|
10063
|
+
"tight",
|
|
10064
|
+
"compact",
|
|
10065
|
+
"default",
|
|
10066
|
+
"relaxed",
|
|
10067
|
+
"spacious"
|
|
10068
|
+
]);
|
|
10069
|
+
var headerCtaTreatmentSchema = z21.enum([
|
|
10070
|
+
"default",
|
|
10071
|
+
"primary",
|
|
10072
|
+
"secondary",
|
|
10073
|
+
"inverted",
|
|
10074
|
+
"outline",
|
|
10075
|
+
"ghost"
|
|
10076
|
+
]);
|
|
9801
10077
|
var navContainerSchema = z21.object({
|
|
9802
10078
|
type: z21.enum(["none", "pill", "glass"]).default("none"),
|
|
9803
10079
|
tint: z21.string().nullable().optional(),
|
|
@@ -9852,7 +10128,14 @@ var footerMaxWidth = z21.enum(["container", "full"]);
|
|
|
9852
10128
|
var footerMode = z21.enum(["default", "blocks", "default+blocks", "none"]);
|
|
9853
10129
|
var footerNavLayoutMode = z21.enum(["stack", "inline", "inline-wrap"]);
|
|
9854
10130
|
var footerNavLayoutAlign = z21.enum(["start", "center", "end", "space-between"]);
|
|
9855
|
-
var footerSpacing = z21.enum([
|
|
10131
|
+
var footerSpacing = z21.enum([
|
|
10132
|
+
"none",
|
|
10133
|
+
"tight",
|
|
10134
|
+
"compact",
|
|
10135
|
+
"default",
|
|
10136
|
+
"relaxed",
|
|
10137
|
+
"spacious"
|
|
10138
|
+
]);
|
|
9856
10139
|
var footerLogoPlacement = z21.enum(["left", "right", "above", "below"]);
|
|
9857
10140
|
var footerLogoSize = z21.enum(["sm", "md", "lg", "xl"]);
|
|
9858
10141
|
var footerLogoMaxHeight = z21.enum(["sm", "md", "lg", "xl"]);
|
|
@@ -9917,7 +10200,12 @@ var footerSchema = z21.object({
|
|
|
9917
10200
|
logo: footerLogoSchema.optional(),
|
|
9918
10201
|
bottomBar: footerBottomBarSchema.optional()
|
|
9919
10202
|
});
|
|
9920
|
-
var containerPaddingPresetSchema = z21.enum([
|
|
10203
|
+
var containerPaddingPresetSchema = z21.enum([
|
|
10204
|
+
"tight",
|
|
10205
|
+
"compact",
|
|
10206
|
+
"default",
|
|
10207
|
+
"relaxed"
|
|
10208
|
+
]);
|
|
9921
10209
|
var layoutSchema = z21.object({
|
|
9922
10210
|
containerPadding: z21.object({
|
|
9923
10211
|
mobile: containerPaddingPresetSchema.optional(),
|
|
@@ -9925,8 +10213,24 @@ var layoutSchema = z21.object({
|
|
|
9925
10213
|
desktop: containerPaddingPresetSchema.optional()
|
|
9926
10214
|
}).optional()
|
|
9927
10215
|
}).optional();
|
|
9928
|
-
var heroTypographySizeSchema = z21.enum([
|
|
9929
|
-
|
|
10216
|
+
var heroTypographySizeSchema = z21.enum([
|
|
10217
|
+
"sm",
|
|
10218
|
+
"base",
|
|
10219
|
+
"lg",
|
|
10220
|
+
"xl",
|
|
10221
|
+
"2xl",
|
|
10222
|
+
"3xl",
|
|
10223
|
+
"4xl",
|
|
10224
|
+
"5xl",
|
|
10225
|
+
"6xl",
|
|
10226
|
+
"editorial"
|
|
10227
|
+
]);
|
|
10228
|
+
var heroTypographyLineHeightSchema = z21.enum([
|
|
10229
|
+
"tight",
|
|
10230
|
+
"snug",
|
|
10231
|
+
"normal",
|
|
10232
|
+
"relaxed"
|
|
10233
|
+
]);
|
|
9930
10234
|
var heroResponsiveTypographySchema = z21.object({
|
|
9931
10235
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
9932
10236
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
@@ -10361,6 +10665,28 @@ var warmNeutralCream = definePaletteVariant({
|
|
|
10361
10665
|
{ name: "border", hex: "#e0d2b8" }
|
|
10362
10666
|
]
|
|
10363
10667
|
});
|
|
10668
|
+
var warmNeutralSoftEarth = definePaletteVariant({
|
|
10669
|
+
id: "warm-neutral-soft-earth",
|
|
10670
|
+
name: "Warm Neutral \u2014 Soft Earth",
|
|
10671
|
+
description: "Cream ground with terracotta primary, clay accents, and olive depth.",
|
|
10672
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
10673
|
+
mode: "light",
|
|
10674
|
+
colors: [
|
|
10675
|
+
{ name: "primary", hex: "#a8573d" },
|
|
10676
|
+
{ name: "secondary", hex: "#72765c" },
|
|
10677
|
+
{ name: "accent", hex: "#c87557" },
|
|
10678
|
+
{ name: "success", hex: "#687854" },
|
|
10679
|
+
{ name: "warning", hex: "#b7863e" },
|
|
10680
|
+
{ name: "destructive", hex: "#a54b3c" },
|
|
10681
|
+
{ name: "background", hex: "#fbf6eb" },
|
|
10682
|
+
{ name: "surface", hex: "#fffdf7" },
|
|
10683
|
+
{ name: "surfaceAlt", hex: "#f0e4d3" },
|
|
10684
|
+
{ name: "muted", hex: "#eadbc6" },
|
|
10685
|
+
{ name: "text", hex: "#30281f" },
|
|
10686
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
10687
|
+
{ name: "border", hex: "#d9c8b2" }
|
|
10688
|
+
]
|
|
10689
|
+
});
|
|
10364
10690
|
var warmNeutralForest = definePaletteVariant({
|
|
10365
10691
|
id: "warm-neutral-forest",
|
|
10366
10692
|
name: "Warm Neutral \u2014 Forest",
|
|
@@ -10394,6 +10720,7 @@ var paletteVariants = [
|
|
|
10394
10720
|
// Warm-neutral family
|
|
10395
10721
|
warmNeutralClay,
|
|
10396
10722
|
warmNeutralCream,
|
|
10723
|
+
warmNeutralSoftEarth,
|
|
10397
10724
|
warmNeutralForest,
|
|
10398
10725
|
// High-contrast family
|
|
10399
10726
|
highContrastInk,
|
|
@@ -10412,6 +10739,12 @@ var paletteVariantsById = new Map(
|
|
|
10412
10739
|
function asHeaderLookId(value) {
|
|
10413
10740
|
return value;
|
|
10414
10741
|
}
|
|
10742
|
+
function asHeaderLayoutId(value) {
|
|
10743
|
+
return value;
|
|
10744
|
+
}
|
|
10745
|
+
function asHeaderStyleId(value) {
|
|
10746
|
+
return value;
|
|
10747
|
+
}
|
|
10415
10748
|
function baseHeader(theme) {
|
|
10416
10749
|
const {
|
|
10417
10750
|
navLinkStyle: _navLinkStyle,
|
|
@@ -10430,67 +10763,427 @@ function baseHeader(theme) {
|
|
|
10430
10763
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
10431
10764
|
};
|
|
10432
10765
|
}
|
|
10433
|
-
|
|
10434
|
-
|
|
10435
|
-
|
|
10436
|
-
|
|
10766
|
+
var headerLayoutCatalog = [
|
|
10767
|
+
{
|
|
10768
|
+
id: asHeaderLayoutId("classic"),
|
|
10769
|
+
label: "Classic",
|
|
10770
|
+
description: "Logo and navigation in one practical horizontal row.",
|
|
10771
|
+
structure: "inline-classic",
|
|
10437
10772
|
variant: "classic",
|
|
10438
|
-
|
|
10773
|
+
defaultPositioning: "sticky",
|
|
10774
|
+
shrinkOnScroll: false
|
|
10775
|
+
},
|
|
10776
|
+
{
|
|
10777
|
+
id: asHeaderLayoutId("centered"),
|
|
10778
|
+
label: "Centered",
|
|
10779
|
+
description: "Logo centered above a balanced navigation row.",
|
|
10780
|
+
structure: "centered-stack",
|
|
10781
|
+
variant: "centered",
|
|
10782
|
+
defaultPositioning: "static",
|
|
10783
|
+
shrinkOnScroll: false,
|
|
10784
|
+
maxRecommendedNavItems: 5,
|
|
10785
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
10786
|
+
},
|
|
10787
|
+
{
|
|
10788
|
+
id: asHeaderLayoutId("floating"),
|
|
10789
|
+
label: "Floating",
|
|
10790
|
+
description: "Detached header chrome that sits over the opening section.",
|
|
10791
|
+
structure: "floating-shell",
|
|
10792
|
+
variant: "floating",
|
|
10793
|
+
defaultPositioning: "fixed",
|
|
10439
10794
|
shrinkOnScroll: true,
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
|
|
10443
|
-
|
|
10444
|
-
|
|
10445
|
-
|
|
10446
|
-
|
|
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
|
-
|
|
10795
|
+
maxRecommendedNavItems: 5,
|
|
10796
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
10797
|
+
}
|
|
10798
|
+
];
|
|
10799
|
+
function supportedLayouts(ids) {
|
|
10800
|
+
return ids.map(asHeaderLayoutId);
|
|
10801
|
+
}
|
|
10802
|
+
var headerStyleCatalog = [
|
|
10803
|
+
{
|
|
10804
|
+
id: asHeaderStyleId("minimal"),
|
|
10805
|
+
label: "Minimal",
|
|
10806
|
+
description: "Quiet surface with simple color-change navigation.",
|
|
10807
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10808
|
+
navInteraction: "color-change",
|
|
10809
|
+
surface: "neutral",
|
|
10810
|
+
navTypography: "plain"
|
|
10811
|
+
},
|
|
10812
|
+
{
|
|
10813
|
+
id: asHeaderStyleId("fine-line"),
|
|
10814
|
+
label: "Fine Line",
|
|
10815
|
+
description: "Light surface with a crisp lower rule and underline hover.",
|
|
10816
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10817
|
+
navInteraction: "underline-grow",
|
|
10818
|
+
surface: "bordered",
|
|
10819
|
+
navTypography: "plain"
|
|
10820
|
+
},
|
|
10821
|
+
{
|
|
10822
|
+
id: asHeaderStyleId("soft-bar"),
|
|
10823
|
+
label: "Soft Bar",
|
|
10824
|
+
description: "Soft tinted surface with gentle pill hover states.",
|
|
10825
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10826
|
+
navInteraction: "pill-background",
|
|
10827
|
+
surface: "soft",
|
|
10828
|
+
navTypography: "plain"
|
|
10829
|
+
},
|
|
10830
|
+
{
|
|
10831
|
+
id: asHeaderStyleId("pill-nav"),
|
|
10832
|
+
label: "Pill Nav",
|
|
10833
|
+
description: "A calm pill navigation rail over a neutral header.",
|
|
10834
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10835
|
+
navInteraction: "pill-background",
|
|
10836
|
+
surface: "soft",
|
|
10837
|
+
navTypography: "plain"
|
|
10838
|
+
},
|
|
10839
|
+
{
|
|
10840
|
+
id: asHeaderStyleId("brand-bar"),
|
|
10841
|
+
label: "Brand Bar",
|
|
10842
|
+
description: "Solid brand surface with high-contrast navigation.",
|
|
10843
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10844
|
+
navInteraction: "color-change",
|
|
10845
|
+
surface: "brand-solid",
|
|
10846
|
+
navTypography: "brand-caps"
|
|
10847
|
+
},
|
|
10848
|
+
{
|
|
10849
|
+
id: asHeaderStyleId("brand-underline"),
|
|
10850
|
+
label: "Brand Underline",
|
|
10851
|
+
description: "Brand surface with underline-grow navigation.",
|
|
10852
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
10853
|
+
navInteraction: "underline-grow",
|
|
10854
|
+
surface: "brand-solid",
|
|
10855
|
+
navTypography: "brand-caps"
|
|
10856
|
+
},
|
|
10857
|
+
{
|
|
10858
|
+
id: asHeaderStyleId("brand-pill"),
|
|
10859
|
+
label: "Brand Pill",
|
|
10860
|
+
description: "Solid brand surface with rounded active and hover states.",
|
|
10861
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
10862
|
+
navInteraction: "pill-background",
|
|
10863
|
+
surface: "brand-solid",
|
|
10864
|
+
navTypography: "brand-caps"
|
|
10865
|
+
},
|
|
10866
|
+
{
|
|
10867
|
+
id: asHeaderStyleId("serif-line"),
|
|
10868
|
+
label: "Serif Line",
|
|
10869
|
+
description: "Typographic logo treatment with understated underline navigation.",
|
|
10870
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10871
|
+
navInteraction: "underline-grow",
|
|
10872
|
+
surface: "bordered",
|
|
10873
|
+
navTypography: "heading"
|
|
10874
|
+
},
|
|
10875
|
+
{
|
|
10876
|
+
id: asHeaderStyleId("flat-tabs"),
|
|
10877
|
+
label: "Flat Tabs",
|
|
10878
|
+
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
10879
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10880
|
+
navInteraction: "flat-block",
|
|
10881
|
+
surface: "bordered",
|
|
10882
|
+
navTypography: "quiet-caps"
|
|
10883
|
+
},
|
|
10884
|
+
{
|
|
10885
|
+
id: asHeaderStyleId("glass"),
|
|
10886
|
+
label: "Glass",
|
|
10887
|
+
description: "Translucent chrome with frosted navigation backing.",
|
|
10888
|
+
supportedLayoutIds: supportedLayouts(["classic", "floating"]),
|
|
10889
|
+
navInteraction: "glass-backed",
|
|
10890
|
+
surface: "floating",
|
|
10891
|
+
navTypography: "plain"
|
|
10892
|
+
},
|
|
10893
|
+
{
|
|
10894
|
+
id: asHeaderStyleId("minimal-surface"),
|
|
10895
|
+
label: "Clear Split",
|
|
10896
|
+
description: "Floating logo with transparent navigation and no shared shell.",
|
|
10897
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10898
|
+
navInteraction: "color-change",
|
|
10899
|
+
surface: "floating",
|
|
10900
|
+
navTypography: "plain"
|
|
10901
|
+
},
|
|
10902
|
+
{
|
|
10903
|
+
id: asHeaderStyleId("soft-shell"),
|
|
10904
|
+
label: "Soft Shell",
|
|
10905
|
+
description: "Floating rounded shell with soft pill navigation states.",
|
|
10906
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10907
|
+
navInteraction: "pill-background",
|
|
10908
|
+
surface: "floating",
|
|
10909
|
+
navTypography: "plain"
|
|
10910
|
+
},
|
|
10911
|
+
{
|
|
10912
|
+
id: asHeaderStyleId("split-glass"),
|
|
10913
|
+
label: "Split Glass",
|
|
10914
|
+
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
10915
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10916
|
+
navInteraction: "glass-backed",
|
|
10917
|
+
surface: "floating",
|
|
10918
|
+
navTypography: "quiet-caps"
|
|
10919
|
+
},
|
|
10920
|
+
{
|
|
10921
|
+
id: asHeaderStyleId("split-pill"),
|
|
10922
|
+
label: "Split Pill",
|
|
10923
|
+
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
10924
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
10925
|
+
navInteraction: "pill-background",
|
|
10926
|
+
surface: "floating",
|
|
10927
|
+
navTypography: "heading"
|
|
10928
|
+
}
|
|
10929
|
+
];
|
|
10930
|
+
var headerLayoutsById = new Map(
|
|
10931
|
+
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
10932
|
+
);
|
|
10933
|
+
var headerStylesById = new Map(
|
|
10934
|
+
headerStyleCatalog.map((style) => [style.id, style])
|
|
10935
|
+
);
|
|
10936
|
+
var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
10937
|
+
[
|
|
10938
|
+
asHeaderLayoutId("classic"),
|
|
10939
|
+
headerStyleRepairChain([
|
|
10940
|
+
"minimal",
|
|
10941
|
+
"glass",
|
|
10942
|
+
"fine-line",
|
|
10943
|
+
"soft-bar",
|
|
10944
|
+
"pill-nav",
|
|
10945
|
+
"brand-bar",
|
|
10946
|
+
"brand-underline",
|
|
10947
|
+
"brand-pill",
|
|
10948
|
+
"serif-line",
|
|
10949
|
+
"flat-tabs"
|
|
10950
|
+
])
|
|
10951
|
+
],
|
|
10952
|
+
[
|
|
10953
|
+
asHeaderLayoutId("centered"),
|
|
10954
|
+
headerStyleRepairChain([
|
|
10955
|
+
"minimal",
|
|
10956
|
+
"fine-line",
|
|
10957
|
+
"soft-bar",
|
|
10958
|
+
"pill-nav",
|
|
10959
|
+
"brand-bar",
|
|
10960
|
+
"brand-pill",
|
|
10961
|
+
"serif-line",
|
|
10962
|
+
"flat-tabs"
|
|
10963
|
+
])
|
|
10964
|
+
],
|
|
10965
|
+
[
|
|
10966
|
+
asHeaderLayoutId("floating"),
|
|
10967
|
+
headerStyleRepairChain([
|
|
10968
|
+
"glass",
|
|
10969
|
+
"minimal-surface",
|
|
10970
|
+
"split-glass",
|
|
10971
|
+
"split-pill",
|
|
10972
|
+
"soft-shell",
|
|
10973
|
+
"brand-pill"
|
|
10974
|
+
])
|
|
10975
|
+
]
|
|
10976
|
+
]);
|
|
10977
|
+
function headerStyleRepairChain(values) {
|
|
10978
|
+
return values.map(asHeaderStyleId);
|
|
10979
|
+
}
|
|
10980
|
+
var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
10981
|
+
[
|
|
10982
|
+
[
|
|
10983
|
+
asHeaderStyleId("brand-bar"),
|
|
10984
|
+
headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
|
|
10985
|
+
],
|
|
10986
|
+
[
|
|
10987
|
+
asHeaderStyleId("brand-underline"),
|
|
10988
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
10989
|
+
],
|
|
10990
|
+
[
|
|
10991
|
+
asHeaderStyleId("brand-pill"),
|
|
10992
|
+
headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
|
|
10993
|
+
],
|
|
10994
|
+
[
|
|
10995
|
+
asHeaderStyleId("pill-nav"),
|
|
10996
|
+
headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
|
|
10997
|
+
],
|
|
10998
|
+
[
|
|
10999
|
+
asHeaderStyleId("flat-tabs"),
|
|
11000
|
+
headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
|
|
11001
|
+
],
|
|
11002
|
+
[
|
|
11003
|
+
asHeaderStyleId("serif-line"),
|
|
11004
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
11005
|
+
],
|
|
11006
|
+
[
|
|
11007
|
+
asHeaderStyleId("glass"),
|
|
11008
|
+
headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
|
|
11009
|
+
],
|
|
11010
|
+
[
|
|
11011
|
+
asHeaderStyleId("soft-shell"),
|
|
11012
|
+
headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
|
|
11013
|
+
],
|
|
11014
|
+
[
|
|
11015
|
+
asHeaderStyleId("minimal-surface"),
|
|
11016
|
+
headerStyleRepairChain(["minimal-surface", "minimal"])
|
|
11017
|
+
],
|
|
11018
|
+
[
|
|
11019
|
+
asHeaderStyleId("split-glass"),
|
|
11020
|
+
headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
|
|
11021
|
+
],
|
|
11022
|
+
[
|
|
11023
|
+
asHeaderStyleId("split-pill"),
|
|
11024
|
+
headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
|
|
11025
|
+
],
|
|
11026
|
+
[
|
|
11027
|
+
asHeaderStyleId("fine-line"),
|
|
11028
|
+
headerStyleRepairChain(["fine-line", "minimal"])
|
|
11029
|
+
],
|
|
11030
|
+
[
|
|
11031
|
+
asHeaderStyleId("soft-bar"),
|
|
11032
|
+
headerStyleRepairChain(["soft-bar", "minimal"])
|
|
11033
|
+
],
|
|
11034
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
11035
|
+
]
|
|
11036
|
+
);
|
|
11037
|
+
var legacyHeaderLookAliases = [
|
|
11038
|
+
{
|
|
11039
|
+
lookId: asHeaderLookId("clean-base"),
|
|
11040
|
+
selection: {
|
|
11041
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11042
|
+
styleId: asHeaderStyleId("minimal")
|
|
11043
|
+
}
|
|
11044
|
+
},
|
|
11045
|
+
{
|
|
11046
|
+
lookId: asHeaderLookId("brand-solid"),
|
|
11047
|
+
selection: {
|
|
11048
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11049
|
+
styleId: asHeaderStyleId("brand-bar")
|
|
11050
|
+
}
|
|
11051
|
+
},
|
|
11052
|
+
{
|
|
11053
|
+
lookId: asHeaderLookId("serif-line"),
|
|
11054
|
+
selection: {
|
|
11055
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
11056
|
+
styleId: asHeaderStyleId("serif-line")
|
|
11057
|
+
}
|
|
11058
|
+
},
|
|
11059
|
+
{
|
|
11060
|
+
lookId: asHeaderLookId("centered-calm"),
|
|
11061
|
+
selection: {
|
|
11062
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
11063
|
+
styleId: asHeaderStyleId("minimal")
|
|
11064
|
+
}
|
|
11065
|
+
},
|
|
11066
|
+
{
|
|
11067
|
+
lookId: asHeaderLookId("practical-utility"),
|
|
11068
|
+
selection: {
|
|
11069
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11070
|
+
styleId: asHeaderStyleId("flat-tabs")
|
|
11071
|
+
}
|
|
11072
|
+
},
|
|
11073
|
+
{
|
|
11074
|
+
lookId: asHeaderLookId("minimal-transparent"),
|
|
11075
|
+
selection: {
|
|
11076
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11077
|
+
styleId: asHeaderStyleId("minimal")
|
|
11078
|
+
}
|
|
11079
|
+
},
|
|
11080
|
+
{
|
|
11081
|
+
lookId: asHeaderLookId("transparent-overlay"),
|
|
11082
|
+
selection: {
|
|
11083
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
11084
|
+
styleId: asHeaderStyleId("glass")
|
|
11085
|
+
}
|
|
11086
|
+
},
|
|
11087
|
+
{
|
|
11088
|
+
lookId: asHeaderLookId("floating-glass"),
|
|
11089
|
+
selection: {
|
|
11090
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
11091
|
+
styleId: asHeaderStyleId("glass")
|
|
11092
|
+
}
|
|
11093
|
+
}
|
|
11094
|
+
];
|
|
11095
|
+
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
11096
|
+
function getHeaderStyle(id) {
|
|
11097
|
+
return headerStylesById.get(id) ?? null;
|
|
11098
|
+
}
|
|
11099
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
11100
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
11101
|
+
}
|
|
11102
|
+
function getHeaderStyleOrThrow(id) {
|
|
11103
|
+
const style = getHeaderStyle(id);
|
|
11104
|
+
if (!style) {
|
|
11105
|
+
throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
11106
|
+
}
|
|
11107
|
+
return style;
|
|
11108
|
+
}
|
|
11109
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
11110
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
11111
|
+
}
|
|
11112
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
11113
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
11114
|
+
(styleId) => {
|
|
11115
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
11116
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
11117
|
+
}
|
|
11118
|
+
);
|
|
11119
|
+
}
|
|
11120
|
+
function solidBrandHeader(theme) {
|
|
11121
|
+
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
11122
|
+
return {
|
|
11123
|
+
...baseHeader(theme),
|
|
11124
|
+
variant: "classic",
|
|
11125
|
+
positioning: "sticky",
|
|
11126
|
+
shrinkOnScroll: true,
|
|
11127
|
+
background: {
|
|
11128
|
+
type: "color",
|
|
11129
|
+
color: "primary"
|
|
11130
|
+
},
|
|
11131
|
+
textColor: "primaryForeground",
|
|
11132
|
+
navColor: "primaryForeground",
|
|
11133
|
+
navStyle: "underline-grow",
|
|
11134
|
+
navWeight: "bold",
|
|
11135
|
+
navLinkStyle: {
|
|
11136
|
+
typography: "body",
|
|
11137
|
+
fontWeight: "bold",
|
|
11138
|
+
textTransform: "uppercase",
|
|
11139
|
+
italic: false,
|
|
11140
|
+
colorToken: "primaryForeground",
|
|
11141
|
+
hoverColorToken: "secondary",
|
|
11142
|
+
textSize: "sm",
|
|
11143
|
+
letterSpacing: "wider",
|
|
11144
|
+
padding: "compact",
|
|
11145
|
+
paddingX: "compact",
|
|
11146
|
+
borderRadius: "none",
|
|
11147
|
+
effects: {
|
|
11148
|
+
hover: [
|
|
11149
|
+
{
|
|
11150
|
+
effectId: "text-color-change",
|
|
11151
|
+
options: { hoverColorToken: "secondary" }
|
|
11152
|
+
},
|
|
11153
|
+
{
|
|
11154
|
+
effectId: "nav-underline",
|
|
11155
|
+
options: { style: "grow", colorToken: "secondary" }
|
|
11156
|
+
}
|
|
11157
|
+
]
|
|
11158
|
+
}
|
|
11159
|
+
},
|
|
11160
|
+
dropdownStyle: {
|
|
11161
|
+
background: "primary-700",
|
|
11162
|
+
textColor: "primaryForeground",
|
|
11163
|
+
borderColor: null,
|
|
11164
|
+
shadow: "md",
|
|
11165
|
+
borderRadius: "md",
|
|
11166
|
+
hoverBackground: "primary-900",
|
|
11167
|
+
hoverTextColor: "secondary",
|
|
11168
|
+
textTransform: "uppercase",
|
|
11169
|
+
letterSpacing: "wider",
|
|
11170
|
+
fontWeight: "bold",
|
|
11171
|
+
textSize: "sm"
|
|
11172
|
+
},
|
|
11173
|
+
border: {
|
|
11174
|
+
style: "solid",
|
|
11175
|
+
width: "none",
|
|
11176
|
+
position: "none"
|
|
11177
|
+
},
|
|
11178
|
+
logoText: {
|
|
11179
|
+
hideOnShrink: true,
|
|
11180
|
+
mobileMaxWidth: "sm",
|
|
11181
|
+
mobileWrapLines: 2
|
|
11182
|
+
},
|
|
11183
|
+
ctaGap: "compact",
|
|
11184
|
+
ctaTreatment: "inverted",
|
|
11185
|
+
...ctaVariant ? { ctaVariant } : {}
|
|
11186
|
+
};
|
|
10494
11187
|
}
|
|
10495
11188
|
function cleanBaseHeader(theme) {
|
|
10496
11189
|
return {
|
|
@@ -10516,10 +11209,10 @@ function cleanBaseHeader(theme) {
|
|
|
10516
11209
|
ctaGap: "default"
|
|
10517
11210
|
};
|
|
10518
11211
|
}
|
|
10519
|
-
function
|
|
11212
|
+
function serifLineHeader(theme) {
|
|
10520
11213
|
return {
|
|
10521
11214
|
...baseHeader(theme),
|
|
10522
|
-
variant: "
|
|
11215
|
+
variant: "centered",
|
|
10523
11216
|
positioning: "sticky",
|
|
10524
11217
|
shrinkOnScroll: false,
|
|
10525
11218
|
background: {
|
|
@@ -10666,6 +11359,11 @@ var headerLookCatalog = [
|
|
|
10666
11359
|
label: "Clean base",
|
|
10667
11360
|
visualTreatment: "solid-neutral",
|
|
10668
11361
|
layoutBehavior: "sticky",
|
|
11362
|
+
configuration: {
|
|
11363
|
+
structure: "inline-classic",
|
|
11364
|
+
treatment: "solid-neutral",
|
|
11365
|
+
behavior: "sticky"
|
|
11366
|
+
},
|
|
10669
11367
|
openingRequirement: "none",
|
|
10670
11368
|
compile: cleanBaseHeader
|
|
10671
11369
|
},
|
|
@@ -10674,23 +11372,38 @@ var headerLookCatalog = [
|
|
|
10674
11372
|
label: "Brand solid",
|
|
10675
11373
|
visualTreatment: "solid-brand",
|
|
10676
11374
|
layoutBehavior: "sticky-shrink",
|
|
11375
|
+
configuration: {
|
|
11376
|
+
structure: "inline-classic",
|
|
11377
|
+
treatment: "solid-brand",
|
|
11378
|
+
behavior: "sticky-shrink"
|
|
11379
|
+
},
|
|
10677
11380
|
openingRequirement: "none",
|
|
10678
11381
|
compile: solidBrandHeader
|
|
10679
11382
|
},
|
|
10680
11383
|
{
|
|
10681
|
-
id: asHeaderLookId("
|
|
10682
|
-
label: "
|
|
10683
|
-
visualTreatment: "light-
|
|
11384
|
+
id: asHeaderLookId("serif-line"),
|
|
11385
|
+
label: "Serif line",
|
|
11386
|
+
visualTreatment: "light-serif",
|
|
10684
11387
|
layoutBehavior: "sticky",
|
|
11388
|
+
configuration: {
|
|
11389
|
+
structure: "centered-stack",
|
|
11390
|
+
treatment: "light-serif",
|
|
11391
|
+
behavior: "sticky"
|
|
11392
|
+
},
|
|
10685
11393
|
openingRequirement: "none",
|
|
10686
11394
|
maxRecommendedNavItems: 6,
|
|
10687
|
-
compile:
|
|
11395
|
+
compile: serifLineHeader
|
|
10688
11396
|
},
|
|
10689
11397
|
{
|
|
10690
11398
|
id: asHeaderLookId("centered-calm"),
|
|
10691
11399
|
label: "Centered calm",
|
|
10692
|
-
visualTreatment: "light-
|
|
11400
|
+
visualTreatment: "light-serif",
|
|
10693
11401
|
layoutBehavior: "normal-flow",
|
|
11402
|
+
configuration: {
|
|
11403
|
+
structure: "centered-stack",
|
|
11404
|
+
treatment: "light-serif",
|
|
11405
|
+
behavior: "normal-flow"
|
|
11406
|
+
},
|
|
10694
11407
|
openingRequirement: "none",
|
|
10695
11408
|
maxRecommendedNavItems: 5,
|
|
10696
11409
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
@@ -10701,6 +11414,11 @@ var headerLookCatalog = [
|
|
|
10701
11414
|
label: "Practical utility",
|
|
10702
11415
|
visualTreatment: "solid-neutral",
|
|
10703
11416
|
layoutBehavior: "sticky-shrink",
|
|
11417
|
+
configuration: {
|
|
11418
|
+
structure: "inline-classic",
|
|
11419
|
+
treatment: "solid-neutral",
|
|
11420
|
+
behavior: "sticky-shrink"
|
|
11421
|
+
},
|
|
10704
11422
|
openingRequirement: "none",
|
|
10705
11423
|
requiresProminentCta: true,
|
|
10706
11424
|
compile: practicalUtilityHeader
|
|
@@ -10710,6 +11428,11 @@ var headerLookCatalog = [
|
|
|
10710
11428
|
label: "Minimal transparent",
|
|
10711
11429
|
visualTreatment: "minimal-transparent",
|
|
10712
11430
|
layoutBehavior: "normal-flow",
|
|
11431
|
+
configuration: {
|
|
11432
|
+
structure: "inline-classic",
|
|
11433
|
+
treatment: "minimal-transparent",
|
|
11434
|
+
behavior: "normal-flow"
|
|
11435
|
+
},
|
|
10713
11436
|
openingRequirement: "reserved-space-ok",
|
|
10714
11437
|
compile: minimalTransparentHeader
|
|
10715
11438
|
},
|
|
@@ -10718,6 +11441,11 @@ var headerLookCatalog = [
|
|
|
10718
11441
|
label: "Transparent overlay",
|
|
10719
11442
|
visualTreatment: "transparent-overlay",
|
|
10720
11443
|
layoutBehavior: "fixed-overlay",
|
|
11444
|
+
configuration: {
|
|
11445
|
+
structure: "inline-classic",
|
|
11446
|
+
treatment: "transparent-overlay",
|
|
11447
|
+
behavior: "fixed-overlay"
|
|
11448
|
+
},
|
|
10721
11449
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
10722
11450
|
maxRecommendedNavItems: 5,
|
|
10723
11451
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -10728,6 +11456,11 @@ var headerLookCatalog = [
|
|
|
10728
11456
|
label: "Floating glass",
|
|
10729
11457
|
visualTreatment: "floating-glass",
|
|
10730
11458
|
layoutBehavior: "fixed-floating",
|
|
11459
|
+
configuration: {
|
|
11460
|
+
structure: "floating-shell",
|
|
11461
|
+
treatment: "floating-glass",
|
|
11462
|
+
behavior: "fixed-floating"
|
|
11463
|
+
},
|
|
10731
11464
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
10732
11465
|
maxRecommendedNavItems: 5,
|
|
10733
11466
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -10735,9 +11468,17 @@ var headerLookCatalog = [
|
|
|
10735
11468
|
}
|
|
10736
11469
|
];
|
|
10737
11470
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
11471
|
+
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
11472
|
+
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
11473
|
+
var allowedHeaderConfigurationKeys = new Set(
|
|
11474
|
+
headerLookCatalog.map((look) => headerConfigurationKey(look.configuration))
|
|
11475
|
+
);
|
|
10738
11476
|
var headerLooksById = new Map(
|
|
10739
11477
|
headerLookCatalog.map((look) => [look.id, look])
|
|
10740
11478
|
);
|
|
11479
|
+
function headerConfigurationKey(configuration) {
|
|
11480
|
+
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
11481
|
+
}
|
|
10741
11482
|
|
|
10742
11483
|
// ../theme-core/src/site-styles/footerLooks.ts
|
|
10743
11484
|
function asFooterLookId(value) {
|
|
@@ -10870,6 +11611,264 @@ var advancedDesignOptionCatalog = {
|
|
|
10870
11611
|
detachedCustom: true
|
|
10871
11612
|
};
|
|
10872
11613
|
|
|
11614
|
+
// ../theme-core/src/site-styles/typographyPresets.ts
|
|
11615
|
+
var bodyReadablePolicy = {
|
|
11616
|
+
recommendedCategories: ["sans-serif", "serif"],
|
|
11617
|
+
allowedCategories: ["sans-serif", "serif"],
|
|
11618
|
+
requiresItalicForBody: true,
|
|
11619
|
+
requiresBoldForBody: true
|
|
11620
|
+
};
|
|
11621
|
+
var headingFlexiblePolicy = {
|
|
11622
|
+
recommendedCategories: ["sans-serif", "serif", "display"],
|
|
11623
|
+
allowedCategories: ["sans-serif", "serif", "display"]
|
|
11624
|
+
};
|
|
11625
|
+
var displayHeadingPolicy = {
|
|
11626
|
+
recommendedCategories: ["display", "sans-serif", "serif"],
|
|
11627
|
+
allowedCategories: ["display", "sans-serif", "serif"]
|
|
11628
|
+
};
|
|
11629
|
+
function asTypographyPresetId(value) {
|
|
11630
|
+
if (!value.startsWith("typography-preset:")) {
|
|
11631
|
+
throw new Error(`TypographyPresetId must start with "typography-preset:". Received: ${value}`);
|
|
11632
|
+
}
|
|
11633
|
+
return value;
|
|
11634
|
+
}
|
|
11635
|
+
function defineTypographyPreset(preset2) {
|
|
11636
|
+
return {
|
|
11637
|
+
...preset2,
|
|
11638
|
+
id: asTypographyPresetId(preset2.id)
|
|
11639
|
+
};
|
|
11640
|
+
}
|
|
11641
|
+
var modernSansTypography = {
|
|
11642
|
+
body: {
|
|
11643
|
+
family: "Inter, system-ui, sans-serif",
|
|
11644
|
+
size: "md",
|
|
11645
|
+
weight: "regular",
|
|
11646
|
+
lineHeight: "relaxed",
|
|
11647
|
+
letterSpacing: "normal"
|
|
11648
|
+
},
|
|
11649
|
+
headings: {
|
|
11650
|
+
default: {
|
|
11651
|
+
family: "Inter, system-ui, sans-serif",
|
|
11652
|
+
weight: "semibold",
|
|
11653
|
+
lineHeight: "normal",
|
|
11654
|
+
letterSpacing: "tight",
|
|
11655
|
+
italic: null,
|
|
11656
|
+
case: null
|
|
11657
|
+
},
|
|
11658
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11659
|
+
h2: { size: "lg", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11660
|
+
h3: { size: "md", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
11661
|
+
},
|
|
11662
|
+
scale: "balanced"
|
|
11663
|
+
};
|
|
11664
|
+
var warmRoundedTypography = {
|
|
11665
|
+
body: {
|
|
11666
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
11667
|
+
size: "lg",
|
|
11668
|
+
weight: "regular",
|
|
11669
|
+
lineHeight: "relaxed",
|
|
11670
|
+
letterSpacing: "normal"
|
|
11671
|
+
},
|
|
11672
|
+
headings: {
|
|
11673
|
+
default: {
|
|
11674
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
11675
|
+
weight: "bold",
|
|
11676
|
+
lineHeight: "normal",
|
|
11677
|
+
letterSpacing: "normal",
|
|
11678
|
+
italic: null,
|
|
11679
|
+
case: null
|
|
11680
|
+
},
|
|
11681
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11682
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11683
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11684
|
+
},
|
|
11685
|
+
scale: "balanced"
|
|
11686
|
+
};
|
|
11687
|
+
var editorialSerifTypography = {
|
|
11688
|
+
body: {
|
|
11689
|
+
family: "Lora, Georgia, serif",
|
|
11690
|
+
size: "lg",
|
|
11691
|
+
weight: "regular",
|
|
11692
|
+
lineHeight: "loose",
|
|
11693
|
+
letterSpacing: "normal"
|
|
11694
|
+
},
|
|
11695
|
+
headings: {
|
|
11696
|
+
default: {
|
|
11697
|
+
family: "Playfair Display, Georgia, serif",
|
|
11698
|
+
weight: "semibold",
|
|
11699
|
+
lineHeight: "normal",
|
|
11700
|
+
letterSpacing: "tight",
|
|
11701
|
+
italic: null,
|
|
11702
|
+
case: null
|
|
11703
|
+
},
|
|
11704
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11705
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11706
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: true }
|
|
11707
|
+
},
|
|
11708
|
+
scale: "spacious"
|
|
11709
|
+
};
|
|
11710
|
+
var classicSerifTypography = {
|
|
11711
|
+
body: {
|
|
11712
|
+
family: "Libre Baskerville, Georgia, serif",
|
|
11713
|
+
size: "md",
|
|
11714
|
+
weight: "regular",
|
|
11715
|
+
lineHeight: "relaxed",
|
|
11716
|
+
letterSpacing: "normal"
|
|
11717
|
+
},
|
|
11718
|
+
headings: {
|
|
11719
|
+
default: {
|
|
11720
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
11721
|
+
weight: "semibold",
|
|
11722
|
+
lineHeight: "normal",
|
|
11723
|
+
letterSpacing: "normal",
|
|
11724
|
+
italic: null,
|
|
11725
|
+
case: null
|
|
11726
|
+
},
|
|
11727
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11728
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11729
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11730
|
+
},
|
|
11731
|
+
scale: "balanced"
|
|
11732
|
+
};
|
|
11733
|
+
var luxeContrastTypography = {
|
|
11734
|
+
body: {
|
|
11735
|
+
family: "Manrope, system-ui, sans-serif",
|
|
11736
|
+
size: "md",
|
|
11737
|
+
weight: "regular",
|
|
11738
|
+
lineHeight: "relaxed",
|
|
11739
|
+
letterSpacing: "normal"
|
|
11740
|
+
},
|
|
11741
|
+
headings: {
|
|
11742
|
+
default: {
|
|
11743
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
11744
|
+
weight: "semibold",
|
|
11745
|
+
lineHeight: "normal",
|
|
11746
|
+
letterSpacing: "tight",
|
|
11747
|
+
italic: null,
|
|
11748
|
+
case: null
|
|
11749
|
+
},
|
|
11750
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11751
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11752
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11753
|
+
},
|
|
11754
|
+
scale: "spacious"
|
|
11755
|
+
};
|
|
11756
|
+
var boldDisplayTypography = {
|
|
11757
|
+
body: {
|
|
11758
|
+
family: "Manrope, system-ui, sans-serif",
|
|
11759
|
+
size: "lg",
|
|
11760
|
+
weight: "regular",
|
|
11761
|
+
lineHeight: "relaxed",
|
|
11762
|
+
letterSpacing: "normal"
|
|
11763
|
+
},
|
|
11764
|
+
headings: {
|
|
11765
|
+
default: {
|
|
11766
|
+
family: '"TAN - PEARL", sans-serif',
|
|
11767
|
+
weight: "bold",
|
|
11768
|
+
lineHeight: "normal",
|
|
11769
|
+
letterSpacing: "tight",
|
|
11770
|
+
colorToken: "primary",
|
|
11771
|
+
italic: null,
|
|
11772
|
+
case: null
|
|
11773
|
+
},
|
|
11774
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11775
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11776
|
+
h3: { size: "md", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
11777
|
+
},
|
|
11778
|
+
scale: "balanced"
|
|
11779
|
+
};
|
|
11780
|
+
var typographyPresets = [
|
|
11781
|
+
defineTypographyPreset({
|
|
11782
|
+
id: "typography-preset:modern-sans",
|
|
11783
|
+
name: "Modern Sans",
|
|
11784
|
+
description: "Crisp, neutral type for clear service pages and practical editorial structure.",
|
|
11785
|
+
defaultFonts: { body: "Inter, system-ui, sans-serif", heading: "Inter, system-ui, sans-serif" },
|
|
11786
|
+
recommendedFonts: {
|
|
11787
|
+
body: ["Inter", "Source Sans 3", "IBM Plex Sans"],
|
|
11788
|
+
heading: ["Inter", "Manrope", "Source Sans 3"]
|
|
11789
|
+
},
|
|
11790
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
11791
|
+
typography: modernSansTypography
|
|
11792
|
+
}),
|
|
11793
|
+
defineTypographyPreset({
|
|
11794
|
+
id: "typography-preset:warm-rounded",
|
|
11795
|
+
name: "Warm Rounded",
|
|
11796
|
+
description: "Soft, friendly type for welcoming studios, classes, and community businesses.",
|
|
11797
|
+
defaultFonts: { body: "Nunito Sans, system-ui, sans-serif", heading: "Nunito Sans, system-ui, sans-serif" },
|
|
11798
|
+
recommendedFonts: {
|
|
11799
|
+
body: ["Nunito Sans", "Atkinson Hyperlegible", "Lato"],
|
|
11800
|
+
heading: ["Nunito Sans", "Quicksand", "Manrope"]
|
|
11801
|
+
},
|
|
11802
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
11803
|
+
typography: warmRoundedTypography
|
|
11804
|
+
}),
|
|
11805
|
+
defineTypographyPreset({
|
|
11806
|
+
id: "typography-preset:editorial-serif",
|
|
11807
|
+
name: "Editorial Serif",
|
|
11808
|
+
description: "Story-led type with warm reading rhythm and expressive headings.",
|
|
11809
|
+
defaultFonts: { body: "Lora, Georgia, serif", heading: "Playfair Display, Georgia, serif" },
|
|
11810
|
+
recommendedFonts: {
|
|
11811
|
+
body: ["Lora", "Source Serif 4", "Libre Baskerville"],
|
|
11812
|
+
heading: ["Playfair Display", "Cormorant Garamond", "Fraunces"]
|
|
11813
|
+
},
|
|
11814
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11815
|
+
typography: editorialSerifTypography
|
|
11816
|
+
}),
|
|
11817
|
+
defineTypographyPreset({
|
|
11818
|
+
id: "typography-preset:classic-serif",
|
|
11819
|
+
name: "Classic Serif",
|
|
11820
|
+
description: "Measured, polished type for premium and established offers.",
|
|
11821
|
+
defaultFonts: { body: "Libre Baskerville, Georgia, serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
11822
|
+
recommendedFonts: {
|
|
11823
|
+
body: ["Libre Baskerville", "Source Serif 4", "Lora"],
|
|
11824
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Libre Baskerville"]
|
|
11825
|
+
},
|
|
11826
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11827
|
+
typography: classicSerifTypography
|
|
11828
|
+
}),
|
|
11829
|
+
defineTypographyPreset({
|
|
11830
|
+
id: "typography-preset:luxe-contrast",
|
|
11831
|
+
name: "Luxe Contrast",
|
|
11832
|
+
description: "A restrained sans body paired with elegant high-contrast headings.",
|
|
11833
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
11834
|
+
recommendedFonts: {
|
|
11835
|
+
body: ["Manrope", "Inter", "Source Sans 3"],
|
|
11836
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Bodoni Moda"]
|
|
11837
|
+
},
|
|
11838
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11839
|
+
typography: luxeContrastTypography
|
|
11840
|
+
}),
|
|
11841
|
+
defineTypographyPreset({
|
|
11842
|
+
id: "typography-preset:bold-display",
|
|
11843
|
+
name: "Bold Display",
|
|
11844
|
+
description: "Punchy display headings with readable sans body copy for branded launches.",
|
|
11845
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: '"TAN - PEARL", sans-serif' },
|
|
11846
|
+
recommendedFonts: {
|
|
11847
|
+
body: ["Manrope", "Inter", "Space Grotesk"],
|
|
11848
|
+
heading: ["Anton", "Bebas Neue", "Archivo Black"]
|
|
11849
|
+
},
|
|
11850
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11851
|
+
typography: boldDisplayTypography,
|
|
11852
|
+
heroTypography: {
|
|
11853
|
+
headlineSize: "6xl",
|
|
11854
|
+
headlineLineHeight: "tight",
|
|
11855
|
+
subheadlineSize: "editorial",
|
|
11856
|
+
subheadlineLineHeight: "normal",
|
|
11857
|
+
microHeadlineSize: "6xl",
|
|
11858
|
+
microHeadlineLineHeight: "tight",
|
|
11859
|
+
microSubheadlineSize: "xl",
|
|
11860
|
+
microSubheadlineLineHeight: "normal",
|
|
11861
|
+
responsive: {
|
|
11862
|
+
tablet: { headlineSize: "5xl" },
|
|
11863
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
11864
|
+
}
|
|
11865
|
+
}
|
|
11866
|
+
})
|
|
11867
|
+
];
|
|
11868
|
+
var typographyPresetsById = new Map(
|
|
11869
|
+
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
11870
|
+
);
|
|
11871
|
+
|
|
10873
11872
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
10874
11873
|
var curatedSiteStyleIdValues = [
|
|
10875
11874
|
"site-style:calm-studio",
|
|
@@ -10882,6 +11881,7 @@ var curatedSiteStyleIdValues = [
|
|
|
10882
11881
|
"site-style:personal-retreat-journal",
|
|
10883
11882
|
"site-style:tactile-workshop",
|
|
10884
11883
|
"site-style:modern-wellness",
|
|
11884
|
+
"site-style:soft-earth",
|
|
10885
11885
|
"site-style:bold-launch",
|
|
10886
11886
|
"site-style:south-west-twerk-school"
|
|
10887
11887
|
];
|
|
@@ -10947,26 +11947,45 @@ var expressiveUnderlineInputs = {
|
|
|
10947
11947
|
}
|
|
10948
11948
|
};
|
|
10949
11949
|
function uniqueContentFrameKinds() {
|
|
10950
|
-
const kinds = [
|
|
10951
|
-
|
|
10952
|
-
|
|
11950
|
+
const kinds = [
|
|
11951
|
+
...new Set(
|
|
11952
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
11953
|
+
)
|
|
11954
|
+
];
|
|
10953
11955
|
const firstKind = kinds[0];
|
|
10954
11956
|
if (!firstKind) {
|
|
10955
|
-
throw new Error(
|
|
11957
|
+
throw new Error(
|
|
11958
|
+
"Expected generated design option catalog to expose at least one content frame kind."
|
|
11959
|
+
);
|
|
10956
11960
|
}
|
|
10957
11961
|
return [firstKind, ...kinds.slice(1)];
|
|
10958
11962
|
}
|
|
10959
11963
|
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
10960
11964
|
function defineCuratedSiteStyle(input) {
|
|
11965
|
+
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
11966
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
11967
|
+
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
11968
|
+
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
11969
|
+
if (!typographyPresetChoices.some(
|
|
11970
|
+
(choice) => choice.id === defaultTypographyPresetId
|
|
11971
|
+
)) {
|
|
11972
|
+
throw new Error(
|
|
11973
|
+
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
11974
|
+
);
|
|
11975
|
+
}
|
|
10961
11976
|
return {
|
|
10962
11977
|
id: asSiteStyleId(input.id),
|
|
10963
11978
|
name: input.name,
|
|
10964
11979
|
description: input.description,
|
|
10965
11980
|
generationBrief: input.generationBrief,
|
|
10966
11981
|
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
10967
|
-
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
11982
|
+
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
11983
|
+
kind: "explicit_only"
|
|
11984
|
+
},
|
|
10968
11985
|
template: {
|
|
10969
|
-
id: asDesignSystemTemplateId(
|
|
11986
|
+
id: asDesignSystemTemplateId(
|
|
11987
|
+
`template:${input.id.replace("site-style:", "")}`
|
|
11988
|
+
),
|
|
10970
11989
|
name: input.name,
|
|
10971
11990
|
version: 1,
|
|
10972
11991
|
tokenRecipes: input.tokenRecipes,
|
|
@@ -10978,11 +11997,27 @@ function defineCuratedSiteStyle(input) {
|
|
|
10978
11997
|
},
|
|
10979
11998
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
10980
11999
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
10981
|
-
|
|
12000
|
+
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
12001
|
+
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
12002
|
+
styleId: asHeaderStyleId(input.defaultHeaderSelection.styleId)
|
|
12003
|
+
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
12004
|
+
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
12005
|
+
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
12006
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
12007
|
+
(selection) => ({
|
|
12008
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
12009
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
12010
|
+
})
|
|
12011
|
+
),
|
|
12012
|
+
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
10982
12013
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
10983
|
-
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
12014
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
12015
|
+
asFooterLookId
|
|
12016
|
+
),
|
|
10984
12017
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
10985
|
-
paletteVariantChoices: input.paletteVariantChoices
|
|
12018
|
+
paletteVariantChoices: input.paletteVariantChoices,
|
|
12019
|
+
typographyPresetChoices,
|
|
12020
|
+
defaultTypographyPresetId
|
|
10986
12021
|
};
|
|
10987
12022
|
}
|
|
10988
12023
|
function buttonChoice(id, note) {
|
|
@@ -10991,6 +12026,87 @@ function buttonChoice(id, note) {
|
|
|
10991
12026
|
function paletteChoice(id, note) {
|
|
10992
12027
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
10993
12028
|
}
|
|
12029
|
+
function headerLayoutChoice(id, note) {
|
|
12030
|
+
return note ? { id: asHeaderLayoutId(id), note } : { id: asHeaderLayoutId(id) };
|
|
12031
|
+
}
|
|
12032
|
+
function headerStyleChoice(id, note) {
|
|
12033
|
+
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
12034
|
+
}
|
|
12035
|
+
function unbrandHeaderLayoutId(id) {
|
|
12036
|
+
return id;
|
|
12037
|
+
}
|
|
12038
|
+
function uniqueHeaderLayoutChoices(choices) {
|
|
12039
|
+
const seen = /* @__PURE__ */ new Set();
|
|
12040
|
+
const unique = choices.filter((choice) => {
|
|
12041
|
+
if (seen.has(choice.id)) return false;
|
|
12042
|
+
seen.add(choice.id);
|
|
12043
|
+
return true;
|
|
12044
|
+
});
|
|
12045
|
+
const first = unique[0];
|
|
12046
|
+
if (!first) {
|
|
12047
|
+
throw new Error("Expected at least one curated header layout choice.");
|
|
12048
|
+
}
|
|
12049
|
+
return [first, ...unique.slice(1)];
|
|
12050
|
+
}
|
|
12051
|
+
function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
12052
|
+
const first = choices[0] ?? {
|
|
12053
|
+
id: getCompatibleHeaderStyleIds(fallbackLayoutId)[0] ?? asHeaderStyleId("minimal")
|
|
12054
|
+
};
|
|
12055
|
+
return [first, ...choices.slice(1)];
|
|
12056
|
+
}
|
|
12057
|
+
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
12058
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
12059
|
+
(selection) => Boolean(selection)
|
|
12060
|
+
);
|
|
12061
|
+
const defaultHeaderSelection = selections[0] ?? {
|
|
12062
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12063
|
+
styleId: asHeaderStyleId("minimal")
|
|
12064
|
+
};
|
|
12065
|
+
const layoutChoices = uniqueHeaderLayoutChoices(
|
|
12066
|
+
selections.map((selection) => headerLayoutChoice(selection.layoutId))
|
|
12067
|
+
);
|
|
12068
|
+
const stylesByLayout = {};
|
|
12069
|
+
for (const layoutChoice of layoutChoices) {
|
|
12070
|
+
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
12071
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
|
|
12072
|
+
}
|
|
12073
|
+
return {
|
|
12074
|
+
defaultHeaderSelection,
|
|
12075
|
+
recommendedHeaderLayoutChoices: layoutChoices,
|
|
12076
|
+
recommendedHeaderStyleChoicesByLayout: stylesByLayout
|
|
12077
|
+
};
|
|
12078
|
+
}
|
|
12079
|
+
function typographyChoice(id, note) {
|
|
12080
|
+
return note ? { id: asTypographyPresetId(id), note } : { id: asTypographyPresetId(id) };
|
|
12081
|
+
}
|
|
12082
|
+
function defaultTypographyPresetChoicesForRecipe(recipe) {
|
|
12083
|
+
switch (recipe) {
|
|
12084
|
+
case "clean-sans":
|
|
12085
|
+
return [
|
|
12086
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12087
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
12088
|
+
typographyChoice("typography-preset:bold-display")
|
|
12089
|
+
];
|
|
12090
|
+
case "friendly-sans":
|
|
12091
|
+
return [
|
|
12092
|
+
typographyChoice("typography-preset:warm-rounded"),
|
|
12093
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12094
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
12095
|
+
];
|
|
12096
|
+
case "serif-editorial":
|
|
12097
|
+
return [
|
|
12098
|
+
typographyChoice("typography-preset:editorial-serif"),
|
|
12099
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
12100
|
+
typographyChoice("typography-preset:warm-rounded")
|
|
12101
|
+
];
|
|
12102
|
+
case "classic-serif":
|
|
12103
|
+
return [
|
|
12104
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
12105
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
12106
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
12107
|
+
];
|
|
12108
|
+
}
|
|
12109
|
+
}
|
|
10994
12110
|
var curatedSiteStyles = [
|
|
10995
12111
|
defineCuratedSiteStyle({
|
|
10996
12112
|
id: "site-style:calm-studio",
|
|
@@ -11007,7 +12123,11 @@ var curatedSiteStyles = [
|
|
|
11007
12123
|
motion: "subtle"
|
|
11008
12124
|
},
|
|
11009
12125
|
compositionBudget: quietBudget,
|
|
11010
|
-
recommendedHeaderLookIds: [
|
|
12126
|
+
recommendedHeaderLookIds: [
|
|
12127
|
+
"centered-calm",
|
|
12128
|
+
"minimal-transparent",
|
|
12129
|
+
"clean-base"
|
|
12130
|
+
],
|
|
11011
12131
|
buttonPersonalityChoices: [
|
|
11012
12132
|
buttonChoice("soft-pill"),
|
|
11013
12133
|
buttonChoice("pebble"),
|
|
@@ -11036,7 +12156,11 @@ var curatedSiteStyles = [
|
|
|
11036
12156
|
motion: "subtle"
|
|
11037
12157
|
},
|
|
11038
12158
|
compositionBudget: balancedBudget,
|
|
11039
|
-
recommendedHeaderLookIds: [
|
|
12159
|
+
recommendedHeaderLookIds: [
|
|
12160
|
+
"practical-utility",
|
|
12161
|
+
"brand-solid",
|
|
12162
|
+
"clean-base"
|
|
12163
|
+
],
|
|
11040
12164
|
buttonPersonalityChoices: [
|
|
11041
12165
|
buttonChoice("confident-chip"),
|
|
11042
12166
|
buttonChoice("soft-pill"),
|
|
@@ -11063,7 +12187,11 @@ var curatedSiteStyles = [
|
|
|
11063
12187
|
motion: "subtle"
|
|
11064
12188
|
},
|
|
11065
12189
|
compositionBudget: balancedBudget,
|
|
11066
|
-
recommendedHeaderLookIds: [
|
|
12190
|
+
recommendedHeaderLookIds: [
|
|
12191
|
+
"serif-line",
|
|
12192
|
+
"minimal-transparent",
|
|
12193
|
+
"centered-calm"
|
|
12194
|
+
],
|
|
11067
12195
|
buttonPersonalityChoices: [
|
|
11068
12196
|
buttonChoice("editorial-link"),
|
|
11069
12197
|
buttonChoice("soft-pill"),
|
|
@@ -11091,7 +12219,11 @@ var curatedSiteStyles = [
|
|
|
11091
12219
|
motion: "expressive"
|
|
11092
12220
|
},
|
|
11093
12221
|
compositionBudget: balancedBudget,
|
|
11094
|
-
recommendedHeaderLookIds: [
|
|
12222
|
+
recommendedHeaderLookIds: [
|
|
12223
|
+
"brand-solid",
|
|
12224
|
+
"practical-utility",
|
|
12225
|
+
"clean-base"
|
|
12226
|
+
],
|
|
11095
12227
|
buttonPersonalityChoices: [
|
|
11096
12228
|
buttonChoice("pebble"),
|
|
11097
12229
|
buttonChoice("brushed-wash"),
|
|
@@ -11108,7 +12240,10 @@ var curatedSiteStyles = [
|
|
|
11108
12240
|
name: "Quiet Luxury",
|
|
11109
12241
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
11110
12242
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
11111
|
-
siteCreatorSelection: {
|
|
12243
|
+
siteCreatorSelection: {
|
|
12244
|
+
kind: "site_creator_keyword_heuristic",
|
|
12245
|
+
priority: 20
|
|
12246
|
+
},
|
|
11112
12247
|
selectionKeywordRules: [
|
|
11113
12248
|
{ kind: "word", value: "luxury" },
|
|
11114
12249
|
{ kind: "word", value: "premium" },
|
|
@@ -11126,7 +12261,11 @@ var curatedSiteStyles = [
|
|
|
11126
12261
|
motion: "none"
|
|
11127
12262
|
},
|
|
11128
12263
|
compositionBudget: quietBudget,
|
|
11129
|
-
recommendedHeaderLookIds: [
|
|
12264
|
+
recommendedHeaderLookIds: [
|
|
12265
|
+
"minimal-transparent",
|
|
12266
|
+
"serif-line",
|
|
12267
|
+
"clean-base"
|
|
12268
|
+
],
|
|
11130
12269
|
buttonPersonalityChoices: [
|
|
11131
12270
|
buttonChoice("editorial-link"),
|
|
11132
12271
|
buttonChoice("confident-chip"),
|
|
@@ -11162,7 +12301,11 @@ var curatedSiteStyles = [
|
|
|
11162
12301
|
motion: "none"
|
|
11163
12302
|
},
|
|
11164
12303
|
compositionBudget: quietBudget,
|
|
11165
|
-
recommendedHeaderLookIds: [
|
|
12304
|
+
recommendedHeaderLookIds: [
|
|
12305
|
+
"practical-utility",
|
|
12306
|
+
"brand-solid",
|
|
12307
|
+
"clean-base"
|
|
12308
|
+
],
|
|
11166
12309
|
buttonPersonalityChoices: [
|
|
11167
12310
|
buttonChoice("confident-chip"),
|
|
11168
12311
|
buttonChoice("pebble"),
|
|
@@ -11189,7 +12332,11 @@ var curatedSiteStyles = [
|
|
|
11189
12332
|
motion: "subtle"
|
|
11190
12333
|
},
|
|
11191
12334
|
compositionBudget: balancedBudget,
|
|
11192
|
-
recommendedHeaderLookIds: [
|
|
12335
|
+
recommendedHeaderLookIds: [
|
|
12336
|
+
"centered-calm",
|
|
12337
|
+
"minimal-transparent",
|
|
12338
|
+
"clean-base"
|
|
12339
|
+
],
|
|
11193
12340
|
buttonPersonalityChoices: [
|
|
11194
12341
|
buttonChoice("soft-pill"),
|
|
11195
12342
|
buttonChoice("pebble"),
|
|
@@ -11206,7 +12353,10 @@ var curatedSiteStyles = [
|
|
|
11206
12353
|
name: "Quiet Practice",
|
|
11207
12354
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
11208
12355
|
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.",
|
|
11209
|
-
siteCreatorSelection: {
|
|
12356
|
+
siteCreatorSelection: {
|
|
12357
|
+
kind: "site_creator_keyword_heuristic",
|
|
12358
|
+
priority: 30
|
|
12359
|
+
},
|
|
11210
12360
|
selectionKeywordRules: [
|
|
11211
12361
|
{ kind: "substring", value: "massage" },
|
|
11212
12362
|
{ kind: "word", value: "bodywork" },
|
|
@@ -11227,7 +12377,11 @@ var curatedSiteStyles = [
|
|
|
11227
12377
|
motion: "subtle"
|
|
11228
12378
|
},
|
|
11229
12379
|
compositionBudget: quietBudget,
|
|
11230
|
-
recommendedHeaderLookIds: [
|
|
12380
|
+
recommendedHeaderLookIds: [
|
|
12381
|
+
"practical-utility",
|
|
12382
|
+
"clean-base",
|
|
12383
|
+
"centered-calm"
|
|
12384
|
+
],
|
|
11231
12385
|
buttonPersonalityChoices: [
|
|
11232
12386
|
buttonChoice("pebble"),
|
|
11233
12387
|
buttonChoice("soft-pill"),
|
|
@@ -11244,7 +12398,10 @@ var curatedSiteStyles = [
|
|
|
11244
12398
|
name: "Personal Retreat Journal",
|
|
11245
12399
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
11246
12400
|
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.",
|
|
11247
|
-
siteCreatorSelection: {
|
|
12401
|
+
siteCreatorSelection: {
|
|
12402
|
+
kind: "site_creator_keyword_heuristic",
|
|
12403
|
+
priority: 40
|
|
12404
|
+
},
|
|
11248
12405
|
selectionKeywordRules: [
|
|
11249
12406
|
{ kind: "substring", value: "retreat" },
|
|
11250
12407
|
{ kind: "phrase", value: "solo practitioner" },
|
|
@@ -11264,7 +12421,11 @@ var curatedSiteStyles = [
|
|
|
11264
12421
|
motion: "subtle"
|
|
11265
12422
|
},
|
|
11266
12423
|
compositionBudget: balancedBudget,
|
|
11267
|
-
recommendedHeaderLookIds: [
|
|
12424
|
+
recommendedHeaderLookIds: [
|
|
12425
|
+
"serif-line",
|
|
12426
|
+
"centered-calm",
|
|
12427
|
+
"minimal-transparent"
|
|
12428
|
+
],
|
|
11268
12429
|
buttonPersonalityChoices: [
|
|
11269
12430
|
buttonChoice("editorial-link"),
|
|
11270
12431
|
buttonChoice("soft-pill"),
|
|
@@ -11281,7 +12442,10 @@ var curatedSiteStyles = [
|
|
|
11281
12442
|
name: "Tactile Workshop",
|
|
11282
12443
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
11283
12444
|
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.",
|
|
11284
|
-
siteCreatorSelection: {
|
|
12445
|
+
siteCreatorSelection: {
|
|
12446
|
+
kind: "site_creator_keyword_heuristic",
|
|
12447
|
+
priority: 50
|
|
12448
|
+
},
|
|
11285
12449
|
selectionKeywordRules: [
|
|
11286
12450
|
{ kind: "substring", value: "ceramic" },
|
|
11287
12451
|
{ kind: "word", value: "pottery" },
|
|
@@ -11301,8 +12465,15 @@ var curatedSiteStyles = [
|
|
|
11301
12465
|
motion: "subtle"
|
|
11302
12466
|
},
|
|
11303
12467
|
compositionBudget: balancedBudget,
|
|
11304
|
-
recommendedHeaderLookIds: [
|
|
11305
|
-
|
|
12468
|
+
recommendedHeaderLookIds: [
|
|
12469
|
+
"brand-solid",
|
|
12470
|
+
"practical-utility",
|
|
12471
|
+
"clean-base"
|
|
12472
|
+
],
|
|
12473
|
+
recommendedFooterLookIds: [
|
|
12474
|
+
"site-footer-brand-two-band",
|
|
12475
|
+
"footer-muted-grounding"
|
|
12476
|
+
],
|
|
11306
12477
|
buttonPersonalityChoices: [
|
|
11307
12478
|
buttonChoice("pebble"),
|
|
11308
12479
|
buttonChoice("confident-chip"),
|
|
@@ -11317,101 +12488,178 @@ var curatedSiteStyles = [
|
|
|
11317
12488
|
]
|
|
11318
12489
|
}),
|
|
11319
12490
|
defineCuratedSiteStyle({
|
|
11320
|
-
id: "site-style:
|
|
11321
|
-
name: "
|
|
11322
|
-
description: "
|
|
11323
|
-
generationBrief: "Use
|
|
11324
|
-
siteCreatorSelection: {
|
|
11325
|
-
|
|
11326
|
-
|
|
11327
|
-
{ kind: "substring", value: "campaign" },
|
|
11328
|
-
{ kind: "word", value: "preorder" },
|
|
11329
|
-
{ kind: "phrase", value: "pre-order" },
|
|
11330
|
-
{ kind: "substring", value: "waitlist" },
|
|
11331
|
-
{ kind: "word", value: "drop" }
|
|
11332
|
-
],
|
|
11333
|
-
tokenRecipes: {
|
|
11334
|
-
palette: "high-contrast",
|
|
11335
|
-
contrast: "maximum",
|
|
11336
|
-
radius: "pill",
|
|
11337
|
-
shadow: "layered",
|
|
11338
|
-
typography: "clean-sans",
|
|
11339
|
-
spacing: "regular",
|
|
11340
|
-
motion: "expressive"
|
|
12491
|
+
id: "site-style:soft-earth",
|
|
12492
|
+
name: "Soft Earth",
|
|
12493
|
+
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
12494
|
+
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.",
|
|
12495
|
+
siteCreatorSelection: {
|
|
12496
|
+
kind: "site_creator_keyword_heuristic",
|
|
12497
|
+
priority: 45
|
|
11341
12498
|
},
|
|
11342
|
-
|
|
11343
|
-
|
|
11344
|
-
|
|
11345
|
-
|
|
11346
|
-
|
|
11347
|
-
|
|
11348
|
-
buttonChoice("pebble")
|
|
12499
|
+
selectionKeywordRules: [
|
|
12500
|
+
{ kind: "word", value: "meditation" },
|
|
12501
|
+
{ kind: "word", value: "wellbeing" },
|
|
12502
|
+
{ kind: "substring", value: "retreat" },
|
|
12503
|
+
{ kind: "phrase", value: "yoga studio" },
|
|
12504
|
+
{ kind: "phrase", value: "mindful movement" }
|
|
11349
12505
|
],
|
|
11350
|
-
paletteVariantChoices: [
|
|
11351
|
-
paletteChoice("high-contrast-monochrome"),
|
|
11352
|
-
paletteChoice("high-contrast-ink"),
|
|
11353
|
-
paletteChoice("brand-led-jewel"),
|
|
11354
|
-
paletteChoice("brand-led-warm")
|
|
11355
|
-
]
|
|
11356
|
-
}),
|
|
11357
|
-
defineCuratedSiteStyle({
|
|
11358
|
-
id: "site-style:south-west-twerk-school",
|
|
11359
|
-
name: "South West Twerk School",
|
|
11360
|
-
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
11361
|
-
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.",
|
|
11362
12506
|
tokenRecipes: {
|
|
11363
|
-
palette: "
|
|
11364
|
-
contrast: "
|
|
12507
|
+
palette: "warm-neutral",
|
|
12508
|
+
contrast: "standard",
|
|
11365
12509
|
radius: "soft",
|
|
11366
|
-
shadow: "
|
|
11367
|
-
typography: "
|
|
12510
|
+
shadow: "subtle",
|
|
12511
|
+
typography: "serif-editorial",
|
|
11368
12512
|
spacing: "airy",
|
|
11369
|
-
motion: "
|
|
12513
|
+
motion: "subtle"
|
|
11370
12514
|
},
|
|
11371
|
-
compositionBudget:
|
|
12515
|
+
compositionBudget: balancedBudget,
|
|
11372
12516
|
themeOverrides: {
|
|
11373
12517
|
typography: {
|
|
11374
12518
|
body: {
|
|
11375
|
-
family: "
|
|
11376
|
-
size: "
|
|
12519
|
+
family: "Inter, system-ui, sans-serif",
|
|
12520
|
+
size: "md",
|
|
11377
12521
|
weight: "regular",
|
|
11378
12522
|
lineHeight: "relaxed",
|
|
11379
12523
|
letterSpacing: "normal"
|
|
11380
12524
|
},
|
|
11381
12525
|
headings: {
|
|
11382
12526
|
default: {
|
|
11383
|
-
family: '"
|
|
11384
|
-
weight: "
|
|
12527
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
12528
|
+
weight: "regular",
|
|
11385
12529
|
lineHeight: "normal",
|
|
11386
|
-
letterSpacing: "
|
|
11387
|
-
colorToken: "
|
|
12530
|
+
letterSpacing: "normal",
|
|
12531
|
+
colorToken: "text",
|
|
11388
12532
|
italic: null,
|
|
11389
12533
|
case: null
|
|
11390
12534
|
},
|
|
11391
12535
|
h1: {
|
|
11392
12536
|
size: "xl",
|
|
11393
|
-
weight: "
|
|
12537
|
+
weight: "regular",
|
|
11394
12538
|
lineHeight: "normal",
|
|
11395
|
-
letterSpacing: "
|
|
12539
|
+
letterSpacing: "normal",
|
|
11396
12540
|
italic: null
|
|
11397
12541
|
},
|
|
11398
12542
|
h2: {
|
|
11399
12543
|
size: "lg",
|
|
11400
|
-
weight: "
|
|
12544
|
+
weight: "regular",
|
|
11401
12545
|
lineHeight: "normal",
|
|
11402
12546
|
letterSpacing: "normal",
|
|
11403
12547
|
italic: null
|
|
11404
12548
|
},
|
|
11405
12549
|
h3: {
|
|
11406
12550
|
size: "md",
|
|
11407
|
-
weight: "
|
|
12551
|
+
weight: "regular",
|
|
11408
12552
|
lineHeight: "normal",
|
|
11409
12553
|
letterSpacing: "normal",
|
|
11410
12554
|
italic: null
|
|
11411
12555
|
}
|
|
11412
12556
|
},
|
|
11413
|
-
scale: "
|
|
12557
|
+
scale: "majorThird"
|
|
11414
12558
|
},
|
|
12559
|
+
bodyText: {
|
|
12560
|
+
intro: {
|
|
12561
|
+
paragraphSize: "default",
|
|
12562
|
+
headingSize: "editorial"
|
|
12563
|
+
}
|
|
12564
|
+
}
|
|
12565
|
+
},
|
|
12566
|
+
recommendedAppearancePresetIds: [
|
|
12567
|
+
"hero-brand-scrim",
|
|
12568
|
+
"intro-soft-earth-statement",
|
|
12569
|
+
"feature-cards-soft-earth-offerings",
|
|
12570
|
+
"testimonials-soft-earth-proof-band",
|
|
12571
|
+
"faq-soft-earth-two-column",
|
|
12572
|
+
"contact-form-panel"
|
|
12573
|
+
],
|
|
12574
|
+
recommendedHeaderLookIds: [
|
|
12575
|
+
"centered-calm",
|
|
12576
|
+
"minimal-transparent",
|
|
12577
|
+
"serif-line"
|
|
12578
|
+
],
|
|
12579
|
+
recommendedFooterLookIds: [
|
|
12580
|
+
"footer-muted-grounding",
|
|
12581
|
+
"site-footer-brand-two-band"
|
|
12582
|
+
],
|
|
12583
|
+
buttonPersonalityChoices: [
|
|
12584
|
+
buttonChoice("earth-pill"),
|
|
12585
|
+
buttonChoice("soft-pill"),
|
|
12586
|
+
buttonChoice("pebble"),
|
|
12587
|
+
buttonChoice("editorial-link")
|
|
12588
|
+
],
|
|
12589
|
+
paletteVariantChoices: [
|
|
12590
|
+
paletteChoice("warm-neutral-soft-earth"),
|
|
12591
|
+
paletteChoice("warm-neutral-clay"),
|
|
12592
|
+
paletteChoice("warm-neutral-forest"),
|
|
12593
|
+
paletteChoice("soft-natural-sage")
|
|
12594
|
+
]
|
|
12595
|
+
}),
|
|
12596
|
+
defineCuratedSiteStyle({
|
|
12597
|
+
id: "site-style:bold-launch",
|
|
12598
|
+
name: "Bold Launch",
|
|
12599
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
12600
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
12601
|
+
siteCreatorSelection: {
|
|
12602
|
+
kind: "site_creator_keyword_heuristic",
|
|
12603
|
+
priority: 10
|
|
12604
|
+
},
|
|
12605
|
+
selectionKeywordRules: [
|
|
12606
|
+
{ kind: "substring", value: "launch" },
|
|
12607
|
+
{ kind: "substring", value: "campaign" },
|
|
12608
|
+
{ kind: "word", value: "preorder" },
|
|
12609
|
+
{ kind: "phrase", value: "pre-order" },
|
|
12610
|
+
{ kind: "substring", value: "waitlist" },
|
|
12611
|
+
{ kind: "word", value: "drop" }
|
|
12612
|
+
],
|
|
12613
|
+
tokenRecipes: {
|
|
12614
|
+
palette: "high-contrast",
|
|
12615
|
+
contrast: "maximum",
|
|
12616
|
+
radius: "pill",
|
|
12617
|
+
shadow: "layered",
|
|
12618
|
+
typography: "clean-sans",
|
|
12619
|
+
spacing: "regular",
|
|
12620
|
+
motion: "expressive"
|
|
12621
|
+
},
|
|
12622
|
+
compositionBudget: expressiveBudget,
|
|
12623
|
+
recommendedHeaderLookIds: [
|
|
12624
|
+
"transparent-overlay",
|
|
12625
|
+
"floating-glass",
|
|
12626
|
+
"brand-solid"
|
|
12627
|
+
],
|
|
12628
|
+
buttonPersonalityChoices: [
|
|
12629
|
+
buttonChoice("ink-stamp"),
|
|
12630
|
+
buttonChoice("confident-chip"),
|
|
12631
|
+
buttonChoice("brushed-wash"),
|
|
12632
|
+
buttonChoice("pebble")
|
|
12633
|
+
],
|
|
12634
|
+
paletteVariantChoices: [
|
|
12635
|
+
paletteChoice("high-contrast-monochrome"),
|
|
12636
|
+
paletteChoice("high-contrast-ink"),
|
|
12637
|
+
paletteChoice("brand-led-jewel"),
|
|
12638
|
+
paletteChoice("brand-led-warm")
|
|
12639
|
+
]
|
|
12640
|
+
}),
|
|
12641
|
+
defineCuratedSiteStyle({
|
|
12642
|
+
id: "site-style:south-west-twerk-school",
|
|
12643
|
+
name: "South West Twerk School",
|
|
12644
|
+
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
12645
|
+
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.",
|
|
12646
|
+
tokenRecipes: {
|
|
12647
|
+
palette: "brand-led",
|
|
12648
|
+
contrast: "maximum",
|
|
12649
|
+
radius: "soft",
|
|
12650
|
+
shadow: "layered",
|
|
12651
|
+
typography: "clean-sans",
|
|
12652
|
+
spacing: "airy",
|
|
12653
|
+
motion: "expressive"
|
|
12654
|
+
},
|
|
12655
|
+
compositionBudget: expressiveBudget,
|
|
12656
|
+
typographyPresetChoices: [
|
|
12657
|
+
typographyChoice("typography-preset:bold-display"),
|
|
12658
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12659
|
+
typographyChoice("typography-preset:luxe-contrast")
|
|
12660
|
+
],
|
|
12661
|
+
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
12662
|
+
themeOverrides: {
|
|
11415
12663
|
bodyText: {
|
|
11416
12664
|
intro: {
|
|
11417
12665
|
paragraphSize: "editorial",
|
|
@@ -11427,8 +12675,15 @@ var curatedSiteStyles = [
|
|
|
11427
12675
|
"testimonials-accent-quote-proof",
|
|
11428
12676
|
"contact-form-brand-depth-card"
|
|
11429
12677
|
],
|
|
11430
|
-
recommendedHeaderLookIds: [
|
|
11431
|
-
|
|
12678
|
+
recommendedHeaderLookIds: [
|
|
12679
|
+
"brand-solid",
|
|
12680
|
+
"transparent-overlay",
|
|
12681
|
+
"practical-utility"
|
|
12682
|
+
],
|
|
12683
|
+
recommendedFooterLookIds: [
|
|
12684
|
+
"site-footer-brand-two-band",
|
|
12685
|
+
"footer-muted-grounding"
|
|
12686
|
+
],
|
|
11432
12687
|
buttonPersonalityChoices: [
|
|
11433
12688
|
buttonChoice("showtime-pill"),
|
|
11434
12689
|
buttonChoice("confident-chip"),
|
|
@@ -15754,8 +17009,9 @@ var faqAccordionFragment = defineFragment({
|
|
|
15754
17009
|
},
|
|
15755
17010
|
fallback: "rb-faq-item"
|
|
15756
17011
|
},
|
|
15757
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } }
|
|
15758
|
-
//
|
|
17012
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
17013
|
+
// Legacy theme accordion style
|
|
17014
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
15759
17015
|
},
|
|
15760
17016
|
triggerFrom: "faqItem.question",
|
|
15761
17017
|
contentFrom: "faqItem.answer"
|
|
@@ -16833,61 +18089,389 @@ function splitLayoutWith(children) {
|
|
|
16833
18089
|
children
|
|
16834
18090
|
}
|
|
16835
18091
|
}),
|
|
16836
|
-
// The split variants render the image as a real grid column, so suppress
|
|
16837
|
-
// the default absolute background image layer while keeping color/overlay.
|
|
16838
|
-
renderBackgroundImage: false,
|
|
16839
|
-
baseClass: ""
|
|
16840
|
-
});
|
|
16841
|
-
}
|
|
16842
|
-
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
16843
|
-
var splitImageColumn = heroSplitImagePane();
|
|
16844
|
-
var splitLayout = splitLayoutWith([
|
|
16845
|
-
splitContentColumn,
|
|
16846
|
-
splitImageColumn
|
|
16847
|
-
]);
|
|
16848
|
-
var splitReverseLayout = splitLayoutWith([
|
|
16849
|
-
splitImageColumn,
|
|
16850
|
-
splitContentColumn
|
|
16851
|
-
]);
|
|
16852
|
-
var heroConfig = {
|
|
16853
|
-
id: "block.hero",
|
|
16854
|
-
title: "Hero",
|
|
16855
|
-
titleSource: "headline",
|
|
16856
|
-
category: "layout",
|
|
16857
|
-
includeContainerStyles: true,
|
|
16858
|
-
promotedFields: ["_sectionStyles.background.image"],
|
|
16859
|
-
fragments: [
|
|
16860
|
-
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
16861
|
-
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
16862
|
-
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
16863
|
-
],
|
|
16864
|
-
additionalFields: [
|
|
16865
|
-
containerStylesField({
|
|
16866
|
-
id: "_contentCardStyles",
|
|
16867
|
-
label: "Content card",
|
|
16868
|
-
renderInHeader: true,
|
|
16869
|
-
intent: "style"
|
|
18092
|
+
// The split variants render the image as a real grid column, so suppress
|
|
18093
|
+
// the default absolute background image layer while keeping color/overlay.
|
|
18094
|
+
renderBackgroundImage: false,
|
|
18095
|
+
baseClass: ""
|
|
18096
|
+
});
|
|
18097
|
+
}
|
|
18098
|
+
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
18099
|
+
var splitImageColumn = heroSplitImagePane();
|
|
18100
|
+
var splitLayout = splitLayoutWith([
|
|
18101
|
+
splitContentColumn,
|
|
18102
|
+
splitImageColumn
|
|
18103
|
+
]);
|
|
18104
|
+
var splitReverseLayout = splitLayoutWith([
|
|
18105
|
+
splitImageColumn,
|
|
18106
|
+
splitContentColumn
|
|
18107
|
+
]);
|
|
18108
|
+
var heroConfig = {
|
|
18109
|
+
id: "block.hero",
|
|
18110
|
+
title: "Hero",
|
|
18111
|
+
titleSource: "headline",
|
|
18112
|
+
category: "layout",
|
|
18113
|
+
includeContainerStyles: true,
|
|
18114
|
+
promotedFields: ["_sectionStyles.background.image"],
|
|
18115
|
+
fragments: [
|
|
18116
|
+
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
18117
|
+
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
18118
|
+
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
18119
|
+
],
|
|
18120
|
+
additionalFields: [
|
|
18121
|
+
containerStylesField({
|
|
18122
|
+
id: "_contentCardStyles",
|
|
18123
|
+
label: "Content card",
|
|
18124
|
+
renderInHeader: true,
|
|
18125
|
+
intent: "style"
|
|
18126
|
+
})
|
|
18127
|
+
],
|
|
18128
|
+
layout: classicLayout,
|
|
18129
|
+
variants: {
|
|
18130
|
+
classic: classicLayout,
|
|
18131
|
+
micro: microLayout,
|
|
18132
|
+
split: splitLayout,
|
|
18133
|
+
splitReverse: splitReverseLayout
|
|
18134
|
+
},
|
|
18135
|
+
defaultVariant: "classic",
|
|
18136
|
+
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
18137
|
+
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
18138
|
+
icon: "Sparkles",
|
|
18139
|
+
styleTokens: {
|
|
18140
|
+
typography: "display",
|
|
18141
|
+
spacing: "xl"
|
|
18142
|
+
}
|
|
18143
|
+
};
|
|
18144
|
+
var heroManifest = createBlockManifest(heroConfig);
|
|
18145
|
+
var heroBlockDefinition = {
|
|
18146
|
+
manifest: heroManifest
|
|
18147
|
+
};
|
|
18148
|
+
|
|
18149
|
+
// ../blocks/src/system/fields/aspectRatio.ts
|
|
18150
|
+
var standardAspectRatioOptions = [
|
|
18151
|
+
{ value: "auto", label: "Auto (original)" },
|
|
18152
|
+
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
18153
|
+
{ value: "4/3", label: "4:3 (Standard)" },
|
|
18154
|
+
{ value: "1/1", label: "1:1 (Square)" },
|
|
18155
|
+
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
18156
|
+
];
|
|
18157
|
+
function createAspectRatioField(options = {}) {
|
|
18158
|
+
return {
|
|
18159
|
+
id: options.id ?? "aspectRatio",
|
|
18160
|
+
type: "select",
|
|
18161
|
+
label: options.label ?? "Aspect ratio",
|
|
18162
|
+
...options.description ? { description: options.description } : {},
|
|
18163
|
+
required: false,
|
|
18164
|
+
defaultValue: options.defaultValue ?? "auto",
|
|
18165
|
+
multiple: false,
|
|
18166
|
+
options: [...standardAspectRatioOptions],
|
|
18167
|
+
ui: {
|
|
18168
|
+
intent: options.uiIntent ?? "display",
|
|
18169
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
18170
|
+
}
|
|
18171
|
+
};
|
|
18172
|
+
}
|
|
18173
|
+
|
|
18174
|
+
// ../blocks/src/system/fields/imageLayout.ts
|
|
18175
|
+
function createImageColSizeField(options = {}) {
|
|
18176
|
+
const {
|
|
18177
|
+
id = "imageColSize",
|
|
18178
|
+
label = "Image column size",
|
|
18179
|
+
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
18180
|
+
defaultValue = "1/3",
|
|
18181
|
+
uiIntent = "display",
|
|
18182
|
+
visibleWhen
|
|
18183
|
+
} = options;
|
|
18184
|
+
return {
|
|
18185
|
+
id,
|
|
18186
|
+
type: "select",
|
|
18187
|
+
label,
|
|
18188
|
+
description,
|
|
18189
|
+
required: false,
|
|
18190
|
+
defaultValue,
|
|
18191
|
+
multiple: false,
|
|
18192
|
+
options: [
|
|
18193
|
+
{ value: "1/4", label: "Small (1/4)" },
|
|
18194
|
+
{ value: "1/3", label: "Medium (1/3)" },
|
|
18195
|
+
{ value: "2/5", label: "Large (2/5)" },
|
|
18196
|
+
{ value: "1/2", label: "Extra large (1/2)" },
|
|
18197
|
+
{ value: "2/3", label: "Huge (2/3)" }
|
|
18198
|
+
],
|
|
18199
|
+
ui: {
|
|
18200
|
+
intent: uiIntent,
|
|
18201
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
18202
|
+
}
|
|
18203
|
+
};
|
|
18204
|
+
}
|
|
18205
|
+
function createImagePositionField(options = {}) {
|
|
18206
|
+
const {
|
|
18207
|
+
id = "imagePosition",
|
|
18208
|
+
label = "Image position",
|
|
18209
|
+
description = "Choose which side the image appears on.",
|
|
18210
|
+
defaultValue = "left",
|
|
18211
|
+
includeAlternate = false,
|
|
18212
|
+
uiIntent = "display",
|
|
18213
|
+
visibleWhen
|
|
18214
|
+
} = options;
|
|
18215
|
+
const positionOptions = [
|
|
18216
|
+
{ value: "left", label: "Left" },
|
|
18217
|
+
{ value: "right", label: "Right" },
|
|
18218
|
+
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
18219
|
+
];
|
|
18220
|
+
return {
|
|
18221
|
+
id,
|
|
18222
|
+
type: "select",
|
|
18223
|
+
label,
|
|
18224
|
+
description,
|
|
18225
|
+
required: false,
|
|
18226
|
+
defaultValue,
|
|
18227
|
+
multiple: false,
|
|
18228
|
+
// Spread to get a mutable array type without unsafe casts.
|
|
18229
|
+
options: [...positionOptions],
|
|
18230
|
+
ui: {
|
|
18231
|
+
intent: uiIntent,
|
|
18232
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
18233
|
+
}
|
|
18234
|
+
};
|
|
18235
|
+
}
|
|
18236
|
+
|
|
18237
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
18238
|
+
function introHeading(className) {
|
|
18239
|
+
return text(
|
|
18240
|
+
{
|
|
18241
|
+
as: "h2",
|
|
18242
|
+
className
|
|
18243
|
+
},
|
|
18244
|
+
when("content.title"),
|
|
18245
|
+
bind("content.title")
|
|
18246
|
+
);
|
|
18247
|
+
}
|
|
18248
|
+
function introBody(className = "rb-prose rb-max-w-none") {
|
|
18249
|
+
return richText({ className }, bind("content.body"));
|
|
18250
|
+
}
|
|
18251
|
+
function introCtas(justify = "start") {
|
|
18252
|
+
return ctaRow({
|
|
18253
|
+
justify,
|
|
18254
|
+
gap: "md",
|
|
18255
|
+
containerClassName: "rb-mt-2"
|
|
18256
|
+
});
|
|
18257
|
+
}
|
|
18258
|
+
function introCopyStack(options = {}) {
|
|
18259
|
+
return stack(
|
|
18260
|
+
{
|
|
18261
|
+
gap: "md",
|
|
18262
|
+
className: options.className ?? "rb-intro-copy"
|
|
18263
|
+
},
|
|
18264
|
+
[
|
|
18265
|
+
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
18266
|
+
introBody(options.bodyClassName),
|
|
18267
|
+
introCtas(options.ctaJustify)
|
|
18268
|
+
]
|
|
18269
|
+
);
|
|
18270
|
+
}
|
|
18271
|
+
var introMedia = media(
|
|
18272
|
+
{
|
|
18273
|
+
className: "rb-intro-media rb-w-full rb-h-auto rb-object-cover",
|
|
18274
|
+
style: {
|
|
18275
|
+
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
18276
|
+
}
|
|
18277
|
+
},
|
|
18278
|
+
bind("content.media")
|
|
18279
|
+
);
|
|
18280
|
+
var centeredCopyLayout = styledSection({
|
|
18281
|
+
children: styledContainer({
|
|
18282
|
+
rootType: "stack",
|
|
18283
|
+
rootProps: { gap: "lg" },
|
|
18284
|
+
children: [
|
|
18285
|
+
introCopyStack({
|
|
18286
|
+
className: "rb-intro-copy rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
18287
|
+
headingClassName: "rb-intro-title rb-text-center",
|
|
18288
|
+
bodyClassName: "rb-prose rb-mx-auto rb-max-w-none",
|
|
18289
|
+
ctaJustify: "center"
|
|
18290
|
+
})
|
|
18291
|
+
]
|
|
18292
|
+
}),
|
|
18293
|
+
baseClass: "",
|
|
18294
|
+
spacing: "medium"
|
|
18295
|
+
});
|
|
18296
|
+
var statementCopyLayout = styledSection({
|
|
18297
|
+
children: styledContainer({
|
|
18298
|
+
children: [
|
|
18299
|
+
el(
|
|
18300
|
+
"div",
|
|
18301
|
+
{
|
|
18302
|
+
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
18303
|
+
},
|
|
18304
|
+
[
|
|
18305
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
18306
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
18307
|
+
introBody(),
|
|
18308
|
+
introCtas("start")
|
|
18309
|
+
])
|
|
18310
|
+
]
|
|
18311
|
+
)
|
|
18312
|
+
]
|
|
18313
|
+
}),
|
|
18314
|
+
baseClass: "",
|
|
18315
|
+
spacing: "medium"
|
|
18316
|
+
});
|
|
18317
|
+
var statementMediaLayout = styledSection({
|
|
18318
|
+
children: styledContainer({
|
|
18319
|
+
children: [
|
|
18320
|
+
el(
|
|
18321
|
+
"div",
|
|
18322
|
+
{
|
|
18323
|
+
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"
|
|
18324
|
+
},
|
|
18325
|
+
[
|
|
18326
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
18327
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
18328
|
+
introBody(),
|
|
18329
|
+
introCtas("start")
|
|
18330
|
+
]),
|
|
18331
|
+
el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia], when("content.media"))
|
|
18332
|
+
]
|
|
18333
|
+
)
|
|
18334
|
+
]
|
|
18335
|
+
}),
|
|
18336
|
+
baseClass: "",
|
|
18337
|
+
spacing: "medium"
|
|
18338
|
+
});
|
|
18339
|
+
var mediaCopyLayout = styledSection({
|
|
18340
|
+
children: styledContainer({
|
|
18341
|
+
children: [
|
|
18342
|
+
responsiveTwoColumn({
|
|
18343
|
+
image: el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia]),
|
|
18344
|
+
text: introCopyStack({
|
|
18345
|
+
className: "rb-intro-copy rb-max-w-xl",
|
|
18346
|
+
headingClassName: "rb-intro-title"
|
|
18347
|
+
}),
|
|
18348
|
+
ratioFrom: "content.ratio",
|
|
18349
|
+
imagePositionFrom: "content.imagePosition",
|
|
18350
|
+
gapFrom: "content.gap",
|
|
18351
|
+
gapFallback: "comfortable",
|
|
18352
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
18353
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-center"
|
|
18354
|
+
})
|
|
18355
|
+
]
|
|
18356
|
+
}),
|
|
18357
|
+
baseClass: "",
|
|
18358
|
+
spacing: "medium"
|
|
18359
|
+
});
|
|
18360
|
+
var introConfig = {
|
|
18361
|
+
id: "block.intro",
|
|
18362
|
+
title: "Intro",
|
|
18363
|
+
category: "layout",
|
|
18364
|
+
includeContainerStyles: true,
|
|
18365
|
+
titleSource: "title",
|
|
18366
|
+
additionalFields: [
|
|
18367
|
+
{
|
|
18368
|
+
id: "title",
|
|
18369
|
+
type: "text",
|
|
18370
|
+
label: "Statement",
|
|
18371
|
+
required: false,
|
|
18372
|
+
multiline: true,
|
|
18373
|
+
maxLength: 160
|
|
18374
|
+
},
|
|
18375
|
+
{
|
|
18376
|
+
id: "body",
|
|
18377
|
+
type: "richText",
|
|
18378
|
+
label: "Text",
|
|
18379
|
+
required: true,
|
|
18380
|
+
ui: {
|
|
18381
|
+
richTextVariant: "limited"
|
|
18382
|
+
}
|
|
18383
|
+
},
|
|
18384
|
+
{
|
|
18385
|
+
id: "media",
|
|
18386
|
+
type: "media",
|
|
18387
|
+
label: "Media",
|
|
18388
|
+
required: false,
|
|
18389
|
+
mediaKinds: ["image"],
|
|
18390
|
+
ui: {
|
|
18391
|
+
intent: "content",
|
|
18392
|
+
visibleWhen: { field: "variant", notEquals: "statement-copy" }
|
|
18393
|
+
}
|
|
18394
|
+
},
|
|
18395
|
+
createImagePositionField({
|
|
18396
|
+
id: "imagePosition",
|
|
18397
|
+
label: "Image position",
|
|
18398
|
+
defaultValue: "left",
|
|
18399
|
+
uiIntent: "display",
|
|
18400
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18401
|
+
}),
|
|
18402
|
+
{
|
|
18403
|
+
id: "gap",
|
|
18404
|
+
type: "select",
|
|
18405
|
+
label: "Gap between media and text",
|
|
18406
|
+
required: false,
|
|
18407
|
+
defaultValue: "comfortable",
|
|
18408
|
+
multiple: false,
|
|
18409
|
+
options: [
|
|
18410
|
+
{ value: "none", label: "None" },
|
|
18411
|
+
{ value: "compact", label: "Compact" },
|
|
18412
|
+
{ value: "cozy", label: "Cozy" },
|
|
18413
|
+
{ value: "medium", label: "Medium" },
|
|
18414
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
18415
|
+
{ value: "spacious", label: "Spacious" }
|
|
18416
|
+
],
|
|
18417
|
+
ui: {
|
|
18418
|
+
intent: "display",
|
|
18419
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18420
|
+
}
|
|
18421
|
+
},
|
|
18422
|
+
createImageColSizeField({
|
|
18423
|
+
id: "ratio",
|
|
18424
|
+
label: "Media column size",
|
|
18425
|
+
defaultValue: "1/2",
|
|
18426
|
+
uiIntent: "display",
|
|
18427
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18428
|
+
}),
|
|
18429
|
+
createAspectRatioField({
|
|
18430
|
+
id: "aspectRatio",
|
|
18431
|
+
label: "Media aspect ratio",
|
|
18432
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
18433
|
+
defaultValue: "auto",
|
|
18434
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
18435
|
+
}),
|
|
18436
|
+
createCtasRepeater({
|
|
18437
|
+
label: "Calls to action",
|
|
18438
|
+
itemLabel: "CTA",
|
|
18439
|
+
maxItems: 2
|
|
16870
18440
|
})
|
|
16871
18441
|
],
|
|
16872
|
-
layout:
|
|
18442
|
+
layout: centeredCopyLayout,
|
|
16873
18443
|
variants: {
|
|
16874
|
-
|
|
16875
|
-
|
|
16876
|
-
|
|
16877
|
-
|
|
18444
|
+
"centered-copy": centeredCopyLayout,
|
|
18445
|
+
"statement-copy": statementCopyLayout,
|
|
18446
|
+
"statement-media": statementMediaLayout,
|
|
18447
|
+
"media-copy": mediaCopyLayout
|
|
16878
18448
|
},
|
|
16879
|
-
defaultVariant: "
|
|
16880
|
-
|
|
16881
|
-
|
|
16882
|
-
|
|
16883
|
-
|
|
16884
|
-
|
|
16885
|
-
|
|
16886
|
-
|
|
18449
|
+
defaultVariant: "statement-copy",
|
|
18450
|
+
variantOptions: {
|
|
18451
|
+
"centered-copy": {
|
|
18452
|
+
label: "Centered copy",
|
|
18453
|
+
description: "A focused intro with centered text and optional calls to action."
|
|
18454
|
+
},
|
|
18455
|
+
"statement-copy": {
|
|
18456
|
+
label: "Statement and copy",
|
|
18457
|
+
description: "A large statement on the left with supporting copy on the right."
|
|
18458
|
+
},
|
|
18459
|
+
"statement-media": {
|
|
18460
|
+
label: "Statement, copy and media",
|
|
18461
|
+
description: "A three-part intro with statement, copy and a small image."
|
|
18462
|
+
},
|
|
18463
|
+
"media-copy": {
|
|
18464
|
+
label: "Media and copy",
|
|
18465
|
+
description: "A compact media/text intro for softer transitions after a hero."
|
|
18466
|
+
}
|
|
18467
|
+
},
|
|
18468
|
+
description: "A flexible introductory section for statement copy, supporting text, media, and CTAs.",
|
|
18469
|
+
tags: ["intro", "introduction", "about", "welcome", "statement", "media", "text"],
|
|
18470
|
+
icon: "PanelTopOpen"
|
|
16887
18471
|
};
|
|
16888
|
-
var
|
|
16889
|
-
var
|
|
16890
|
-
manifest:
|
|
18472
|
+
var introManifest = createBlockManifest(introConfig);
|
|
18473
|
+
var introBlockDefinition = {
|
|
18474
|
+
manifest: introManifest
|
|
16891
18475
|
};
|
|
16892
18476
|
|
|
16893
18477
|
// ../blocks/src/system/blocks/body-text.ts
|
|
@@ -17733,6 +19317,37 @@ var faqComposition = composeFragments([
|
|
|
17733
19317
|
{ fragment: faqHeadingFragment, fieldPriority: 0 },
|
|
17734
19318
|
{ fragment: faqAccordionFragment, fieldPriority: 1 }
|
|
17735
19319
|
]);
|
|
19320
|
+
function fragmentLayoutNode(layout) {
|
|
19321
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
19322
|
+
}
|
|
19323
|
+
function isNodeDefinitionArray(layout) {
|
|
19324
|
+
return Array.isArray(layout);
|
|
19325
|
+
}
|
|
19326
|
+
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
19327
|
+
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
19328
|
+
var defaultLayout = styledSection({
|
|
19329
|
+
children: styledContainer({
|
|
19330
|
+
baseClassName: "rb-relative rb-isolate",
|
|
19331
|
+
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, faqComposition.layout)
|
|
19332
|
+
}),
|
|
19333
|
+
baseClass: ""
|
|
19334
|
+
});
|
|
19335
|
+
var twoColumnLayout = styledSection({
|
|
19336
|
+
children: styledContainer({
|
|
19337
|
+
baseClassName: "rb-relative rb-isolate",
|
|
19338
|
+
children: el(
|
|
19339
|
+
"div",
|
|
19340
|
+
{
|
|
19341
|
+
className: "rb-faq-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
19342
|
+
},
|
|
19343
|
+
[
|
|
19344
|
+
el("div", { className: "rb-faq-two-column-heading" }, [headingLayout]),
|
|
19345
|
+
el("div", { className: "rb-faq-two-column-accordion" }, [accordionLayout])
|
|
19346
|
+
]
|
|
19347
|
+
)
|
|
19348
|
+
}),
|
|
19349
|
+
baseClass: ""
|
|
19350
|
+
});
|
|
17736
19351
|
var faqManifest = createBlockManifest({
|
|
17737
19352
|
id: "block.faq",
|
|
17738
19353
|
title: "FAQ",
|
|
@@ -17749,13 +19364,22 @@ var faqManifest = createBlockManifest({
|
|
|
17749
19364
|
label: "FAQ item styles"
|
|
17750
19365
|
})
|
|
17751
19366
|
],
|
|
17752
|
-
layout:
|
|
17753
|
-
|
|
17754
|
-
|
|
17755
|
-
|
|
17756
|
-
|
|
17757
|
-
|
|
17758
|
-
|
|
19367
|
+
layout: defaultLayout,
|
|
19368
|
+
variants: {
|
|
19369
|
+
default: defaultLayout,
|
|
19370
|
+
"two-column": twoColumnLayout
|
|
19371
|
+
},
|
|
19372
|
+
defaultVariant: "default",
|
|
19373
|
+
variantOptions: {
|
|
19374
|
+
default: {
|
|
19375
|
+
label: "Default",
|
|
19376
|
+
description: "A centered heading above one FAQ accordion."
|
|
19377
|
+
},
|
|
19378
|
+
"two-column": {
|
|
19379
|
+
label: "Two column",
|
|
19380
|
+
description: "A left heading column with FAQ items on the right."
|
|
19381
|
+
}
|
|
19382
|
+
},
|
|
17759
19383
|
description: "Accordion of frequently asked questions and answers.",
|
|
17760
19384
|
tags: ["faq", "questions", "answers", "help", "support", "accordion", "q&a"],
|
|
17761
19385
|
icon: "HelpCircle"
|
|
@@ -18405,7 +20029,8 @@ function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "
|
|
|
18405
20029
|
function resolveHeaderVisualStyles(header, tokens) {
|
|
18406
20030
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
18407
20031
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
18408
|
-
|
|
20032
|
+
const hasTransparentVariant = header?.variant === "transparent" || header?.variant === "floating";
|
|
20033
|
+
if (hasContainedNav || hasTransparentVariant) {
|
|
18409
20034
|
return {
|
|
18410
20035
|
backgroundToken: "transparent",
|
|
18411
20036
|
paletteHex: null,
|
|
@@ -18463,10 +20088,7 @@ var headerRootClassTransform = {
|
|
|
18463
20088
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
18464
20089
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
18465
20090
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
18466
|
-
const classes = [
|
|
18467
|
-
config.base,
|
|
18468
|
-
backgroundClass
|
|
18469
|
-
];
|
|
20091
|
+
const classes = [config.base, backgroundClass];
|
|
18470
20092
|
if (!hasContainedNav) {
|
|
18471
20093
|
if (config.blur) classes.push(config.blur);
|
|
18472
20094
|
if (config.blurSupport) classes.push(config.blurSupport);
|
|
@@ -18481,7 +20103,12 @@ var headerRootClassTransform = {
|
|
|
18481
20103
|
if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
|
|
18482
20104
|
classes.push(config.shrink);
|
|
18483
20105
|
}
|
|
18484
|
-
const VALID_VARIANTS = [
|
|
20106
|
+
const VALID_VARIANTS = [
|
|
20107
|
+
"classic",
|
|
20108
|
+
"centered",
|
|
20109
|
+
"transparent",
|
|
20110
|
+
"floating"
|
|
20111
|
+
];
|
|
18485
20112
|
const variant = header?.variant;
|
|
18486
20113
|
if (variant && VALID_VARIANTS.includes(variant)) {
|
|
18487
20114
|
classes.push(`header-variant-${variant}`);
|
|
@@ -18534,6 +20161,17 @@ var headerRootStyleTransform = {
|
|
|
18534
20161
|
return mergeStyles(...styleParts);
|
|
18535
20162
|
}
|
|
18536
20163
|
};
|
|
20164
|
+
var headerSectionBackgroundTransform = {
|
|
20165
|
+
id: "layout.headerSectionBackground",
|
|
20166
|
+
kind: "string",
|
|
20167
|
+
summary: "Resolve the inner site-header section background token",
|
|
20168
|
+
run: (value) => {
|
|
20169
|
+
const header = asPartialObject(value);
|
|
20170
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
20171
|
+
const usesTransparentRoot = header?.variant === "transparent" || header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill";
|
|
20172
|
+
return usesTransparentRoot ? "raw:transparent" : "background";
|
|
20173
|
+
}
|
|
20174
|
+
};
|
|
18537
20175
|
var footerRootStyleTransform = {
|
|
18538
20176
|
id: "layout.footerRootStyle",
|
|
18539
20177
|
kind: "formatter",
|
|
@@ -18792,6 +20430,7 @@ var layoutTransforms = [
|
|
|
18792
20430
|
headerRootClassTransform,
|
|
18793
20431
|
footerRootClassTransform,
|
|
18794
20432
|
headerRootStyleTransform,
|
|
20433
|
+
headerSectionBackgroundTransform,
|
|
18795
20434
|
footerRootStyleTransform,
|
|
18796
20435
|
footerBottomBarClassTransform,
|
|
18797
20436
|
footerBottomBarContainerClassTransform,
|
|
@@ -19090,15 +20729,21 @@ var mobileCta = ctaButton({
|
|
|
19090
20729
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
19091
20730
|
{
|
|
19092
20731
|
type: "div",
|
|
19093
|
-
props: {
|
|
20732
|
+
props: {
|
|
20733
|
+
className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20734
|
+
}
|
|
19094
20735
|
},
|
|
19095
20736
|
{
|
|
19096
20737
|
type: "div",
|
|
19097
|
-
props: {
|
|
20738
|
+
props: {
|
|
20739
|
+
className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20740
|
+
}
|
|
19098
20741
|
},
|
|
19099
20742
|
{
|
|
19100
20743
|
type: "div",
|
|
19101
|
-
props: {
|
|
20744
|
+
props: {
|
|
20745
|
+
className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20746
|
+
}
|
|
19102
20747
|
}
|
|
19103
20748
|
]);
|
|
19104
20749
|
var mobileToggleButton = {
|
|
@@ -19281,31 +20926,12 @@ var floatingLayout = inline(
|
|
|
19281
20926
|
],
|
|
19282
20927
|
when("$root.theme.header.variant", { equals: "floating" })
|
|
19283
20928
|
);
|
|
19284
|
-
var editorialLayout = stack(
|
|
19285
|
-
{
|
|
19286
|
-
gap: "md",
|
|
19287
|
-
align: "center",
|
|
19288
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
19289
|
-
transforms: pipe(
|
|
19290
|
-
tx("layout.maxWidthClass", {
|
|
19291
|
-
base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
19292
|
-
})
|
|
19293
|
-
),
|
|
19294
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
19295
|
-
})
|
|
19296
|
-
},
|
|
19297
|
-
[
|
|
19298
|
-
centeredLogoRow,
|
|
19299
|
-
createNavRow(
|
|
19300
|
-
`${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
|
|
19301
|
-
"center"
|
|
19302
|
-
)
|
|
19303
|
-
],
|
|
19304
|
-
when("$root.theme.header.variant", { equals: "editorial" })
|
|
19305
|
-
);
|
|
19306
20929
|
var headerLayout = headerSection(
|
|
19307
20930
|
{
|
|
19308
|
-
background: "
|
|
20931
|
+
background: bindProp("$root.theme.header", {
|
|
20932
|
+
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
20933
|
+
fallback: "background"
|
|
20934
|
+
}),
|
|
19309
20935
|
allowOverflow: true,
|
|
19310
20936
|
className: bindProp("$root.theme.header", {
|
|
19311
20937
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
@@ -19313,10 +20939,7 @@ var headerLayout = headerSection(
|
|
|
19313
20939
|
}),
|
|
19314
20940
|
style: bindProp("$root.theme.header", {
|
|
19315
20941
|
transforms: pipe(tx("layout.headerRootStyle")),
|
|
19316
|
-
fallback: mergeStyles(
|
|
19317
|
-
textColorStyle("text"),
|
|
19318
|
-
borderColorStyle("border")
|
|
19319
|
-
)
|
|
20942
|
+
fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
|
|
19320
20943
|
})
|
|
19321
20944
|
},
|
|
19322
20945
|
[
|
|
@@ -19325,7 +20948,6 @@ var headerLayout = headerSection(
|
|
|
19325
20948
|
centeredLayout,
|
|
19326
20949
|
transparentLayout,
|
|
19327
20950
|
floatingLayout,
|
|
19328
|
-
editorialLayout,
|
|
19329
20951
|
mobileOverlay
|
|
19330
20952
|
],
|
|
19331
20953
|
props({
|
|
@@ -20140,79 +21762,298 @@ var collectionLayout = styledSection({
|
|
|
20140
21762
|
{ gap: "md" }
|
|
20141
21763
|
),
|
|
20142
21764
|
baseClass: "",
|
|
20143
|
-
spacing: "comfortable"
|
|
21765
|
+
spacing: "comfortable"
|
|
21766
|
+
});
|
|
21767
|
+
var collectionManifest = createBlockManifest({
|
|
21768
|
+
id: "block.collection",
|
|
21769
|
+
title: "Collection",
|
|
21770
|
+
category: "layout",
|
|
21771
|
+
additionalFields: [
|
|
21772
|
+
parseFieldDefinition({
|
|
21773
|
+
id: "layout",
|
|
21774
|
+
type: "select",
|
|
21775
|
+
label: "Layout",
|
|
21776
|
+
defaultValue: "grid",
|
|
21777
|
+
options: [
|
|
21778
|
+
{ value: "grid", label: "Grid" },
|
|
21779
|
+
{ value: "stack", label: "Stack" }
|
|
21780
|
+
],
|
|
21781
|
+
ui: { intent: "display" }
|
|
21782
|
+
}),
|
|
21783
|
+
parseFieldDefinition({
|
|
21784
|
+
id: "columns",
|
|
21785
|
+
type: "select",
|
|
21786
|
+
label: "Columns",
|
|
21787
|
+
description: "Number of columns in the grid layout.",
|
|
21788
|
+
defaultValue: "3",
|
|
21789
|
+
options: [
|
|
21790
|
+
{ value: "2", label: "2 columns" },
|
|
21791
|
+
{ value: "3", label: "3 columns" },
|
|
21792
|
+
{ value: "4", label: "4 columns" }
|
|
21793
|
+
],
|
|
21794
|
+
ui: {
|
|
21795
|
+
intent: "display",
|
|
21796
|
+
visibleWhen: { field: "layout", equals: "grid" }
|
|
21797
|
+
}
|
|
21798
|
+
}),
|
|
21799
|
+
parseFieldDefinition({
|
|
21800
|
+
id: "gap",
|
|
21801
|
+
type: "select",
|
|
21802
|
+
label: "Gap",
|
|
21803
|
+
defaultValue: "medium",
|
|
21804
|
+
options: [
|
|
21805
|
+
{ value: "none", label: "None" },
|
|
21806
|
+
{ value: "compact", label: "Compact" },
|
|
21807
|
+
{ value: "cozy", label: "Cozy" },
|
|
21808
|
+
{ value: "medium", label: "Medium" },
|
|
21809
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
21810
|
+
{ value: "spacious", label: "Spacious" }
|
|
21811
|
+
],
|
|
21812
|
+
ui: { intent: "display" }
|
|
21813
|
+
}),
|
|
21814
|
+
fragmentsToRepeaterField(
|
|
21815
|
+
"items",
|
|
21816
|
+
"Items",
|
|
21817
|
+
collectionFragments,
|
|
21818
|
+
{
|
|
21819
|
+
minItems: 0,
|
|
21820
|
+
maxItems: 50,
|
|
21821
|
+
itemLabel: "Item",
|
|
21822
|
+
description: "Add items to this collection."
|
|
21823
|
+
}
|
|
21824
|
+
),
|
|
21825
|
+
cardStylesField({
|
|
21826
|
+
id: "_cardStyles",
|
|
21827
|
+
label: "Item styles"
|
|
21828
|
+
})
|
|
21829
|
+
],
|
|
21830
|
+
layout: collectionLayout,
|
|
21831
|
+
description: "Repeat items in a grid or stack layout.",
|
|
21832
|
+
tags: ["collection", "grid", "stack", "repeater"],
|
|
21833
|
+
icon: "LayoutList",
|
|
21834
|
+
styleTokens: { spacing: "lg" }
|
|
21835
|
+
});
|
|
21836
|
+
var collectionBlockDefinition = {
|
|
21837
|
+
manifest: collectionManifest
|
|
21838
|
+
};
|
|
21839
|
+
|
|
21840
|
+
// ../blocks/src/system/blocks/feature-cards.ts
|
|
21841
|
+
function grid3(props2, children) {
|
|
21842
|
+
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
21843
|
+
}
|
|
21844
|
+
var sectionHeading = stack(
|
|
21845
|
+
{ gap: "sm", className: "rb-feature-cards-heading rb-mx-auto rb-max-w-3xl rb-text-center" },
|
|
21846
|
+
[
|
|
21847
|
+
text(
|
|
21848
|
+
{
|
|
21849
|
+
as: "h2",
|
|
21850
|
+
className: "rb-feature-cards-title rb-text-center"
|
|
21851
|
+
},
|
|
21852
|
+
when("content.title"),
|
|
21853
|
+
bind("content.title")
|
|
21854
|
+
),
|
|
21855
|
+
richText(
|
|
21856
|
+
{
|
|
21857
|
+
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
21858
|
+
style: textColorStyle("mutedText")
|
|
21859
|
+
},
|
|
21860
|
+
when("content.description"),
|
|
21861
|
+
bind("content.description")
|
|
21862
|
+
)
|
|
21863
|
+
]
|
|
21864
|
+
);
|
|
21865
|
+
var featureCard = styledCard(
|
|
21866
|
+
[
|
|
21867
|
+
media(
|
|
21868
|
+
{
|
|
21869
|
+
className: "rb-feature-card-media rb-w-full rb-h-auto rb-object-cover",
|
|
21870
|
+
style: {
|
|
21871
|
+
aspectRatio: { $bind: { from: "card.aspectRatio" } }
|
|
21872
|
+
}
|
|
21873
|
+
},
|
|
21874
|
+
when("card.media"),
|
|
21875
|
+
bind("card.media")
|
|
21876
|
+
),
|
|
21877
|
+
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
21878
|
+
text(
|
|
21879
|
+
{
|
|
21880
|
+
as: "h3",
|
|
21881
|
+
className: "rb-feature-card-title"
|
|
21882
|
+
},
|
|
21883
|
+
bind("card.title")
|
|
21884
|
+
),
|
|
21885
|
+
richText(
|
|
21886
|
+
{
|
|
21887
|
+
className: "rb-feature-card-body rb-prose rb-max-w-none",
|
|
21888
|
+
style: textColorStyle("mutedText")
|
|
21889
|
+
},
|
|
21890
|
+
when("card.body"),
|
|
21891
|
+
bind("card.body")
|
|
21892
|
+
),
|
|
21893
|
+
ctaRow({
|
|
21894
|
+
collectionPath: "ctas",
|
|
21895
|
+
itemName: "cta",
|
|
21896
|
+
gap: "sm",
|
|
21897
|
+
justify: "start",
|
|
21898
|
+
containerClassName: "rb-mt-auto"
|
|
21899
|
+
})
|
|
21900
|
+
])
|
|
21901
|
+
],
|
|
21902
|
+
{
|
|
21903
|
+
stylesFrom: "content._cardStyles",
|
|
21904
|
+
backgroundFrom: "content._cardStyles.background",
|
|
21905
|
+
baseClassName: "rb-feature-card rb-relative rb-isolate rb-overflow-hidden rb-border rb-flex rb-h-full rb-flex-col"
|
|
21906
|
+
},
|
|
21907
|
+
repeat("content.cards", "card")
|
|
21908
|
+
);
|
|
21909
|
+
var cardsLayout = styledSection({
|
|
21910
|
+
children: styledContainer({
|
|
21911
|
+
rootType: "stack",
|
|
21912
|
+
rootProps: { gap: "xl" },
|
|
21913
|
+
children: [
|
|
21914
|
+
sectionHeading,
|
|
21915
|
+
grid3(
|
|
21916
|
+
{
|
|
21917
|
+
cols: {
|
|
21918
|
+
$bind: {
|
|
21919
|
+
from: "content.columns",
|
|
21920
|
+
fallback: 3,
|
|
21921
|
+
coerce: "number"
|
|
21922
|
+
}
|
|
21923
|
+
},
|
|
21924
|
+
gap: "lg"
|
|
21925
|
+
},
|
|
21926
|
+
[featureCard]
|
|
21927
|
+
)
|
|
21928
|
+
]
|
|
21929
|
+
}),
|
|
21930
|
+
baseClass: "",
|
|
21931
|
+
spacing: "medium"
|
|
20144
21932
|
});
|
|
20145
|
-
var
|
|
20146
|
-
id: "block.
|
|
20147
|
-
title: "
|
|
21933
|
+
var featureCardsConfig = {
|
|
21934
|
+
id: "block.feature-cards",
|
|
21935
|
+
title: "Feature Cards",
|
|
20148
21936
|
category: "layout",
|
|
21937
|
+
includeContainerStyles: true,
|
|
21938
|
+
titleSource: "title",
|
|
20149
21939
|
additionalFields: [
|
|
20150
|
-
|
|
20151
|
-
id: "
|
|
20152
|
-
type: "
|
|
20153
|
-
label: "
|
|
20154
|
-
|
|
20155
|
-
|
|
20156
|
-
|
|
20157
|
-
|
|
20158
|
-
|
|
20159
|
-
|
|
20160
|
-
|
|
20161
|
-
|
|
21940
|
+
{
|
|
21941
|
+
id: "title",
|
|
21942
|
+
type: "text",
|
|
21943
|
+
label: "Title",
|
|
21944
|
+
required: false,
|
|
21945
|
+
multiline: false,
|
|
21946
|
+
maxLength: 120
|
|
21947
|
+
},
|
|
21948
|
+
{
|
|
21949
|
+
id: "description",
|
|
21950
|
+
type: "richText",
|
|
21951
|
+
label: "Description",
|
|
21952
|
+
required: false,
|
|
21953
|
+
ui: {
|
|
21954
|
+
richTextVariant: "limited"
|
|
21955
|
+
}
|
|
21956
|
+
},
|
|
21957
|
+
{
|
|
20162
21958
|
id: "columns",
|
|
20163
21959
|
type: "select",
|
|
20164
21960
|
label: "Columns",
|
|
20165
|
-
|
|
21961
|
+
required: false,
|
|
20166
21962
|
defaultValue: "3",
|
|
21963
|
+
multiple: false,
|
|
20167
21964
|
options: [
|
|
20168
21965
|
{ value: "2", label: "2 columns" },
|
|
20169
21966
|
{ value: "3", label: "3 columns" },
|
|
20170
21967
|
{ value: "4", label: "4 columns" }
|
|
20171
21968
|
],
|
|
20172
|
-
ui: {
|
|
20173
|
-
intent: "display",
|
|
20174
|
-
visibleWhen: { field: "layout", equals: "grid" }
|
|
20175
|
-
}
|
|
20176
|
-
}),
|
|
20177
|
-
parseFieldDefinition({
|
|
20178
|
-
id: "gap",
|
|
20179
|
-
type: "select",
|
|
20180
|
-
label: "Gap",
|
|
20181
|
-
defaultValue: "medium",
|
|
20182
|
-
options: [
|
|
20183
|
-
{ value: "none", label: "None" },
|
|
20184
|
-
{ value: "compact", label: "Compact" },
|
|
20185
|
-
{ value: "cozy", label: "Cozy" },
|
|
20186
|
-
{ value: "medium", label: "Medium" },
|
|
20187
|
-
{ value: "comfortable", label: "Comfortable" },
|
|
20188
|
-
{ value: "spacious", label: "Spacious" }
|
|
20189
|
-
],
|
|
20190
21969
|
ui: { intent: "display" }
|
|
20191
|
-
}
|
|
20192
|
-
|
|
20193
|
-
"
|
|
20194
|
-
"
|
|
20195
|
-
|
|
20196
|
-
|
|
20197
|
-
|
|
20198
|
-
|
|
20199
|
-
|
|
20200
|
-
|
|
21970
|
+
},
|
|
21971
|
+
{
|
|
21972
|
+
id: "cards",
|
|
21973
|
+
type: "repeater",
|
|
21974
|
+
label: "Cards",
|
|
21975
|
+
required: false,
|
|
21976
|
+
minItems: 1,
|
|
21977
|
+
maxItems: 8,
|
|
21978
|
+
itemLabel: "Card",
|
|
21979
|
+
itemLabelSource: "title",
|
|
21980
|
+
allowConversion: true,
|
|
21981
|
+
ui: {
|
|
21982
|
+
intent: "content"
|
|
21983
|
+
},
|
|
21984
|
+
schema: {
|
|
21985
|
+
fields: [
|
|
21986
|
+
{
|
|
21987
|
+
id: "media",
|
|
21988
|
+
type: "media",
|
|
21989
|
+
label: "Image",
|
|
21990
|
+
required: false,
|
|
21991
|
+
mediaKinds: ["image"]
|
|
21992
|
+
},
|
|
21993
|
+
createAspectRatioField({
|
|
21994
|
+
id: "aspectRatio",
|
|
21995
|
+
label: "Image aspect ratio",
|
|
21996
|
+
defaultValue: "4/3",
|
|
21997
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
21998
|
+
}),
|
|
21999
|
+
{
|
|
22000
|
+
id: "title",
|
|
22001
|
+
type: "text",
|
|
22002
|
+
label: "Title",
|
|
22003
|
+
required: true,
|
|
22004
|
+
multiline: false,
|
|
22005
|
+
maxLength: 120
|
|
22006
|
+
},
|
|
22007
|
+
{
|
|
22008
|
+
id: "body",
|
|
22009
|
+
type: "richText",
|
|
22010
|
+
label: "Text",
|
|
22011
|
+
required: false,
|
|
22012
|
+
ui: {
|
|
22013
|
+
richTextVariant: "limited"
|
|
22014
|
+
}
|
|
22015
|
+
},
|
|
22016
|
+
createCtasRepeater({
|
|
22017
|
+
label: "Calls to action",
|
|
22018
|
+
itemLabel: "CTA",
|
|
22019
|
+
maxItems: 1,
|
|
22020
|
+
button: {
|
|
22021
|
+
variants: [
|
|
22022
|
+
{ value: "primary", label: "Primary" },
|
|
22023
|
+
{ value: "secondary", label: "Secondary" },
|
|
22024
|
+
{ value: "outline", label: "Outline" },
|
|
22025
|
+
{ value: "ghost", label: "Ghost" },
|
|
22026
|
+
{ value: "link", label: "Link" }
|
|
22027
|
+
],
|
|
22028
|
+
defaultVariant: "ghost"
|
|
22029
|
+
}
|
|
22030
|
+
})
|
|
22031
|
+
]
|
|
20201
22032
|
}
|
|
20202
|
-
|
|
22033
|
+
},
|
|
20203
22034
|
cardStylesField({
|
|
20204
22035
|
id: "_cardStyles",
|
|
20205
|
-
label: "
|
|
22036
|
+
label: "Card styles"
|
|
20206
22037
|
})
|
|
20207
22038
|
],
|
|
20208
|
-
layout:
|
|
20209
|
-
|
|
20210
|
-
|
|
20211
|
-
|
|
20212
|
-
|
|
20213
|
-
|
|
20214
|
-
|
|
20215
|
-
|
|
22039
|
+
layout: cardsLayout,
|
|
22040
|
+
variants: {
|
|
22041
|
+
cards: cardsLayout
|
|
22042
|
+
},
|
|
22043
|
+
defaultVariant: "cards",
|
|
22044
|
+
variantOptions: {
|
|
22045
|
+
cards: {
|
|
22046
|
+
label: "Cards",
|
|
22047
|
+
description: "A responsive grid of image cards with optional calls to action."
|
|
22048
|
+
}
|
|
22049
|
+
},
|
|
22050
|
+
description: "A card grid for offerings, services, classes, benefits, or featured links.",
|
|
22051
|
+
tags: ["cards", "features", "offerings", "services", "classes", "grid", "links"],
|
|
22052
|
+
icon: "PanelsTopLeft"
|
|
22053
|
+
};
|
|
22054
|
+
var featureCardsManifest = createBlockManifest(featureCardsConfig);
|
|
22055
|
+
var featureCardsBlockDefinition = {
|
|
22056
|
+
manifest: featureCardsManifest
|
|
20216
22057
|
};
|
|
20217
22058
|
|
|
20218
22059
|
// ../blocks/src/system/fields/carousel.ts
|
|
@@ -20300,69 +22141,6 @@ function createCarouselBehaviorFields(options = {}) {
|
|
|
20300
22141
|
return fields3;
|
|
20301
22142
|
}
|
|
20302
22143
|
|
|
20303
|
-
// ../blocks/src/system/fields/imageLayout.ts
|
|
20304
|
-
function createImageColSizeField(options = {}) {
|
|
20305
|
-
const {
|
|
20306
|
-
id = "imageColSize",
|
|
20307
|
-
label = "Image column size",
|
|
20308
|
-
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
20309
|
-
defaultValue = "1/3",
|
|
20310
|
-
uiIntent = "display",
|
|
20311
|
-
visibleWhen
|
|
20312
|
-
} = options;
|
|
20313
|
-
return {
|
|
20314
|
-
id,
|
|
20315
|
-
type: "select",
|
|
20316
|
-
label,
|
|
20317
|
-
description,
|
|
20318
|
-
required: false,
|
|
20319
|
-
defaultValue,
|
|
20320
|
-
multiple: false,
|
|
20321
|
-
options: [
|
|
20322
|
-
{ value: "1/4", label: "Small (1/4)" },
|
|
20323
|
-
{ value: "1/3", label: "Medium (1/3)" },
|
|
20324
|
-
{ value: "2/5", label: "Large (2/5)" },
|
|
20325
|
-
{ value: "1/2", label: "Extra large (1/2)" },
|
|
20326
|
-
{ value: "2/3", label: "Huge (2/3)" }
|
|
20327
|
-
],
|
|
20328
|
-
ui: {
|
|
20329
|
-
intent: uiIntent,
|
|
20330
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
20331
|
-
}
|
|
20332
|
-
};
|
|
20333
|
-
}
|
|
20334
|
-
function createImagePositionField(options = {}) {
|
|
20335
|
-
const {
|
|
20336
|
-
id = "imagePosition",
|
|
20337
|
-
label = "Image position",
|
|
20338
|
-
description = "Choose which side the image appears on.",
|
|
20339
|
-
defaultValue = "left",
|
|
20340
|
-
includeAlternate = false,
|
|
20341
|
-
uiIntent = "display",
|
|
20342
|
-
visibleWhen
|
|
20343
|
-
} = options;
|
|
20344
|
-
const positionOptions = [
|
|
20345
|
-
{ value: "left", label: "Left" },
|
|
20346
|
-
{ value: "right", label: "Right" },
|
|
20347
|
-
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
20348
|
-
];
|
|
20349
|
-
return {
|
|
20350
|
-
id,
|
|
20351
|
-
type: "select",
|
|
20352
|
-
label,
|
|
20353
|
-
description,
|
|
20354
|
-
required: false,
|
|
20355
|
-
defaultValue,
|
|
20356
|
-
multiple: false,
|
|
20357
|
-
// Spread to get a mutable array type without unsafe casts.
|
|
20358
|
-
options: [...positionOptions],
|
|
20359
|
-
ui: {
|
|
20360
|
-
intent: uiIntent,
|
|
20361
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
20362
|
-
}
|
|
20363
|
-
};
|
|
20364
|
-
}
|
|
20365
|
-
|
|
20366
22144
|
// ../blocks/src/system/blocks/media-text.ts
|
|
20367
22145
|
var mediaTextFrameCapability = defineFrameCapability([
|
|
20368
22146
|
"plain",
|
|
@@ -20486,26 +22264,13 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20486
22264
|
},
|
|
20487
22265
|
ui: { intent: "behavior" }
|
|
20488
22266
|
}),
|
|
20489
|
-
{
|
|
22267
|
+
createAspectRatioField({
|
|
20490
22268
|
id: "aspectRatio",
|
|
20491
|
-
type: "select",
|
|
20492
22269
|
label: "Media aspect ratio",
|
|
20493
22270
|
description: "Crop media to a consistent aspect ratio.",
|
|
20494
|
-
required: false,
|
|
20495
22271
|
defaultValue: "auto",
|
|
20496
|
-
|
|
20497
|
-
|
|
20498
|
-
{ value: "auto", label: "Auto (original)" },
|
|
20499
|
-
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
20500
|
-
{ value: "4/3", label: "4:3 (Standard)" },
|
|
20501
|
-
{ value: "1/1", label: "1:1 (Square)" },
|
|
20502
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
20503
|
-
],
|
|
20504
|
-
ui: {
|
|
20505
|
-
intent: "display",
|
|
20506
|
-
visibleWhen: { field: "images", notEquals: null }
|
|
20507
|
-
}
|
|
20508
|
-
},
|
|
22272
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
22273
|
+
}),
|
|
20509
22274
|
{
|
|
20510
22275
|
id: "text",
|
|
20511
22276
|
type: "richText",
|
|
@@ -20635,7 +22400,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20635
22400
|
whenImagesLength(0)
|
|
20636
22401
|
);
|
|
20637
22402
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
20638
|
-
const
|
|
22403
|
+
const defaultLayout2 = styledSection({
|
|
20639
22404
|
children: styledContainer({
|
|
20640
22405
|
rootType: "stack",
|
|
20641
22406
|
rootProps: { gap: "lg" },
|
|
@@ -20667,9 +22432,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20667
22432
|
spacing: "medium"
|
|
20668
22433
|
});
|
|
20669
22434
|
return {
|
|
20670
|
-
layout:
|
|
22435
|
+
layout: defaultLayout2,
|
|
20671
22436
|
variants: {
|
|
20672
|
-
default:
|
|
22437
|
+
default: defaultLayout2
|
|
20673
22438
|
},
|
|
20674
22439
|
defaultVariant: "default",
|
|
20675
22440
|
variantOptions: {
|
|
@@ -24069,7 +25834,7 @@ var embedBlockDefinition = {
|
|
|
24069
25834
|
};
|
|
24070
25835
|
|
|
24071
25836
|
// ../blocks/src/system/blocks/image-gallery.ts
|
|
24072
|
-
var
|
|
25837
|
+
var grid4 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
24073
25838
|
var galleryContainer = (children, opts) => {
|
|
24074
25839
|
const gap = opts?.gap ?? "md";
|
|
24075
25840
|
const withExtraClass = (baseClass) => opts?.className ? `${baseClass} ${opts.className}` : baseClass;
|
|
@@ -24149,7 +25914,7 @@ var galleryItem = (options) => stack(
|
|
|
24149
25914
|
],
|
|
24150
25915
|
repeat("content.images", "item")
|
|
24151
25916
|
);
|
|
24152
|
-
var gridLayout3 =
|
|
25917
|
+
var gridLayout3 = grid4(
|
|
24153
25918
|
{
|
|
24154
25919
|
className: "rb-grid rb-grid-cols-1 rb-gap-4 rb-sm-grid-cols-2 rb-md-grid-cols-3"
|
|
24155
25920
|
},
|
|
@@ -24752,7 +26517,7 @@ var imageGalleryBlockDefinition = {
|
|
|
24752
26517
|
};
|
|
24753
26518
|
|
|
24754
26519
|
// ../blocks/src/system/blocks/video-grid.ts
|
|
24755
|
-
var
|
|
26520
|
+
var grid5 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
24756
26521
|
var videoItem = (options) => stack(
|
|
24757
26522
|
{ gap: "xs", className: options.containerClassName },
|
|
24758
26523
|
[
|
|
@@ -24802,7 +26567,7 @@ var gridColumnsClass = (columns) => {
|
|
|
24802
26567
|
return "rb-grid rb-grid-cols-1 rb-gap-6 rb-sm-grid-cols-2 rb-md-grid-cols-3";
|
|
24803
26568
|
}
|
|
24804
26569
|
};
|
|
24805
|
-
var createGridLayout = (columns) =>
|
|
26570
|
+
var createGridLayout = (columns) => grid5(
|
|
24806
26571
|
{
|
|
24807
26572
|
className: gridColumnsClass(columns)
|
|
24808
26573
|
},
|
|
@@ -27966,6 +29731,40 @@ var systemBlockDefinitionsRaw = [
|
|
|
27966
29731
|
})
|
|
27967
29732
|
]
|
|
27968
29733
|
})),
|
|
29734
|
+
withDesignCapability("block.intro", introBlockDefinition, declareBlockDesignCapability({
|
|
29735
|
+
sectionSurfaces: "supported",
|
|
29736
|
+
contentFrames: ["plain", "panel"],
|
|
29737
|
+
itemSurfaces: "unsupported",
|
|
29738
|
+
headingDecorations: ["organic-squiggle"]
|
|
29739
|
+
}), defineBlockDesignMetadata({
|
|
29740
|
+
flow: bodyFlow,
|
|
29741
|
+
layoutProfiles: [
|
|
29742
|
+
layoutProfile({
|
|
29743
|
+
variantKey: "centered-copy",
|
|
29744
|
+
family: "centered",
|
|
29745
|
+
weight: "featured",
|
|
29746
|
+
bias: "soft"
|
|
29747
|
+
}),
|
|
29748
|
+
layoutProfile({
|
|
29749
|
+
variantKey: "statement-copy",
|
|
29750
|
+
family: "split",
|
|
29751
|
+
weight: "featured",
|
|
29752
|
+
bias: "merge"
|
|
29753
|
+
}),
|
|
29754
|
+
layoutProfile({
|
|
29755
|
+
variantKey: "statement-media",
|
|
29756
|
+
family: "media-text",
|
|
29757
|
+
weight: "featured",
|
|
29758
|
+
bias: "soft"
|
|
29759
|
+
}),
|
|
29760
|
+
layoutProfile({
|
|
29761
|
+
variantKey: "media-copy",
|
|
29762
|
+
family: "media-text",
|
|
29763
|
+
weight: "featured",
|
|
29764
|
+
bias: "soft"
|
|
29765
|
+
})
|
|
29766
|
+
]
|
|
29767
|
+
})),
|
|
27969
29768
|
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
27970
29769
|
flow: bodyFlow,
|
|
27971
29770
|
layoutProfiles: [
|
|
@@ -28026,9 +29825,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
28026
29825
|
flow: conversionFlow,
|
|
28027
29826
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
28028
29827
|
})),
|
|
28029
|
-
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(
|
|
29828
|
+
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
29829
|
+
sectionSurfaces: "supported",
|
|
29830
|
+
contentFrames: ["plain", "panel"],
|
|
29831
|
+
itemSurfaces: "supported",
|
|
29832
|
+
accordionIconSets: ["plus", "chevron", "caret", "minimal-cross"]
|
|
29833
|
+
}), standardEyebrowTreatments), defineBlockDesignMetadata({
|
|
28030
29834
|
flow: bodyFlow,
|
|
28031
|
-
layoutProfiles: [
|
|
29835
|
+
layoutProfiles: [
|
|
29836
|
+
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
29837
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
29838
|
+
]
|
|
28032
29839
|
})),
|
|
28033
29840
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
28034
29841
|
flow: siteChromeFlow,
|
|
@@ -28042,7 +29849,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
28042
29849
|
sectionSurfaces: "supported",
|
|
28043
29850
|
contentFrames: ["plain", "panel"],
|
|
28044
29851
|
itemSurfaces: "supported",
|
|
28045
|
-
testimonialCardTreatments: ["default", "accent-quote"]
|
|
29852
|
+
testimonialCardTreatments: ["default", "accent-quote"],
|
|
29853
|
+
headingDecorations: ["short-center-rule"]
|
|
28046
29854
|
}), defineBlockDesignMetadata({
|
|
28047
29855
|
flow: proofFlow,
|
|
28048
29856
|
layoutProfiles: [
|
|
@@ -28068,6 +29876,22 @@ var systemBlockDefinitionsRaw = [
|
|
|
28068
29876
|
flow: offeringsFlow,
|
|
28069
29877
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "grid", weight: "standard" })]
|
|
28070
29878
|
})),
|
|
29879
|
+
withDesignCapability("block.feature-cards", featureCardsBlockDefinition, declareBlockDesignCapability({
|
|
29880
|
+
sectionSurfaces: "supported",
|
|
29881
|
+
contentFrames: ["plain", "panel"],
|
|
29882
|
+
itemSurfaces: "supported",
|
|
29883
|
+
headingDecorations: ["short-center-rule"]
|
|
29884
|
+
}), defineBlockDesignMetadata({
|
|
29885
|
+
flow: offeringsFlow,
|
|
29886
|
+
layoutProfiles: [
|
|
29887
|
+
layoutProfile({
|
|
29888
|
+
variantKey: "cards",
|
|
29889
|
+
family: "grid",
|
|
29890
|
+
weight: "standard",
|
|
29891
|
+
bias: "soft"
|
|
29892
|
+
})
|
|
29893
|
+
]
|
|
29894
|
+
})),
|
|
28071
29895
|
withDesignCapability("block.media-text", mediaTextBlockDefinition, mediaPanelCapable(), defineBlockDesignMetadata({
|
|
28072
29896
|
flow: mediaFlow,
|
|
28073
29897
|
layoutProfiles: [
|