@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
|
@@ -6614,6 +6614,7 @@ var ALLOWED_TRANSFORM_IDS = [
|
|
|
6614
6614
|
"layout.headerRootClass",
|
|
6615
6615
|
"layout.footerRootClass",
|
|
6616
6616
|
"layout.headerRootStyle",
|
|
6617
|
+
"layout.headerSectionBackground",
|
|
6617
6618
|
"layout.footerRootStyle",
|
|
6618
6619
|
// UI (ui.ts)
|
|
6619
6620
|
"ui.headerNavLinkClass",
|
|
@@ -7562,6 +7563,47 @@ var eyebrowTreatmentValues = [
|
|
|
7562
7563
|
"pill-bounce",
|
|
7563
7564
|
"accent-pill-bounce"
|
|
7564
7565
|
];
|
|
7566
|
+
var visibleHeadingDecorationFamilyValues = [
|
|
7567
|
+
"organic-squiggle",
|
|
7568
|
+
"short-center-rule"
|
|
7569
|
+
];
|
|
7570
|
+
var visibleHeadingDecorationPlacementValues = [
|
|
7571
|
+
"after-heading",
|
|
7572
|
+
"between-heading-and-body",
|
|
7573
|
+
"under-centered-heading"
|
|
7574
|
+
];
|
|
7575
|
+
var headingDecorationOverrideValues = [
|
|
7576
|
+
"site-default",
|
|
7577
|
+
"on",
|
|
7578
|
+
"off"
|
|
7579
|
+
];
|
|
7580
|
+
var headingDecorationColorTokenValues = [
|
|
7581
|
+
"text",
|
|
7582
|
+
"primary",
|
|
7583
|
+
"secondary",
|
|
7584
|
+
"accent",
|
|
7585
|
+
"border",
|
|
7586
|
+
"muted"
|
|
7587
|
+
];
|
|
7588
|
+
var accordionIconSetValues = [
|
|
7589
|
+
"plus",
|
|
7590
|
+
"chevron",
|
|
7591
|
+
"caret",
|
|
7592
|
+
"minimal-cross"
|
|
7593
|
+
];
|
|
7594
|
+
var accordionIconColorTokenValues = [
|
|
7595
|
+
"text",
|
|
7596
|
+
"muted",
|
|
7597
|
+
"primary",
|
|
7598
|
+
"secondary",
|
|
7599
|
+
"accent",
|
|
7600
|
+
"current"
|
|
7601
|
+
];
|
|
7602
|
+
var accordionIconMotionValues = [
|
|
7603
|
+
"none",
|
|
7604
|
+
"rotate",
|
|
7605
|
+
"swap"
|
|
7606
|
+
];
|
|
7565
7607
|
function defineBlockDesignCapability(capability) {
|
|
7566
7608
|
return {
|
|
7567
7609
|
...capability,
|
|
@@ -7571,7 +7613,9 @@ function defineBlockDesignCapability(capability) {
|
|
|
7571
7613
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
7572
7614
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
7573
7615
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
7574
|
-
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
7616
|
+
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
7617
|
+
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
7618
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
7575
7619
|
};
|
|
7576
7620
|
}
|
|
7577
7621
|
|
|
@@ -7762,6 +7806,25 @@ var blockAppearancePresets = [
|
|
|
7762
7806
|
emphasis: "high"
|
|
7763
7807
|
}
|
|
7764
7808
|
}),
|
|
7809
|
+
defineBlockAppearancePreset({
|
|
7810
|
+
kind: "block-design",
|
|
7811
|
+
id: "intro-soft-earth-statement",
|
|
7812
|
+
target: "intro",
|
|
7813
|
+
label: "Soft Earth intro statement",
|
|
7814
|
+
blockKinds: ["block.intro"],
|
|
7815
|
+
design: {
|
|
7816
|
+
sectionSurface: "base",
|
|
7817
|
+
contentFrame: plainFrame,
|
|
7818
|
+
itemSurface: "none",
|
|
7819
|
+
transitionAfter: "soft-fade-short",
|
|
7820
|
+
emphasis: "high",
|
|
7821
|
+
headingDecoration: {
|
|
7822
|
+
family: "organic-squiggle",
|
|
7823
|
+
placement: "after-heading",
|
|
7824
|
+
colorToken: "primary"
|
|
7825
|
+
}
|
|
7826
|
+
}
|
|
7827
|
+
}),
|
|
7765
7828
|
defineBlockAppearancePreset({
|
|
7766
7829
|
kind: "block-design",
|
|
7767
7830
|
id: "offerings-calm-list",
|
|
@@ -7776,6 +7839,25 @@ var blockAppearancePresets = [
|
|
|
7776
7839
|
emphasis: "medium"
|
|
7777
7840
|
}
|
|
7778
7841
|
}),
|
|
7842
|
+
defineBlockAppearancePreset({
|
|
7843
|
+
kind: "block-design",
|
|
7844
|
+
id: "feature-cards-soft-earth-offerings",
|
|
7845
|
+
target: "feature-cards",
|
|
7846
|
+
label: "Soft Earth offering cards",
|
|
7847
|
+
blockKinds: ["block.feature-cards"],
|
|
7848
|
+
design: {
|
|
7849
|
+
sectionSurface: "base",
|
|
7850
|
+
contentFrame: plainFrame,
|
|
7851
|
+
itemSurface: "raised",
|
|
7852
|
+
transitionAfter: "none",
|
|
7853
|
+
emphasis: "high",
|
|
7854
|
+
headingDecoration: {
|
|
7855
|
+
family: "short-center-rule",
|
|
7856
|
+
placement: "under-centered-heading",
|
|
7857
|
+
colorToken: "primary"
|
|
7858
|
+
}
|
|
7859
|
+
}
|
|
7860
|
+
}),
|
|
7779
7861
|
defineBlockAppearancePreset({
|
|
7780
7862
|
kind: "block-design",
|
|
7781
7863
|
id: "events-base-calendar",
|
|
@@ -7904,6 +7986,26 @@ var blockAppearancePresets = [
|
|
|
7904
7986
|
testimonialCardTreatment: "accent-quote"
|
|
7905
7987
|
}
|
|
7906
7988
|
}),
|
|
7989
|
+
defineBlockAppearancePreset({
|
|
7990
|
+
kind: "block-design",
|
|
7991
|
+
id: "testimonials-soft-earth-proof-band",
|
|
7992
|
+
target: "testimonials",
|
|
7993
|
+
label: "Soft Earth proof band",
|
|
7994
|
+
blockKinds: ["block.testimonials"],
|
|
7995
|
+
design: {
|
|
7996
|
+
sectionSurface: "brand-depth-band",
|
|
7997
|
+
contentFrame: plainFrame,
|
|
7998
|
+
itemSurface: "none",
|
|
7999
|
+
transitionAfter: "soft-fade-short",
|
|
8000
|
+
emphasis: "high",
|
|
8001
|
+
testimonialCardTreatment: "accent-quote",
|
|
8002
|
+
headingDecoration: {
|
|
8003
|
+
family: "short-center-rule",
|
|
8004
|
+
placement: "under-centered-heading",
|
|
8005
|
+
colorToken: "border"
|
|
8006
|
+
}
|
|
8007
|
+
}
|
|
8008
|
+
}),
|
|
7907
8009
|
defineBlockAppearancePreset({
|
|
7908
8010
|
kind: "block-design",
|
|
7909
8011
|
id: "faq-base-accordion",
|
|
@@ -7932,6 +8034,25 @@ var blockAppearancePresets = [
|
|
|
7932
8034
|
emphasis: "low"
|
|
7933
8035
|
}
|
|
7934
8036
|
}),
|
|
8037
|
+
defineBlockAppearancePreset({
|
|
8038
|
+
kind: "block-design",
|
|
8039
|
+
id: "faq-soft-earth-two-column",
|
|
8040
|
+
target: "faq",
|
|
8041
|
+
label: "Soft Earth two-column FAQ",
|
|
8042
|
+
blockKinds: ["block.faq"],
|
|
8043
|
+
design: {
|
|
8044
|
+
sectionSurface: "base",
|
|
8045
|
+
contentFrame: plainFrame,
|
|
8046
|
+
itemSurface: "flat",
|
|
8047
|
+
transitionAfter: "none",
|
|
8048
|
+
emphasis: "medium",
|
|
8049
|
+
accordionIconTreatment: {
|
|
8050
|
+
iconSet: "plus",
|
|
8051
|
+
colorToken: "primary",
|
|
8052
|
+
motion: "swap"
|
|
8053
|
+
}
|
|
8054
|
+
}
|
|
8055
|
+
}),
|
|
7935
8056
|
defineBlockAppearancePreset({
|
|
7936
8057
|
kind: "block-design",
|
|
7937
8058
|
id: "contact-form-panel",
|
|
@@ -8617,6 +8738,97 @@ var confidentChip = defineButtonPersonality({
|
|
|
8617
8738
|
}
|
|
8618
8739
|
});
|
|
8619
8740
|
|
|
8741
|
+
// ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
8742
|
+
var earthPill = defineButtonPersonality({
|
|
8743
|
+
id: "earth-pill",
|
|
8744
|
+
name: "Earth Pill",
|
|
8745
|
+
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
8746
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
8747
|
+
buttonSystem: {
|
|
8748
|
+
global: {
|
|
8749
|
+
cornerStyle: "pill",
|
|
8750
|
+
shadow: "low",
|
|
8751
|
+
textTransform: "none",
|
|
8752
|
+
fontWeight: 500,
|
|
8753
|
+
borderWidth: 1,
|
|
8754
|
+
hoverTransform: "lift",
|
|
8755
|
+
hoverColor: "none",
|
|
8756
|
+
typography: "body",
|
|
8757
|
+
paddingPreset: "default"
|
|
8758
|
+
},
|
|
8759
|
+
sizes: {
|
|
8760
|
+
sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
|
|
8761
|
+
md: { padding: "0.625rem 1.35rem" },
|
|
8762
|
+
lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
|
|
8763
|
+
xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
|
|
8764
|
+
},
|
|
8765
|
+
variants: [
|
|
8766
|
+
{
|
|
8767
|
+
id: "primary",
|
|
8768
|
+
name: "Primary",
|
|
8769
|
+
enabled: true,
|
|
8770
|
+
priority: 1,
|
|
8771
|
+
background: { type: "solid", colorToken: "primary" },
|
|
8772
|
+
textColorToken: "primaryForeground",
|
|
8773
|
+
borderRadius: "rounded-full",
|
|
8774
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
8775
|
+
effects: {
|
|
8776
|
+
hover: [
|
|
8777
|
+
{ effectId: "lift", options: { translateY: "-1px" } },
|
|
8778
|
+
{ effectId: "background-on-hover", options: { colorToken: "accent" } }
|
|
8779
|
+
],
|
|
8780
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
8781
|
+
}
|
|
8782
|
+
},
|
|
8783
|
+
{
|
|
8784
|
+
id: "secondary",
|
|
8785
|
+
name: "Secondary",
|
|
8786
|
+
enabled: true,
|
|
8787
|
+
priority: 2,
|
|
8788
|
+
background: { type: "transparent" },
|
|
8789
|
+
textColorToken: "primary",
|
|
8790
|
+
borderRadius: "rounded-full",
|
|
8791
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
8792
|
+
effects: {
|
|
8793
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
8794
|
+
}
|
|
8795
|
+
},
|
|
8796
|
+
{
|
|
8797
|
+
id: "outline",
|
|
8798
|
+
name: "Outline",
|
|
8799
|
+
enabled: true,
|
|
8800
|
+
priority: 3,
|
|
8801
|
+
background: { type: "transparent" },
|
|
8802
|
+
textColorToken: "text",
|
|
8803
|
+
borderRadius: "rounded-full",
|
|
8804
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
8805
|
+
effects: {
|
|
8806
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
|
|
8807
|
+
}
|
|
8808
|
+
},
|
|
8809
|
+
{
|
|
8810
|
+
id: "ghost",
|
|
8811
|
+
name: "Ghost",
|
|
8812
|
+
enabled: true,
|
|
8813
|
+
priority: 3,
|
|
8814
|
+
background: { type: "transparent" },
|
|
8815
|
+
textColorToken: "primary",
|
|
8816
|
+
borderRadius: "rounded-full",
|
|
8817
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
8818
|
+
sizes: {
|
|
8819
|
+
sm: { padding: "0.25rem 0", fontSize: "text-sm" },
|
|
8820
|
+
md: { padding: "0.375rem 0" },
|
|
8821
|
+
lg: { padding: "0.5rem 0", fontSize: "text-lg" },
|
|
8822
|
+
xl: { padding: "0.625rem 0", fontSize: "text-xl" }
|
|
8823
|
+
},
|
|
8824
|
+
effects: {
|
|
8825
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
|
|
8826
|
+
}
|
|
8827
|
+
}
|
|
8828
|
+
]
|
|
8829
|
+
}
|
|
8830
|
+
});
|
|
8831
|
+
|
|
8620
8832
|
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
8621
8833
|
var editorialLink = defineButtonPersonality({
|
|
8622
8834
|
id: "editorial-link",
|
|
@@ -9075,6 +9287,7 @@ var softPill = defineButtonPersonality({
|
|
|
9075
9287
|
// ../theme-core/src/buttons/personalities/index.ts
|
|
9076
9288
|
var buttonPersonalities = [
|
|
9077
9289
|
softPill,
|
|
9290
|
+
earthPill,
|
|
9078
9291
|
confidentChip,
|
|
9079
9292
|
editorialLink,
|
|
9080
9293
|
pebble,
|
|
@@ -9716,8 +9929,19 @@ var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
|
9716
9929
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
9717
9930
|
});
|
|
9718
9931
|
var proseLinkUnderlineStyleSchema = z21.enum(["solid", "dotted", "dashed"]);
|
|
9719
|
-
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
9720
|
-
|
|
9932
|
+
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
9933
|
+
"auto",
|
|
9934
|
+
"fromFont",
|
|
9935
|
+
"thin",
|
|
9936
|
+
"medium",
|
|
9937
|
+
"thick"
|
|
9938
|
+
]);
|
|
9939
|
+
var proseLinkUnderlineOffsetSchema = z21.enum([
|
|
9940
|
+
"auto",
|
|
9941
|
+
"tight",
|
|
9942
|
+
"normal",
|
|
9943
|
+
"loose"
|
|
9944
|
+
]);
|
|
9721
9945
|
var proseLinkStyleSchema = z21.object({
|
|
9722
9946
|
colorToken: themeColorTokenSchema.optional(),
|
|
9723
9947
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
@@ -9728,7 +9952,14 @@ var proseLinkStyleSchema = z21.object({
|
|
|
9728
9952
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
9729
9953
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
9730
9954
|
});
|
|
9731
|
-
var semanticSpacingSchema = z21.enum([
|
|
9955
|
+
var semanticSpacingSchema = z21.enum([
|
|
9956
|
+
"none",
|
|
9957
|
+
"compact",
|
|
9958
|
+
"cozy",
|
|
9959
|
+
"medium",
|
|
9960
|
+
"comfortable",
|
|
9961
|
+
"spacious"
|
|
9962
|
+
]);
|
|
9732
9963
|
var boxRoundedSchema = z21.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
9733
9964
|
var boxBackgroundOverlaySchema = z21.object({
|
|
9734
9965
|
type: z21.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
@@ -9750,12 +9981,36 @@ var boxBackgroundSchema = z21.object({
|
|
|
9750
9981
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
9751
9982
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
9752
9983
|
});
|
|
9984
|
+
var noHeadingDecorationSchema = z21.object({
|
|
9985
|
+
family: z21.literal("none"),
|
|
9986
|
+
placement: z21.literal("none")
|
|
9987
|
+
});
|
|
9988
|
+
var visibleHeadingDecorationSchema = z21.object({
|
|
9989
|
+
family: z21.enum(visibleHeadingDecorationFamilyValues),
|
|
9990
|
+
placement: z21.enum(visibleHeadingDecorationPlacementValues),
|
|
9991
|
+
colorToken: z21.enum(headingDecorationColorTokenValues).optional()
|
|
9992
|
+
});
|
|
9993
|
+
var headingDecorationSchema = z21.union([
|
|
9994
|
+
noHeadingDecorationSchema,
|
|
9995
|
+
visibleHeadingDecorationSchema
|
|
9996
|
+
]);
|
|
9997
|
+
var accordionIconTreatmentSchema = z21.object({
|
|
9998
|
+
iconSet: z21.enum(accordionIconSetValues),
|
|
9999
|
+
colorToken: z21.enum(accordionIconColorTokenValues),
|
|
10000
|
+
openColorToken: z21.enum(accordionIconColorTokenValues).optional(),
|
|
10001
|
+
motion: z21.enum(accordionIconMotionValues)
|
|
10002
|
+
});
|
|
9753
10003
|
var sectionStylesOverrideSchema = z21.object({
|
|
9754
10004
|
background: boxBackgroundSchema.nullable().optional(),
|
|
9755
10005
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
9756
10006
|
minHeight: z21.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
9757
10007
|
tileTreatment: z21.enum(tileTreatmentValues).nullable().optional(),
|
|
9758
|
-
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional()
|
|
10008
|
+
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
10009
|
+
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
10010
|
+
// Author-level override consumed by later block/editor rendering phases.
|
|
10011
|
+
// Keeping it in section styles lets existing block save APIs persist it.
|
|
10012
|
+
headingDecorationOverride: z21.enum(headingDecorationOverrideValues).nullable().optional(),
|
|
10013
|
+
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
9759
10014
|
});
|
|
9760
10015
|
var containerStylesOverrideSchema = z21.object({
|
|
9761
10016
|
background: boxBackgroundSchema.nullable().optional(),
|
|
@@ -9848,9 +10103,17 @@ var inputStyle = z21.object({
|
|
|
9848
10103
|
focus: z21.enum(["glow", "ring", "underline"]),
|
|
9849
10104
|
label: z21.enum(["inside", "above"])
|
|
9850
10105
|
});
|
|
9851
|
-
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"
|
|
10106
|
+
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"]);
|
|
9852
10107
|
var headerPositioning = z21.enum(["static", "sticky", "fixed"]);
|
|
9853
|
-
var headerNavStyle = z21.enum([
|
|
10108
|
+
var headerNavStyle = z21.enum([
|
|
10109
|
+
"minimal",
|
|
10110
|
+
"underline",
|
|
10111
|
+
"underline-grow",
|
|
10112
|
+
"capsule",
|
|
10113
|
+
"scale",
|
|
10114
|
+
"frosted",
|
|
10115
|
+
"solid"
|
|
10116
|
+
]);
|
|
9854
10117
|
var navFontWeight = z21.enum(["regular", "medium", "semibold", "bold"]);
|
|
9855
10118
|
var headerMaxWidth = z21.enum(["container", "full"]);
|
|
9856
10119
|
var headerContainerSchema = z21.object({
|
|
@@ -9898,8 +10161,22 @@ var dropdownStyleSchema = z21.object({
|
|
|
9898
10161
|
textSize: z21.enum(["xs", "sm", "base", "lg"]).optional()
|
|
9899
10162
|
// optional = no override (browser default)
|
|
9900
10163
|
}).optional();
|
|
9901
|
-
var headerCtaGapSchema = z21.enum([
|
|
9902
|
-
|
|
10164
|
+
var headerCtaGapSchema = z21.enum([
|
|
10165
|
+
"none",
|
|
10166
|
+
"tight",
|
|
10167
|
+
"compact",
|
|
10168
|
+
"default",
|
|
10169
|
+
"relaxed",
|
|
10170
|
+
"spacious"
|
|
10171
|
+
]);
|
|
10172
|
+
var headerCtaTreatmentSchema = z21.enum([
|
|
10173
|
+
"default",
|
|
10174
|
+
"primary",
|
|
10175
|
+
"secondary",
|
|
10176
|
+
"inverted",
|
|
10177
|
+
"outline",
|
|
10178
|
+
"ghost"
|
|
10179
|
+
]);
|
|
9903
10180
|
var navContainerSchema = z21.object({
|
|
9904
10181
|
type: z21.enum(["none", "pill", "glass"]).default("none"),
|
|
9905
10182
|
tint: z21.string().nullable().optional(),
|
|
@@ -9954,7 +10231,14 @@ var footerMaxWidth = z21.enum(["container", "full"]);
|
|
|
9954
10231
|
var footerMode = z21.enum(["default", "blocks", "default+blocks", "none"]);
|
|
9955
10232
|
var footerNavLayoutMode = z21.enum(["stack", "inline", "inline-wrap"]);
|
|
9956
10233
|
var footerNavLayoutAlign = z21.enum(["start", "center", "end", "space-between"]);
|
|
9957
|
-
var footerSpacing = z21.enum([
|
|
10234
|
+
var footerSpacing = z21.enum([
|
|
10235
|
+
"none",
|
|
10236
|
+
"tight",
|
|
10237
|
+
"compact",
|
|
10238
|
+
"default",
|
|
10239
|
+
"relaxed",
|
|
10240
|
+
"spacious"
|
|
10241
|
+
]);
|
|
9958
10242
|
var footerLogoPlacement = z21.enum(["left", "right", "above", "below"]);
|
|
9959
10243
|
var footerLogoSize = z21.enum(["sm", "md", "lg", "xl"]);
|
|
9960
10244
|
var footerLogoMaxHeight = z21.enum(["sm", "md", "lg", "xl"]);
|
|
@@ -10019,7 +10303,12 @@ var footerSchema = z21.object({
|
|
|
10019
10303
|
logo: footerLogoSchema.optional(),
|
|
10020
10304
|
bottomBar: footerBottomBarSchema.optional()
|
|
10021
10305
|
});
|
|
10022
|
-
var containerPaddingPresetSchema = z21.enum([
|
|
10306
|
+
var containerPaddingPresetSchema = z21.enum([
|
|
10307
|
+
"tight",
|
|
10308
|
+
"compact",
|
|
10309
|
+
"default",
|
|
10310
|
+
"relaxed"
|
|
10311
|
+
]);
|
|
10023
10312
|
var layoutSchema = z21.object({
|
|
10024
10313
|
containerPadding: z21.object({
|
|
10025
10314
|
mobile: containerPaddingPresetSchema.optional(),
|
|
@@ -10027,8 +10316,24 @@ var layoutSchema = z21.object({
|
|
|
10027
10316
|
desktop: containerPaddingPresetSchema.optional()
|
|
10028
10317
|
}).optional()
|
|
10029
10318
|
}).optional();
|
|
10030
|
-
var heroTypographySizeSchema = z21.enum([
|
|
10031
|
-
|
|
10319
|
+
var heroTypographySizeSchema = z21.enum([
|
|
10320
|
+
"sm",
|
|
10321
|
+
"base",
|
|
10322
|
+
"lg",
|
|
10323
|
+
"xl",
|
|
10324
|
+
"2xl",
|
|
10325
|
+
"3xl",
|
|
10326
|
+
"4xl",
|
|
10327
|
+
"5xl",
|
|
10328
|
+
"6xl",
|
|
10329
|
+
"editorial"
|
|
10330
|
+
]);
|
|
10331
|
+
var heroTypographyLineHeightSchema = z21.enum([
|
|
10332
|
+
"tight",
|
|
10333
|
+
"snug",
|
|
10334
|
+
"normal",
|
|
10335
|
+
"relaxed"
|
|
10336
|
+
]);
|
|
10032
10337
|
var heroResponsiveTypographySchema = z21.object({
|
|
10033
10338
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
10034
10339
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
@@ -10463,6 +10768,28 @@ var warmNeutralCream = definePaletteVariant({
|
|
|
10463
10768
|
{ name: "border", hex: "#e0d2b8" }
|
|
10464
10769
|
]
|
|
10465
10770
|
});
|
|
10771
|
+
var warmNeutralSoftEarth = definePaletteVariant({
|
|
10772
|
+
id: "warm-neutral-soft-earth",
|
|
10773
|
+
name: "Warm Neutral \u2014 Soft Earth",
|
|
10774
|
+
description: "Cream ground with terracotta primary, clay accents, and olive depth.",
|
|
10775
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
10776
|
+
mode: "light",
|
|
10777
|
+
colors: [
|
|
10778
|
+
{ name: "primary", hex: "#a8573d" },
|
|
10779
|
+
{ name: "secondary", hex: "#72765c" },
|
|
10780
|
+
{ name: "accent", hex: "#c87557" },
|
|
10781
|
+
{ name: "success", hex: "#687854" },
|
|
10782
|
+
{ name: "warning", hex: "#b7863e" },
|
|
10783
|
+
{ name: "destructive", hex: "#a54b3c" },
|
|
10784
|
+
{ name: "background", hex: "#fbf6eb" },
|
|
10785
|
+
{ name: "surface", hex: "#fffdf7" },
|
|
10786
|
+
{ name: "surfaceAlt", hex: "#f0e4d3" },
|
|
10787
|
+
{ name: "muted", hex: "#eadbc6" },
|
|
10788
|
+
{ name: "text", hex: "#30281f" },
|
|
10789
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
10790
|
+
{ name: "border", hex: "#d9c8b2" }
|
|
10791
|
+
]
|
|
10792
|
+
});
|
|
10466
10793
|
var warmNeutralForest = definePaletteVariant({
|
|
10467
10794
|
id: "warm-neutral-forest",
|
|
10468
10795
|
name: "Warm Neutral \u2014 Forest",
|
|
@@ -10496,6 +10823,7 @@ var paletteVariants = [
|
|
|
10496
10823
|
// Warm-neutral family
|
|
10497
10824
|
warmNeutralClay,
|
|
10498
10825
|
warmNeutralCream,
|
|
10826
|
+
warmNeutralSoftEarth,
|
|
10499
10827
|
warmNeutralForest,
|
|
10500
10828
|
// High-contrast family
|
|
10501
10829
|
highContrastInk,
|
|
@@ -10514,6 +10842,12 @@ var paletteVariantsById = new Map(
|
|
|
10514
10842
|
function asHeaderLookId(value) {
|
|
10515
10843
|
return value;
|
|
10516
10844
|
}
|
|
10845
|
+
function asHeaderLayoutId(value) {
|
|
10846
|
+
return value;
|
|
10847
|
+
}
|
|
10848
|
+
function asHeaderStyleId(value) {
|
|
10849
|
+
return value;
|
|
10850
|
+
}
|
|
10517
10851
|
function baseHeader(theme) {
|
|
10518
10852
|
const {
|
|
10519
10853
|
navLinkStyle: _navLinkStyle,
|
|
@@ -10532,67 +10866,427 @@ function baseHeader(theme) {
|
|
|
10532
10866
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
10533
10867
|
};
|
|
10534
10868
|
}
|
|
10535
|
-
|
|
10536
|
-
|
|
10537
|
-
|
|
10538
|
-
|
|
10869
|
+
var headerLayoutCatalog = [
|
|
10870
|
+
{
|
|
10871
|
+
id: asHeaderLayoutId("classic"),
|
|
10872
|
+
label: "Classic",
|
|
10873
|
+
description: "Logo and navigation in one practical horizontal row.",
|
|
10874
|
+
structure: "inline-classic",
|
|
10539
10875
|
variant: "classic",
|
|
10540
|
-
|
|
10876
|
+
defaultPositioning: "sticky",
|
|
10877
|
+
shrinkOnScroll: false
|
|
10878
|
+
},
|
|
10879
|
+
{
|
|
10880
|
+
id: asHeaderLayoutId("centered"),
|
|
10881
|
+
label: "Centered",
|
|
10882
|
+
description: "Logo centered above a balanced navigation row.",
|
|
10883
|
+
structure: "centered-stack",
|
|
10884
|
+
variant: "centered",
|
|
10885
|
+
defaultPositioning: "static",
|
|
10886
|
+
shrinkOnScroll: false,
|
|
10887
|
+
maxRecommendedNavItems: 5,
|
|
10888
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
10889
|
+
},
|
|
10890
|
+
{
|
|
10891
|
+
id: asHeaderLayoutId("floating"),
|
|
10892
|
+
label: "Floating",
|
|
10893
|
+
description: "Detached header chrome that sits over the opening section.",
|
|
10894
|
+
structure: "floating-shell",
|
|
10895
|
+
variant: "floating",
|
|
10896
|
+
defaultPositioning: "fixed",
|
|
10541
10897
|
shrinkOnScroll: true,
|
|
10542
|
-
|
|
10543
|
-
|
|
10544
|
-
|
|
10545
|
-
|
|
10546
|
-
|
|
10547
|
-
|
|
10548
|
-
|
|
10549
|
-
|
|
10550
|
-
|
|
10551
|
-
|
|
10552
|
-
|
|
10553
|
-
|
|
10554
|
-
|
|
10555
|
-
|
|
10556
|
-
|
|
10557
|
-
|
|
10558
|
-
|
|
10559
|
-
|
|
10560
|
-
|
|
10561
|
-
|
|
10562
|
-
|
|
10563
|
-
|
|
10564
|
-
|
|
10565
|
-
|
|
10566
|
-
|
|
10567
|
-
|
|
10568
|
-
|
|
10569
|
-
|
|
10570
|
-
|
|
10571
|
-
|
|
10572
|
-
|
|
10573
|
-
|
|
10574
|
-
|
|
10575
|
-
|
|
10576
|
-
|
|
10577
|
-
|
|
10578
|
-
|
|
10579
|
-
|
|
10580
|
-
|
|
10581
|
-
|
|
10582
|
-
|
|
10583
|
-
|
|
10584
|
-
|
|
10585
|
-
|
|
10586
|
-
|
|
10587
|
-
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10591
|
-
|
|
10592
|
-
|
|
10593
|
-
|
|
10594
|
-
|
|
10595
|
-
|
|
10898
|
+
maxRecommendedNavItems: 5,
|
|
10899
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
10900
|
+
}
|
|
10901
|
+
];
|
|
10902
|
+
function supportedLayouts(ids) {
|
|
10903
|
+
return ids.map(asHeaderLayoutId);
|
|
10904
|
+
}
|
|
10905
|
+
var headerStyleCatalog = [
|
|
10906
|
+
{
|
|
10907
|
+
id: asHeaderStyleId("minimal"),
|
|
10908
|
+
label: "Minimal",
|
|
10909
|
+
description: "Quiet surface with simple color-change navigation.",
|
|
10910
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10911
|
+
navInteraction: "color-change",
|
|
10912
|
+
surface: "neutral",
|
|
10913
|
+
navTypography: "plain"
|
|
10914
|
+
},
|
|
10915
|
+
{
|
|
10916
|
+
id: asHeaderStyleId("fine-line"),
|
|
10917
|
+
label: "Fine Line",
|
|
10918
|
+
description: "Light surface with a crisp lower rule and underline hover.",
|
|
10919
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10920
|
+
navInteraction: "underline-grow",
|
|
10921
|
+
surface: "bordered",
|
|
10922
|
+
navTypography: "plain"
|
|
10923
|
+
},
|
|
10924
|
+
{
|
|
10925
|
+
id: asHeaderStyleId("soft-bar"),
|
|
10926
|
+
label: "Soft Bar",
|
|
10927
|
+
description: "Soft tinted surface with gentle pill hover states.",
|
|
10928
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10929
|
+
navInteraction: "pill-background",
|
|
10930
|
+
surface: "soft",
|
|
10931
|
+
navTypography: "plain"
|
|
10932
|
+
},
|
|
10933
|
+
{
|
|
10934
|
+
id: asHeaderStyleId("pill-nav"),
|
|
10935
|
+
label: "Pill Nav",
|
|
10936
|
+
description: "A calm pill navigation rail over a neutral header.",
|
|
10937
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10938
|
+
navInteraction: "pill-background",
|
|
10939
|
+
surface: "soft",
|
|
10940
|
+
navTypography: "plain"
|
|
10941
|
+
},
|
|
10942
|
+
{
|
|
10943
|
+
id: asHeaderStyleId("brand-bar"),
|
|
10944
|
+
label: "Brand Bar",
|
|
10945
|
+
description: "Solid brand surface with high-contrast navigation.",
|
|
10946
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10947
|
+
navInteraction: "color-change",
|
|
10948
|
+
surface: "brand-solid",
|
|
10949
|
+
navTypography: "brand-caps"
|
|
10950
|
+
},
|
|
10951
|
+
{
|
|
10952
|
+
id: asHeaderStyleId("brand-underline"),
|
|
10953
|
+
label: "Brand Underline",
|
|
10954
|
+
description: "Brand surface with underline-grow navigation.",
|
|
10955
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
10956
|
+
navInteraction: "underline-grow",
|
|
10957
|
+
surface: "brand-solid",
|
|
10958
|
+
navTypography: "brand-caps"
|
|
10959
|
+
},
|
|
10960
|
+
{
|
|
10961
|
+
id: asHeaderStyleId("brand-pill"),
|
|
10962
|
+
label: "Brand Pill",
|
|
10963
|
+
description: "Solid brand surface with rounded active and hover states.",
|
|
10964
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
10965
|
+
navInteraction: "pill-background",
|
|
10966
|
+
surface: "brand-solid",
|
|
10967
|
+
navTypography: "brand-caps"
|
|
10968
|
+
},
|
|
10969
|
+
{
|
|
10970
|
+
id: asHeaderStyleId("serif-line"),
|
|
10971
|
+
label: "Serif Line",
|
|
10972
|
+
description: "Typographic logo treatment with understated underline navigation.",
|
|
10973
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10974
|
+
navInteraction: "underline-grow",
|
|
10975
|
+
surface: "bordered",
|
|
10976
|
+
navTypography: "heading"
|
|
10977
|
+
},
|
|
10978
|
+
{
|
|
10979
|
+
id: asHeaderStyleId("flat-tabs"),
|
|
10980
|
+
label: "Flat Tabs",
|
|
10981
|
+
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
10982
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
10983
|
+
navInteraction: "flat-block",
|
|
10984
|
+
surface: "bordered",
|
|
10985
|
+
navTypography: "quiet-caps"
|
|
10986
|
+
},
|
|
10987
|
+
{
|
|
10988
|
+
id: asHeaderStyleId("glass"),
|
|
10989
|
+
label: "Glass",
|
|
10990
|
+
description: "Translucent chrome with frosted navigation backing.",
|
|
10991
|
+
supportedLayoutIds: supportedLayouts(["classic", "floating"]),
|
|
10992
|
+
navInteraction: "glass-backed",
|
|
10993
|
+
surface: "floating",
|
|
10994
|
+
navTypography: "plain"
|
|
10995
|
+
},
|
|
10996
|
+
{
|
|
10997
|
+
id: asHeaderStyleId("minimal-surface"),
|
|
10998
|
+
label: "Clear Split",
|
|
10999
|
+
description: "Floating logo with transparent navigation and no shared shell.",
|
|
11000
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
11001
|
+
navInteraction: "color-change",
|
|
11002
|
+
surface: "floating",
|
|
11003
|
+
navTypography: "plain"
|
|
11004
|
+
},
|
|
11005
|
+
{
|
|
11006
|
+
id: asHeaderStyleId("soft-shell"),
|
|
11007
|
+
label: "Soft Shell",
|
|
11008
|
+
description: "Floating rounded shell with soft pill navigation states.",
|
|
11009
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
11010
|
+
navInteraction: "pill-background",
|
|
11011
|
+
surface: "floating",
|
|
11012
|
+
navTypography: "plain"
|
|
11013
|
+
},
|
|
11014
|
+
{
|
|
11015
|
+
id: asHeaderStyleId("split-glass"),
|
|
11016
|
+
label: "Split Glass",
|
|
11017
|
+
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
11018
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
11019
|
+
navInteraction: "glass-backed",
|
|
11020
|
+
surface: "floating",
|
|
11021
|
+
navTypography: "quiet-caps"
|
|
11022
|
+
},
|
|
11023
|
+
{
|
|
11024
|
+
id: asHeaderStyleId("split-pill"),
|
|
11025
|
+
label: "Split Pill",
|
|
11026
|
+
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
11027
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
11028
|
+
navInteraction: "pill-background",
|
|
11029
|
+
surface: "floating",
|
|
11030
|
+
navTypography: "heading"
|
|
11031
|
+
}
|
|
11032
|
+
];
|
|
11033
|
+
var headerLayoutsById = new Map(
|
|
11034
|
+
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
11035
|
+
);
|
|
11036
|
+
var headerStylesById = new Map(
|
|
11037
|
+
headerStyleCatalog.map((style) => [style.id, style])
|
|
11038
|
+
);
|
|
11039
|
+
var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
11040
|
+
[
|
|
11041
|
+
asHeaderLayoutId("classic"),
|
|
11042
|
+
headerStyleRepairChain([
|
|
11043
|
+
"minimal",
|
|
11044
|
+
"glass",
|
|
11045
|
+
"fine-line",
|
|
11046
|
+
"soft-bar",
|
|
11047
|
+
"pill-nav",
|
|
11048
|
+
"brand-bar",
|
|
11049
|
+
"brand-underline",
|
|
11050
|
+
"brand-pill",
|
|
11051
|
+
"serif-line",
|
|
11052
|
+
"flat-tabs"
|
|
11053
|
+
])
|
|
11054
|
+
],
|
|
11055
|
+
[
|
|
11056
|
+
asHeaderLayoutId("centered"),
|
|
11057
|
+
headerStyleRepairChain([
|
|
11058
|
+
"minimal",
|
|
11059
|
+
"fine-line",
|
|
11060
|
+
"soft-bar",
|
|
11061
|
+
"pill-nav",
|
|
11062
|
+
"brand-bar",
|
|
11063
|
+
"brand-pill",
|
|
11064
|
+
"serif-line",
|
|
11065
|
+
"flat-tabs"
|
|
11066
|
+
])
|
|
11067
|
+
],
|
|
11068
|
+
[
|
|
11069
|
+
asHeaderLayoutId("floating"),
|
|
11070
|
+
headerStyleRepairChain([
|
|
11071
|
+
"glass",
|
|
11072
|
+
"minimal-surface",
|
|
11073
|
+
"split-glass",
|
|
11074
|
+
"split-pill",
|
|
11075
|
+
"soft-shell",
|
|
11076
|
+
"brand-pill"
|
|
11077
|
+
])
|
|
11078
|
+
]
|
|
11079
|
+
]);
|
|
11080
|
+
function headerStyleRepairChain(values) {
|
|
11081
|
+
return values.map(asHeaderStyleId);
|
|
11082
|
+
}
|
|
11083
|
+
var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
11084
|
+
[
|
|
11085
|
+
[
|
|
11086
|
+
asHeaderStyleId("brand-bar"),
|
|
11087
|
+
headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
|
|
11088
|
+
],
|
|
11089
|
+
[
|
|
11090
|
+
asHeaderStyleId("brand-underline"),
|
|
11091
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
11092
|
+
],
|
|
11093
|
+
[
|
|
11094
|
+
asHeaderStyleId("brand-pill"),
|
|
11095
|
+
headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
|
|
11096
|
+
],
|
|
11097
|
+
[
|
|
11098
|
+
asHeaderStyleId("pill-nav"),
|
|
11099
|
+
headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
|
|
11100
|
+
],
|
|
11101
|
+
[
|
|
11102
|
+
asHeaderStyleId("flat-tabs"),
|
|
11103
|
+
headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
|
|
11104
|
+
],
|
|
11105
|
+
[
|
|
11106
|
+
asHeaderStyleId("serif-line"),
|
|
11107
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
11108
|
+
],
|
|
11109
|
+
[
|
|
11110
|
+
asHeaderStyleId("glass"),
|
|
11111
|
+
headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
|
|
11112
|
+
],
|
|
11113
|
+
[
|
|
11114
|
+
asHeaderStyleId("soft-shell"),
|
|
11115
|
+
headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
|
|
11116
|
+
],
|
|
11117
|
+
[
|
|
11118
|
+
asHeaderStyleId("minimal-surface"),
|
|
11119
|
+
headerStyleRepairChain(["minimal-surface", "minimal"])
|
|
11120
|
+
],
|
|
11121
|
+
[
|
|
11122
|
+
asHeaderStyleId("split-glass"),
|
|
11123
|
+
headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
|
|
11124
|
+
],
|
|
11125
|
+
[
|
|
11126
|
+
asHeaderStyleId("split-pill"),
|
|
11127
|
+
headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
|
|
11128
|
+
],
|
|
11129
|
+
[
|
|
11130
|
+
asHeaderStyleId("fine-line"),
|
|
11131
|
+
headerStyleRepairChain(["fine-line", "minimal"])
|
|
11132
|
+
],
|
|
11133
|
+
[
|
|
11134
|
+
asHeaderStyleId("soft-bar"),
|
|
11135
|
+
headerStyleRepairChain(["soft-bar", "minimal"])
|
|
11136
|
+
],
|
|
11137
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
11138
|
+
]
|
|
11139
|
+
);
|
|
11140
|
+
var legacyHeaderLookAliases = [
|
|
11141
|
+
{
|
|
11142
|
+
lookId: asHeaderLookId("clean-base"),
|
|
11143
|
+
selection: {
|
|
11144
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11145
|
+
styleId: asHeaderStyleId("minimal")
|
|
11146
|
+
}
|
|
11147
|
+
},
|
|
11148
|
+
{
|
|
11149
|
+
lookId: asHeaderLookId("brand-solid"),
|
|
11150
|
+
selection: {
|
|
11151
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11152
|
+
styleId: asHeaderStyleId("brand-bar")
|
|
11153
|
+
}
|
|
11154
|
+
},
|
|
11155
|
+
{
|
|
11156
|
+
lookId: asHeaderLookId("serif-line"),
|
|
11157
|
+
selection: {
|
|
11158
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
11159
|
+
styleId: asHeaderStyleId("serif-line")
|
|
11160
|
+
}
|
|
11161
|
+
},
|
|
11162
|
+
{
|
|
11163
|
+
lookId: asHeaderLookId("centered-calm"),
|
|
11164
|
+
selection: {
|
|
11165
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
11166
|
+
styleId: asHeaderStyleId("minimal")
|
|
11167
|
+
}
|
|
11168
|
+
},
|
|
11169
|
+
{
|
|
11170
|
+
lookId: asHeaderLookId("practical-utility"),
|
|
11171
|
+
selection: {
|
|
11172
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11173
|
+
styleId: asHeaderStyleId("flat-tabs")
|
|
11174
|
+
}
|
|
11175
|
+
},
|
|
11176
|
+
{
|
|
11177
|
+
lookId: asHeaderLookId("minimal-transparent"),
|
|
11178
|
+
selection: {
|
|
11179
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
11180
|
+
styleId: asHeaderStyleId("minimal")
|
|
11181
|
+
}
|
|
11182
|
+
},
|
|
11183
|
+
{
|
|
11184
|
+
lookId: asHeaderLookId("transparent-overlay"),
|
|
11185
|
+
selection: {
|
|
11186
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
11187
|
+
styleId: asHeaderStyleId("glass")
|
|
11188
|
+
}
|
|
11189
|
+
},
|
|
11190
|
+
{
|
|
11191
|
+
lookId: asHeaderLookId("floating-glass"),
|
|
11192
|
+
selection: {
|
|
11193
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
11194
|
+
styleId: asHeaderStyleId("glass")
|
|
11195
|
+
}
|
|
11196
|
+
}
|
|
11197
|
+
];
|
|
11198
|
+
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
11199
|
+
function getHeaderStyle(id) {
|
|
11200
|
+
return headerStylesById.get(id) ?? null;
|
|
11201
|
+
}
|
|
11202
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
11203
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
11204
|
+
}
|
|
11205
|
+
function getHeaderStyleOrThrow(id) {
|
|
11206
|
+
const style = getHeaderStyle(id);
|
|
11207
|
+
if (!style) {
|
|
11208
|
+
throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
11209
|
+
}
|
|
11210
|
+
return style;
|
|
11211
|
+
}
|
|
11212
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
11213
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
11214
|
+
}
|
|
11215
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
11216
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
11217
|
+
(styleId) => {
|
|
11218
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
11219
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
11220
|
+
}
|
|
11221
|
+
);
|
|
11222
|
+
}
|
|
11223
|
+
function solidBrandHeader(theme) {
|
|
11224
|
+
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
11225
|
+
return {
|
|
11226
|
+
...baseHeader(theme),
|
|
11227
|
+
variant: "classic",
|
|
11228
|
+
positioning: "sticky",
|
|
11229
|
+
shrinkOnScroll: true,
|
|
11230
|
+
background: {
|
|
11231
|
+
type: "color",
|
|
11232
|
+
color: "primary"
|
|
11233
|
+
},
|
|
11234
|
+
textColor: "primaryForeground",
|
|
11235
|
+
navColor: "primaryForeground",
|
|
11236
|
+
navStyle: "underline-grow",
|
|
11237
|
+
navWeight: "bold",
|
|
11238
|
+
navLinkStyle: {
|
|
11239
|
+
typography: "body",
|
|
11240
|
+
fontWeight: "bold",
|
|
11241
|
+
textTransform: "uppercase",
|
|
11242
|
+
italic: false,
|
|
11243
|
+
colorToken: "primaryForeground",
|
|
11244
|
+
hoverColorToken: "secondary",
|
|
11245
|
+
textSize: "sm",
|
|
11246
|
+
letterSpacing: "wider",
|
|
11247
|
+
padding: "compact",
|
|
11248
|
+
paddingX: "compact",
|
|
11249
|
+
borderRadius: "none",
|
|
11250
|
+
effects: {
|
|
11251
|
+
hover: [
|
|
11252
|
+
{
|
|
11253
|
+
effectId: "text-color-change",
|
|
11254
|
+
options: { hoverColorToken: "secondary" }
|
|
11255
|
+
},
|
|
11256
|
+
{
|
|
11257
|
+
effectId: "nav-underline",
|
|
11258
|
+
options: { style: "grow", colorToken: "secondary" }
|
|
11259
|
+
}
|
|
11260
|
+
]
|
|
11261
|
+
}
|
|
11262
|
+
},
|
|
11263
|
+
dropdownStyle: {
|
|
11264
|
+
background: "primary-700",
|
|
11265
|
+
textColor: "primaryForeground",
|
|
11266
|
+
borderColor: null,
|
|
11267
|
+
shadow: "md",
|
|
11268
|
+
borderRadius: "md",
|
|
11269
|
+
hoverBackground: "primary-900",
|
|
11270
|
+
hoverTextColor: "secondary",
|
|
11271
|
+
textTransform: "uppercase",
|
|
11272
|
+
letterSpacing: "wider",
|
|
11273
|
+
fontWeight: "bold",
|
|
11274
|
+
textSize: "sm"
|
|
11275
|
+
},
|
|
11276
|
+
border: {
|
|
11277
|
+
style: "solid",
|
|
11278
|
+
width: "none",
|
|
11279
|
+
position: "none"
|
|
11280
|
+
},
|
|
11281
|
+
logoText: {
|
|
11282
|
+
hideOnShrink: true,
|
|
11283
|
+
mobileMaxWidth: "sm",
|
|
11284
|
+
mobileWrapLines: 2
|
|
11285
|
+
},
|
|
11286
|
+
ctaGap: "compact",
|
|
11287
|
+
ctaTreatment: "inverted",
|
|
11288
|
+
...ctaVariant ? { ctaVariant } : {}
|
|
11289
|
+
};
|
|
10596
11290
|
}
|
|
10597
11291
|
function cleanBaseHeader(theme) {
|
|
10598
11292
|
return {
|
|
@@ -10618,10 +11312,10 @@ function cleanBaseHeader(theme) {
|
|
|
10618
11312
|
ctaGap: "default"
|
|
10619
11313
|
};
|
|
10620
11314
|
}
|
|
10621
|
-
function
|
|
11315
|
+
function serifLineHeader(theme) {
|
|
10622
11316
|
return {
|
|
10623
11317
|
...baseHeader(theme),
|
|
10624
|
-
variant: "
|
|
11318
|
+
variant: "centered",
|
|
10625
11319
|
positioning: "sticky",
|
|
10626
11320
|
shrinkOnScroll: false,
|
|
10627
11321
|
background: {
|
|
@@ -10768,6 +11462,11 @@ var headerLookCatalog = [
|
|
|
10768
11462
|
label: "Clean base",
|
|
10769
11463
|
visualTreatment: "solid-neutral",
|
|
10770
11464
|
layoutBehavior: "sticky",
|
|
11465
|
+
configuration: {
|
|
11466
|
+
structure: "inline-classic",
|
|
11467
|
+
treatment: "solid-neutral",
|
|
11468
|
+
behavior: "sticky"
|
|
11469
|
+
},
|
|
10771
11470
|
openingRequirement: "none",
|
|
10772
11471
|
compile: cleanBaseHeader
|
|
10773
11472
|
},
|
|
@@ -10776,23 +11475,38 @@ var headerLookCatalog = [
|
|
|
10776
11475
|
label: "Brand solid",
|
|
10777
11476
|
visualTreatment: "solid-brand",
|
|
10778
11477
|
layoutBehavior: "sticky-shrink",
|
|
11478
|
+
configuration: {
|
|
11479
|
+
structure: "inline-classic",
|
|
11480
|
+
treatment: "solid-brand",
|
|
11481
|
+
behavior: "sticky-shrink"
|
|
11482
|
+
},
|
|
10779
11483
|
openingRequirement: "none",
|
|
10780
11484
|
compile: solidBrandHeader
|
|
10781
11485
|
},
|
|
10782
11486
|
{
|
|
10783
|
-
id: asHeaderLookId("
|
|
10784
|
-
label: "
|
|
10785
|
-
visualTreatment: "light-
|
|
11487
|
+
id: asHeaderLookId("serif-line"),
|
|
11488
|
+
label: "Serif line",
|
|
11489
|
+
visualTreatment: "light-serif",
|
|
10786
11490
|
layoutBehavior: "sticky",
|
|
11491
|
+
configuration: {
|
|
11492
|
+
structure: "centered-stack",
|
|
11493
|
+
treatment: "light-serif",
|
|
11494
|
+
behavior: "sticky"
|
|
11495
|
+
},
|
|
10787
11496
|
openingRequirement: "none",
|
|
10788
11497
|
maxRecommendedNavItems: 6,
|
|
10789
|
-
compile:
|
|
11498
|
+
compile: serifLineHeader
|
|
10790
11499
|
},
|
|
10791
11500
|
{
|
|
10792
11501
|
id: asHeaderLookId("centered-calm"),
|
|
10793
11502
|
label: "Centered calm",
|
|
10794
|
-
visualTreatment: "light-
|
|
11503
|
+
visualTreatment: "light-serif",
|
|
10795
11504
|
layoutBehavior: "normal-flow",
|
|
11505
|
+
configuration: {
|
|
11506
|
+
structure: "centered-stack",
|
|
11507
|
+
treatment: "light-serif",
|
|
11508
|
+
behavior: "normal-flow"
|
|
11509
|
+
},
|
|
10796
11510
|
openingRequirement: "none",
|
|
10797
11511
|
maxRecommendedNavItems: 5,
|
|
10798
11512
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
@@ -10803,6 +11517,11 @@ var headerLookCatalog = [
|
|
|
10803
11517
|
label: "Practical utility",
|
|
10804
11518
|
visualTreatment: "solid-neutral",
|
|
10805
11519
|
layoutBehavior: "sticky-shrink",
|
|
11520
|
+
configuration: {
|
|
11521
|
+
structure: "inline-classic",
|
|
11522
|
+
treatment: "solid-neutral",
|
|
11523
|
+
behavior: "sticky-shrink"
|
|
11524
|
+
},
|
|
10806
11525
|
openingRequirement: "none",
|
|
10807
11526
|
requiresProminentCta: true,
|
|
10808
11527
|
compile: practicalUtilityHeader
|
|
@@ -10812,6 +11531,11 @@ var headerLookCatalog = [
|
|
|
10812
11531
|
label: "Minimal transparent",
|
|
10813
11532
|
visualTreatment: "minimal-transparent",
|
|
10814
11533
|
layoutBehavior: "normal-flow",
|
|
11534
|
+
configuration: {
|
|
11535
|
+
structure: "inline-classic",
|
|
11536
|
+
treatment: "minimal-transparent",
|
|
11537
|
+
behavior: "normal-flow"
|
|
11538
|
+
},
|
|
10815
11539
|
openingRequirement: "reserved-space-ok",
|
|
10816
11540
|
compile: minimalTransparentHeader
|
|
10817
11541
|
},
|
|
@@ -10820,6 +11544,11 @@ var headerLookCatalog = [
|
|
|
10820
11544
|
label: "Transparent overlay",
|
|
10821
11545
|
visualTreatment: "transparent-overlay",
|
|
10822
11546
|
layoutBehavior: "fixed-overlay",
|
|
11547
|
+
configuration: {
|
|
11548
|
+
structure: "inline-classic",
|
|
11549
|
+
treatment: "transparent-overlay",
|
|
11550
|
+
behavior: "fixed-overlay"
|
|
11551
|
+
},
|
|
10823
11552
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
10824
11553
|
maxRecommendedNavItems: 5,
|
|
10825
11554
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -10830,6 +11559,11 @@ var headerLookCatalog = [
|
|
|
10830
11559
|
label: "Floating glass",
|
|
10831
11560
|
visualTreatment: "floating-glass",
|
|
10832
11561
|
layoutBehavior: "fixed-floating",
|
|
11562
|
+
configuration: {
|
|
11563
|
+
structure: "floating-shell",
|
|
11564
|
+
treatment: "floating-glass",
|
|
11565
|
+
behavior: "fixed-floating"
|
|
11566
|
+
},
|
|
10833
11567
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
10834
11568
|
maxRecommendedNavItems: 5,
|
|
10835
11569
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -10837,9 +11571,17 @@ var headerLookCatalog = [
|
|
|
10837
11571
|
}
|
|
10838
11572
|
];
|
|
10839
11573
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
11574
|
+
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
11575
|
+
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
11576
|
+
var allowedHeaderConfigurationKeys = new Set(
|
|
11577
|
+
headerLookCatalog.map((look) => headerConfigurationKey(look.configuration))
|
|
11578
|
+
);
|
|
10840
11579
|
var headerLooksById = new Map(
|
|
10841
11580
|
headerLookCatalog.map((look) => [look.id, look])
|
|
10842
11581
|
);
|
|
11582
|
+
function headerConfigurationKey(configuration) {
|
|
11583
|
+
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
11584
|
+
}
|
|
10843
11585
|
|
|
10844
11586
|
// ../theme-core/src/site-styles/footerLooks.ts
|
|
10845
11587
|
function asFooterLookId(value) {
|
|
@@ -10972,6 +11714,264 @@ var advancedDesignOptionCatalog = {
|
|
|
10972
11714
|
detachedCustom: true
|
|
10973
11715
|
};
|
|
10974
11716
|
|
|
11717
|
+
// ../theme-core/src/site-styles/typographyPresets.ts
|
|
11718
|
+
var bodyReadablePolicy = {
|
|
11719
|
+
recommendedCategories: ["sans-serif", "serif"],
|
|
11720
|
+
allowedCategories: ["sans-serif", "serif"],
|
|
11721
|
+
requiresItalicForBody: true,
|
|
11722
|
+
requiresBoldForBody: true
|
|
11723
|
+
};
|
|
11724
|
+
var headingFlexiblePolicy = {
|
|
11725
|
+
recommendedCategories: ["sans-serif", "serif", "display"],
|
|
11726
|
+
allowedCategories: ["sans-serif", "serif", "display"]
|
|
11727
|
+
};
|
|
11728
|
+
var displayHeadingPolicy = {
|
|
11729
|
+
recommendedCategories: ["display", "sans-serif", "serif"],
|
|
11730
|
+
allowedCategories: ["display", "sans-serif", "serif"]
|
|
11731
|
+
};
|
|
11732
|
+
function asTypographyPresetId(value) {
|
|
11733
|
+
if (!value.startsWith("typography-preset:")) {
|
|
11734
|
+
throw new Error(`TypographyPresetId must start with "typography-preset:". Received: ${value}`);
|
|
11735
|
+
}
|
|
11736
|
+
return value;
|
|
11737
|
+
}
|
|
11738
|
+
function defineTypographyPreset(preset2) {
|
|
11739
|
+
return {
|
|
11740
|
+
...preset2,
|
|
11741
|
+
id: asTypographyPresetId(preset2.id)
|
|
11742
|
+
};
|
|
11743
|
+
}
|
|
11744
|
+
var modernSansTypography = {
|
|
11745
|
+
body: {
|
|
11746
|
+
family: "Inter, system-ui, sans-serif",
|
|
11747
|
+
size: "md",
|
|
11748
|
+
weight: "regular",
|
|
11749
|
+
lineHeight: "relaxed",
|
|
11750
|
+
letterSpacing: "normal"
|
|
11751
|
+
},
|
|
11752
|
+
headings: {
|
|
11753
|
+
default: {
|
|
11754
|
+
family: "Inter, system-ui, sans-serif",
|
|
11755
|
+
weight: "semibold",
|
|
11756
|
+
lineHeight: "normal",
|
|
11757
|
+
letterSpacing: "tight",
|
|
11758
|
+
italic: null,
|
|
11759
|
+
case: null
|
|
11760
|
+
},
|
|
11761
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11762
|
+
h2: { size: "lg", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11763
|
+
h3: { size: "md", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
11764
|
+
},
|
|
11765
|
+
scale: "balanced"
|
|
11766
|
+
};
|
|
11767
|
+
var warmRoundedTypography = {
|
|
11768
|
+
body: {
|
|
11769
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
11770
|
+
size: "lg",
|
|
11771
|
+
weight: "regular",
|
|
11772
|
+
lineHeight: "relaxed",
|
|
11773
|
+
letterSpacing: "normal"
|
|
11774
|
+
},
|
|
11775
|
+
headings: {
|
|
11776
|
+
default: {
|
|
11777
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
11778
|
+
weight: "bold",
|
|
11779
|
+
lineHeight: "normal",
|
|
11780
|
+
letterSpacing: "normal",
|
|
11781
|
+
italic: null,
|
|
11782
|
+
case: null
|
|
11783
|
+
},
|
|
11784
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11785
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11786
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11787
|
+
},
|
|
11788
|
+
scale: "balanced"
|
|
11789
|
+
};
|
|
11790
|
+
var editorialSerifTypography = {
|
|
11791
|
+
body: {
|
|
11792
|
+
family: "Lora, Georgia, serif",
|
|
11793
|
+
size: "lg",
|
|
11794
|
+
weight: "regular",
|
|
11795
|
+
lineHeight: "loose",
|
|
11796
|
+
letterSpacing: "normal"
|
|
11797
|
+
},
|
|
11798
|
+
headings: {
|
|
11799
|
+
default: {
|
|
11800
|
+
family: "Playfair Display, Georgia, serif",
|
|
11801
|
+
weight: "semibold",
|
|
11802
|
+
lineHeight: "normal",
|
|
11803
|
+
letterSpacing: "tight",
|
|
11804
|
+
italic: null,
|
|
11805
|
+
case: null
|
|
11806
|
+
},
|
|
11807
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11808
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11809
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: true }
|
|
11810
|
+
},
|
|
11811
|
+
scale: "spacious"
|
|
11812
|
+
};
|
|
11813
|
+
var classicSerifTypography = {
|
|
11814
|
+
body: {
|
|
11815
|
+
family: "Libre Baskerville, Georgia, serif",
|
|
11816
|
+
size: "md",
|
|
11817
|
+
weight: "regular",
|
|
11818
|
+
lineHeight: "relaxed",
|
|
11819
|
+
letterSpacing: "normal"
|
|
11820
|
+
},
|
|
11821
|
+
headings: {
|
|
11822
|
+
default: {
|
|
11823
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
11824
|
+
weight: "semibold",
|
|
11825
|
+
lineHeight: "normal",
|
|
11826
|
+
letterSpacing: "normal",
|
|
11827
|
+
italic: null,
|
|
11828
|
+
case: null
|
|
11829
|
+
},
|
|
11830
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11831
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11832
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11833
|
+
},
|
|
11834
|
+
scale: "balanced"
|
|
11835
|
+
};
|
|
11836
|
+
var luxeContrastTypography = {
|
|
11837
|
+
body: {
|
|
11838
|
+
family: "Manrope, system-ui, sans-serif",
|
|
11839
|
+
size: "md",
|
|
11840
|
+
weight: "regular",
|
|
11841
|
+
lineHeight: "relaxed",
|
|
11842
|
+
letterSpacing: "normal"
|
|
11843
|
+
},
|
|
11844
|
+
headings: {
|
|
11845
|
+
default: {
|
|
11846
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
11847
|
+
weight: "semibold",
|
|
11848
|
+
lineHeight: "normal",
|
|
11849
|
+
letterSpacing: "tight",
|
|
11850
|
+
italic: null,
|
|
11851
|
+
case: null
|
|
11852
|
+
},
|
|
11853
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11854
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11855
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
11856
|
+
},
|
|
11857
|
+
scale: "spacious"
|
|
11858
|
+
};
|
|
11859
|
+
var boldDisplayTypography = {
|
|
11860
|
+
body: {
|
|
11861
|
+
family: "Manrope, system-ui, sans-serif",
|
|
11862
|
+
size: "lg",
|
|
11863
|
+
weight: "regular",
|
|
11864
|
+
lineHeight: "relaxed",
|
|
11865
|
+
letterSpacing: "normal"
|
|
11866
|
+
},
|
|
11867
|
+
headings: {
|
|
11868
|
+
default: {
|
|
11869
|
+
family: '"TAN - PEARL", sans-serif',
|
|
11870
|
+
weight: "bold",
|
|
11871
|
+
lineHeight: "normal",
|
|
11872
|
+
letterSpacing: "tight",
|
|
11873
|
+
colorToken: "primary",
|
|
11874
|
+
italic: null,
|
|
11875
|
+
case: null
|
|
11876
|
+
},
|
|
11877
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
11878
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
11879
|
+
h3: { size: "md", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
11880
|
+
},
|
|
11881
|
+
scale: "balanced"
|
|
11882
|
+
};
|
|
11883
|
+
var typographyPresets = [
|
|
11884
|
+
defineTypographyPreset({
|
|
11885
|
+
id: "typography-preset:modern-sans",
|
|
11886
|
+
name: "Modern Sans",
|
|
11887
|
+
description: "Crisp, neutral type for clear service pages and practical editorial structure.",
|
|
11888
|
+
defaultFonts: { body: "Inter, system-ui, sans-serif", heading: "Inter, system-ui, sans-serif" },
|
|
11889
|
+
recommendedFonts: {
|
|
11890
|
+
body: ["Inter", "Source Sans 3", "IBM Plex Sans"],
|
|
11891
|
+
heading: ["Inter", "Manrope", "Source Sans 3"]
|
|
11892
|
+
},
|
|
11893
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
11894
|
+
typography: modernSansTypography
|
|
11895
|
+
}),
|
|
11896
|
+
defineTypographyPreset({
|
|
11897
|
+
id: "typography-preset:warm-rounded",
|
|
11898
|
+
name: "Warm Rounded",
|
|
11899
|
+
description: "Soft, friendly type for welcoming studios, classes, and community businesses.",
|
|
11900
|
+
defaultFonts: { body: "Nunito Sans, system-ui, sans-serif", heading: "Nunito Sans, system-ui, sans-serif" },
|
|
11901
|
+
recommendedFonts: {
|
|
11902
|
+
body: ["Nunito Sans", "Atkinson Hyperlegible", "Lato"],
|
|
11903
|
+
heading: ["Nunito Sans", "Quicksand", "Manrope"]
|
|
11904
|
+
},
|
|
11905
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
11906
|
+
typography: warmRoundedTypography
|
|
11907
|
+
}),
|
|
11908
|
+
defineTypographyPreset({
|
|
11909
|
+
id: "typography-preset:editorial-serif",
|
|
11910
|
+
name: "Editorial Serif",
|
|
11911
|
+
description: "Story-led type with warm reading rhythm and expressive headings.",
|
|
11912
|
+
defaultFonts: { body: "Lora, Georgia, serif", heading: "Playfair Display, Georgia, serif" },
|
|
11913
|
+
recommendedFonts: {
|
|
11914
|
+
body: ["Lora", "Source Serif 4", "Libre Baskerville"],
|
|
11915
|
+
heading: ["Playfair Display", "Cormorant Garamond", "Fraunces"]
|
|
11916
|
+
},
|
|
11917
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11918
|
+
typography: editorialSerifTypography
|
|
11919
|
+
}),
|
|
11920
|
+
defineTypographyPreset({
|
|
11921
|
+
id: "typography-preset:classic-serif",
|
|
11922
|
+
name: "Classic Serif",
|
|
11923
|
+
description: "Measured, polished type for premium and established offers.",
|
|
11924
|
+
defaultFonts: { body: "Libre Baskerville, Georgia, serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
11925
|
+
recommendedFonts: {
|
|
11926
|
+
body: ["Libre Baskerville", "Source Serif 4", "Lora"],
|
|
11927
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Libre Baskerville"]
|
|
11928
|
+
},
|
|
11929
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11930
|
+
typography: classicSerifTypography
|
|
11931
|
+
}),
|
|
11932
|
+
defineTypographyPreset({
|
|
11933
|
+
id: "typography-preset:luxe-contrast",
|
|
11934
|
+
name: "Luxe Contrast",
|
|
11935
|
+
description: "A restrained sans body paired with elegant high-contrast headings.",
|
|
11936
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
11937
|
+
recommendedFonts: {
|
|
11938
|
+
body: ["Manrope", "Inter", "Source Sans 3"],
|
|
11939
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Bodoni Moda"]
|
|
11940
|
+
},
|
|
11941
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11942
|
+
typography: luxeContrastTypography
|
|
11943
|
+
}),
|
|
11944
|
+
defineTypographyPreset({
|
|
11945
|
+
id: "typography-preset:bold-display",
|
|
11946
|
+
name: "Bold Display",
|
|
11947
|
+
description: "Punchy display headings with readable sans body copy for branded launches.",
|
|
11948
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: '"TAN - PEARL", sans-serif' },
|
|
11949
|
+
recommendedFonts: {
|
|
11950
|
+
body: ["Manrope", "Inter", "Space Grotesk"],
|
|
11951
|
+
heading: ["Anton", "Bebas Neue", "Archivo Black"]
|
|
11952
|
+
},
|
|
11953
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
11954
|
+
typography: boldDisplayTypography,
|
|
11955
|
+
heroTypography: {
|
|
11956
|
+
headlineSize: "6xl",
|
|
11957
|
+
headlineLineHeight: "tight",
|
|
11958
|
+
subheadlineSize: "editorial",
|
|
11959
|
+
subheadlineLineHeight: "normal",
|
|
11960
|
+
microHeadlineSize: "6xl",
|
|
11961
|
+
microHeadlineLineHeight: "tight",
|
|
11962
|
+
microSubheadlineSize: "xl",
|
|
11963
|
+
microSubheadlineLineHeight: "normal",
|
|
11964
|
+
responsive: {
|
|
11965
|
+
tablet: { headlineSize: "5xl" },
|
|
11966
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
11967
|
+
}
|
|
11968
|
+
}
|
|
11969
|
+
})
|
|
11970
|
+
];
|
|
11971
|
+
var typographyPresetsById = new Map(
|
|
11972
|
+
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
11973
|
+
);
|
|
11974
|
+
|
|
10975
11975
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
10976
11976
|
var curatedSiteStyleIdValues = [
|
|
10977
11977
|
"site-style:calm-studio",
|
|
@@ -10984,6 +11984,7 @@ var curatedSiteStyleIdValues = [
|
|
|
10984
11984
|
"site-style:personal-retreat-journal",
|
|
10985
11985
|
"site-style:tactile-workshop",
|
|
10986
11986
|
"site-style:modern-wellness",
|
|
11987
|
+
"site-style:soft-earth",
|
|
10987
11988
|
"site-style:bold-launch",
|
|
10988
11989
|
"site-style:south-west-twerk-school"
|
|
10989
11990
|
];
|
|
@@ -11049,26 +12050,45 @@ var expressiveUnderlineInputs = {
|
|
|
11049
12050
|
}
|
|
11050
12051
|
};
|
|
11051
12052
|
function uniqueContentFrameKinds() {
|
|
11052
|
-
const kinds = [
|
|
11053
|
-
|
|
11054
|
-
|
|
12053
|
+
const kinds = [
|
|
12054
|
+
...new Set(
|
|
12055
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
12056
|
+
)
|
|
12057
|
+
];
|
|
11055
12058
|
const firstKind = kinds[0];
|
|
11056
12059
|
if (!firstKind) {
|
|
11057
|
-
throw new Error(
|
|
12060
|
+
throw new Error(
|
|
12061
|
+
"Expected generated design option catalog to expose at least one content frame kind."
|
|
12062
|
+
);
|
|
11058
12063
|
}
|
|
11059
12064
|
return [firstKind, ...kinds.slice(1)];
|
|
11060
12065
|
}
|
|
11061
12066
|
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
11062
12067
|
function defineCuratedSiteStyle(input) {
|
|
12068
|
+
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
12069
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
12070
|
+
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
12071
|
+
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
12072
|
+
if (!typographyPresetChoices.some(
|
|
12073
|
+
(choice) => choice.id === defaultTypographyPresetId
|
|
12074
|
+
)) {
|
|
12075
|
+
throw new Error(
|
|
12076
|
+
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
12077
|
+
);
|
|
12078
|
+
}
|
|
11063
12079
|
return {
|
|
11064
12080
|
id: asSiteStyleId(input.id),
|
|
11065
12081
|
name: input.name,
|
|
11066
12082
|
description: input.description,
|
|
11067
12083
|
generationBrief: input.generationBrief,
|
|
11068
12084
|
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
11069
|
-
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
12085
|
+
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
12086
|
+
kind: "explicit_only"
|
|
12087
|
+
},
|
|
11070
12088
|
template: {
|
|
11071
|
-
id: asDesignSystemTemplateId(
|
|
12089
|
+
id: asDesignSystemTemplateId(
|
|
12090
|
+
`template:${input.id.replace("site-style:", "")}`
|
|
12091
|
+
),
|
|
11072
12092
|
name: input.name,
|
|
11073
12093
|
version: 1,
|
|
11074
12094
|
tokenRecipes: input.tokenRecipes,
|
|
@@ -11080,11 +12100,27 @@ function defineCuratedSiteStyle(input) {
|
|
|
11080
12100
|
},
|
|
11081
12101
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
11082
12102
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
11083
|
-
|
|
12103
|
+
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
12104
|
+
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
12105
|
+
styleId: asHeaderStyleId(input.defaultHeaderSelection.styleId)
|
|
12106
|
+
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
12107
|
+
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
12108
|
+
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
12109
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
12110
|
+
(selection) => ({
|
|
12111
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
12112
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
12113
|
+
})
|
|
12114
|
+
),
|
|
12115
|
+
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
11084
12116
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
11085
|
-
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
12117
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
12118
|
+
asFooterLookId
|
|
12119
|
+
),
|
|
11086
12120
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
11087
|
-
paletteVariantChoices: input.paletteVariantChoices
|
|
12121
|
+
paletteVariantChoices: input.paletteVariantChoices,
|
|
12122
|
+
typographyPresetChoices,
|
|
12123
|
+
defaultTypographyPresetId
|
|
11088
12124
|
};
|
|
11089
12125
|
}
|
|
11090
12126
|
function buttonChoice(id, note) {
|
|
@@ -11093,6 +12129,87 @@ function buttonChoice(id, note) {
|
|
|
11093
12129
|
function paletteChoice(id, note) {
|
|
11094
12130
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
11095
12131
|
}
|
|
12132
|
+
function headerLayoutChoice(id, note) {
|
|
12133
|
+
return note ? { id: asHeaderLayoutId(id), note } : { id: asHeaderLayoutId(id) };
|
|
12134
|
+
}
|
|
12135
|
+
function headerStyleChoice(id, note) {
|
|
12136
|
+
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
12137
|
+
}
|
|
12138
|
+
function unbrandHeaderLayoutId(id) {
|
|
12139
|
+
return id;
|
|
12140
|
+
}
|
|
12141
|
+
function uniqueHeaderLayoutChoices(choices) {
|
|
12142
|
+
const seen = /* @__PURE__ */ new Set();
|
|
12143
|
+
const unique = choices.filter((choice) => {
|
|
12144
|
+
if (seen.has(choice.id)) return false;
|
|
12145
|
+
seen.add(choice.id);
|
|
12146
|
+
return true;
|
|
12147
|
+
});
|
|
12148
|
+
const first = unique[0];
|
|
12149
|
+
if (!first) {
|
|
12150
|
+
throw new Error("Expected at least one curated header layout choice.");
|
|
12151
|
+
}
|
|
12152
|
+
return [first, ...unique.slice(1)];
|
|
12153
|
+
}
|
|
12154
|
+
function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
12155
|
+
const first = choices[0] ?? {
|
|
12156
|
+
id: getCompatibleHeaderStyleIds(fallbackLayoutId)[0] ?? asHeaderStyleId("minimal")
|
|
12157
|
+
};
|
|
12158
|
+
return [first, ...choices.slice(1)];
|
|
12159
|
+
}
|
|
12160
|
+
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
12161
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
12162
|
+
(selection) => Boolean(selection)
|
|
12163
|
+
);
|
|
12164
|
+
const defaultHeaderSelection = selections[0] ?? {
|
|
12165
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12166
|
+
styleId: asHeaderStyleId("minimal")
|
|
12167
|
+
};
|
|
12168
|
+
const layoutChoices = uniqueHeaderLayoutChoices(
|
|
12169
|
+
selections.map((selection) => headerLayoutChoice(selection.layoutId))
|
|
12170
|
+
);
|
|
12171
|
+
const stylesByLayout = {};
|
|
12172
|
+
for (const layoutChoice of layoutChoices) {
|
|
12173
|
+
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
12174
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
|
|
12175
|
+
}
|
|
12176
|
+
return {
|
|
12177
|
+
defaultHeaderSelection,
|
|
12178
|
+
recommendedHeaderLayoutChoices: layoutChoices,
|
|
12179
|
+
recommendedHeaderStyleChoicesByLayout: stylesByLayout
|
|
12180
|
+
};
|
|
12181
|
+
}
|
|
12182
|
+
function typographyChoice(id, note) {
|
|
12183
|
+
return note ? { id: asTypographyPresetId(id), note } : { id: asTypographyPresetId(id) };
|
|
12184
|
+
}
|
|
12185
|
+
function defaultTypographyPresetChoicesForRecipe(recipe) {
|
|
12186
|
+
switch (recipe) {
|
|
12187
|
+
case "clean-sans":
|
|
12188
|
+
return [
|
|
12189
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12190
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
12191
|
+
typographyChoice("typography-preset:bold-display")
|
|
12192
|
+
];
|
|
12193
|
+
case "friendly-sans":
|
|
12194
|
+
return [
|
|
12195
|
+
typographyChoice("typography-preset:warm-rounded"),
|
|
12196
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12197
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
12198
|
+
];
|
|
12199
|
+
case "serif-editorial":
|
|
12200
|
+
return [
|
|
12201
|
+
typographyChoice("typography-preset:editorial-serif"),
|
|
12202
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
12203
|
+
typographyChoice("typography-preset:warm-rounded")
|
|
12204
|
+
];
|
|
12205
|
+
case "classic-serif":
|
|
12206
|
+
return [
|
|
12207
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
12208
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
12209
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
12210
|
+
];
|
|
12211
|
+
}
|
|
12212
|
+
}
|
|
11096
12213
|
var curatedSiteStyles = [
|
|
11097
12214
|
defineCuratedSiteStyle({
|
|
11098
12215
|
id: "site-style:calm-studio",
|
|
@@ -11109,7 +12226,11 @@ var curatedSiteStyles = [
|
|
|
11109
12226
|
motion: "subtle"
|
|
11110
12227
|
},
|
|
11111
12228
|
compositionBudget: quietBudget,
|
|
11112
|
-
recommendedHeaderLookIds: [
|
|
12229
|
+
recommendedHeaderLookIds: [
|
|
12230
|
+
"centered-calm",
|
|
12231
|
+
"minimal-transparent",
|
|
12232
|
+
"clean-base"
|
|
12233
|
+
],
|
|
11113
12234
|
buttonPersonalityChoices: [
|
|
11114
12235
|
buttonChoice("soft-pill"),
|
|
11115
12236
|
buttonChoice("pebble"),
|
|
@@ -11138,7 +12259,11 @@ var curatedSiteStyles = [
|
|
|
11138
12259
|
motion: "subtle"
|
|
11139
12260
|
},
|
|
11140
12261
|
compositionBudget: balancedBudget,
|
|
11141
|
-
recommendedHeaderLookIds: [
|
|
12262
|
+
recommendedHeaderLookIds: [
|
|
12263
|
+
"practical-utility",
|
|
12264
|
+
"brand-solid",
|
|
12265
|
+
"clean-base"
|
|
12266
|
+
],
|
|
11142
12267
|
buttonPersonalityChoices: [
|
|
11143
12268
|
buttonChoice("confident-chip"),
|
|
11144
12269
|
buttonChoice("soft-pill"),
|
|
@@ -11165,7 +12290,11 @@ var curatedSiteStyles = [
|
|
|
11165
12290
|
motion: "subtle"
|
|
11166
12291
|
},
|
|
11167
12292
|
compositionBudget: balancedBudget,
|
|
11168
|
-
recommendedHeaderLookIds: [
|
|
12293
|
+
recommendedHeaderLookIds: [
|
|
12294
|
+
"serif-line",
|
|
12295
|
+
"minimal-transparent",
|
|
12296
|
+
"centered-calm"
|
|
12297
|
+
],
|
|
11169
12298
|
buttonPersonalityChoices: [
|
|
11170
12299
|
buttonChoice("editorial-link"),
|
|
11171
12300
|
buttonChoice("soft-pill"),
|
|
@@ -11193,7 +12322,11 @@ var curatedSiteStyles = [
|
|
|
11193
12322
|
motion: "expressive"
|
|
11194
12323
|
},
|
|
11195
12324
|
compositionBudget: balancedBudget,
|
|
11196
|
-
recommendedHeaderLookIds: [
|
|
12325
|
+
recommendedHeaderLookIds: [
|
|
12326
|
+
"brand-solid",
|
|
12327
|
+
"practical-utility",
|
|
12328
|
+
"clean-base"
|
|
12329
|
+
],
|
|
11197
12330
|
buttonPersonalityChoices: [
|
|
11198
12331
|
buttonChoice("pebble"),
|
|
11199
12332
|
buttonChoice("brushed-wash"),
|
|
@@ -11210,7 +12343,10 @@ var curatedSiteStyles = [
|
|
|
11210
12343
|
name: "Quiet Luxury",
|
|
11211
12344
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
11212
12345
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
11213
|
-
siteCreatorSelection: {
|
|
12346
|
+
siteCreatorSelection: {
|
|
12347
|
+
kind: "site_creator_keyword_heuristic",
|
|
12348
|
+
priority: 20
|
|
12349
|
+
},
|
|
11214
12350
|
selectionKeywordRules: [
|
|
11215
12351
|
{ kind: "word", value: "luxury" },
|
|
11216
12352
|
{ kind: "word", value: "premium" },
|
|
@@ -11228,7 +12364,11 @@ var curatedSiteStyles = [
|
|
|
11228
12364
|
motion: "none"
|
|
11229
12365
|
},
|
|
11230
12366
|
compositionBudget: quietBudget,
|
|
11231
|
-
recommendedHeaderLookIds: [
|
|
12367
|
+
recommendedHeaderLookIds: [
|
|
12368
|
+
"minimal-transparent",
|
|
12369
|
+
"serif-line",
|
|
12370
|
+
"clean-base"
|
|
12371
|
+
],
|
|
11232
12372
|
buttonPersonalityChoices: [
|
|
11233
12373
|
buttonChoice("editorial-link"),
|
|
11234
12374
|
buttonChoice("confident-chip"),
|
|
@@ -11264,7 +12404,11 @@ var curatedSiteStyles = [
|
|
|
11264
12404
|
motion: "none"
|
|
11265
12405
|
},
|
|
11266
12406
|
compositionBudget: quietBudget,
|
|
11267
|
-
recommendedHeaderLookIds: [
|
|
12407
|
+
recommendedHeaderLookIds: [
|
|
12408
|
+
"practical-utility",
|
|
12409
|
+
"brand-solid",
|
|
12410
|
+
"clean-base"
|
|
12411
|
+
],
|
|
11268
12412
|
buttonPersonalityChoices: [
|
|
11269
12413
|
buttonChoice("confident-chip"),
|
|
11270
12414
|
buttonChoice("pebble"),
|
|
@@ -11291,7 +12435,11 @@ var curatedSiteStyles = [
|
|
|
11291
12435
|
motion: "subtle"
|
|
11292
12436
|
},
|
|
11293
12437
|
compositionBudget: balancedBudget,
|
|
11294
|
-
recommendedHeaderLookIds: [
|
|
12438
|
+
recommendedHeaderLookIds: [
|
|
12439
|
+
"centered-calm",
|
|
12440
|
+
"minimal-transparent",
|
|
12441
|
+
"clean-base"
|
|
12442
|
+
],
|
|
11295
12443
|
buttonPersonalityChoices: [
|
|
11296
12444
|
buttonChoice("soft-pill"),
|
|
11297
12445
|
buttonChoice("pebble"),
|
|
@@ -11308,7 +12456,10 @@ var curatedSiteStyles = [
|
|
|
11308
12456
|
name: "Quiet Practice",
|
|
11309
12457
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
11310
12458
|
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.",
|
|
11311
|
-
siteCreatorSelection: {
|
|
12459
|
+
siteCreatorSelection: {
|
|
12460
|
+
kind: "site_creator_keyword_heuristic",
|
|
12461
|
+
priority: 30
|
|
12462
|
+
},
|
|
11312
12463
|
selectionKeywordRules: [
|
|
11313
12464
|
{ kind: "substring", value: "massage" },
|
|
11314
12465
|
{ kind: "word", value: "bodywork" },
|
|
@@ -11329,7 +12480,11 @@ var curatedSiteStyles = [
|
|
|
11329
12480
|
motion: "subtle"
|
|
11330
12481
|
},
|
|
11331
12482
|
compositionBudget: quietBudget,
|
|
11332
|
-
recommendedHeaderLookIds: [
|
|
12483
|
+
recommendedHeaderLookIds: [
|
|
12484
|
+
"practical-utility",
|
|
12485
|
+
"clean-base",
|
|
12486
|
+
"centered-calm"
|
|
12487
|
+
],
|
|
11333
12488
|
buttonPersonalityChoices: [
|
|
11334
12489
|
buttonChoice("pebble"),
|
|
11335
12490
|
buttonChoice("soft-pill"),
|
|
@@ -11346,7 +12501,10 @@ var curatedSiteStyles = [
|
|
|
11346
12501
|
name: "Personal Retreat Journal",
|
|
11347
12502
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
11348
12503
|
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.",
|
|
11349
|
-
siteCreatorSelection: {
|
|
12504
|
+
siteCreatorSelection: {
|
|
12505
|
+
kind: "site_creator_keyword_heuristic",
|
|
12506
|
+
priority: 40
|
|
12507
|
+
},
|
|
11350
12508
|
selectionKeywordRules: [
|
|
11351
12509
|
{ kind: "substring", value: "retreat" },
|
|
11352
12510
|
{ kind: "phrase", value: "solo practitioner" },
|
|
@@ -11366,7 +12524,11 @@ var curatedSiteStyles = [
|
|
|
11366
12524
|
motion: "subtle"
|
|
11367
12525
|
},
|
|
11368
12526
|
compositionBudget: balancedBudget,
|
|
11369
|
-
recommendedHeaderLookIds: [
|
|
12527
|
+
recommendedHeaderLookIds: [
|
|
12528
|
+
"serif-line",
|
|
12529
|
+
"centered-calm",
|
|
12530
|
+
"minimal-transparent"
|
|
12531
|
+
],
|
|
11370
12532
|
buttonPersonalityChoices: [
|
|
11371
12533
|
buttonChoice("editorial-link"),
|
|
11372
12534
|
buttonChoice("soft-pill"),
|
|
@@ -11383,7 +12545,10 @@ var curatedSiteStyles = [
|
|
|
11383
12545
|
name: "Tactile Workshop",
|
|
11384
12546
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
11385
12547
|
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.",
|
|
11386
|
-
siteCreatorSelection: {
|
|
12548
|
+
siteCreatorSelection: {
|
|
12549
|
+
kind: "site_creator_keyword_heuristic",
|
|
12550
|
+
priority: 50
|
|
12551
|
+
},
|
|
11387
12552
|
selectionKeywordRules: [
|
|
11388
12553
|
{ kind: "substring", value: "ceramic" },
|
|
11389
12554
|
{ kind: "word", value: "pottery" },
|
|
@@ -11403,8 +12568,15 @@ var curatedSiteStyles = [
|
|
|
11403
12568
|
motion: "subtle"
|
|
11404
12569
|
},
|
|
11405
12570
|
compositionBudget: balancedBudget,
|
|
11406
|
-
recommendedHeaderLookIds: [
|
|
11407
|
-
|
|
12571
|
+
recommendedHeaderLookIds: [
|
|
12572
|
+
"brand-solid",
|
|
12573
|
+
"practical-utility",
|
|
12574
|
+
"clean-base"
|
|
12575
|
+
],
|
|
12576
|
+
recommendedFooterLookIds: [
|
|
12577
|
+
"site-footer-brand-two-band",
|
|
12578
|
+
"footer-muted-grounding"
|
|
12579
|
+
],
|
|
11408
12580
|
buttonPersonalityChoices: [
|
|
11409
12581
|
buttonChoice("pebble"),
|
|
11410
12582
|
buttonChoice("confident-chip"),
|
|
@@ -11419,101 +12591,178 @@ var curatedSiteStyles = [
|
|
|
11419
12591
|
]
|
|
11420
12592
|
}),
|
|
11421
12593
|
defineCuratedSiteStyle({
|
|
11422
|
-
id: "site-style:
|
|
11423
|
-
name: "
|
|
11424
|
-
description: "
|
|
11425
|
-
generationBrief: "Use
|
|
11426
|
-
siteCreatorSelection: {
|
|
11427
|
-
|
|
11428
|
-
|
|
11429
|
-
{ kind: "substring", value: "campaign" },
|
|
11430
|
-
{ kind: "word", value: "preorder" },
|
|
11431
|
-
{ kind: "phrase", value: "pre-order" },
|
|
11432
|
-
{ kind: "substring", value: "waitlist" },
|
|
11433
|
-
{ kind: "word", value: "drop" }
|
|
11434
|
-
],
|
|
11435
|
-
tokenRecipes: {
|
|
11436
|
-
palette: "high-contrast",
|
|
11437
|
-
contrast: "maximum",
|
|
11438
|
-
radius: "pill",
|
|
11439
|
-
shadow: "layered",
|
|
11440
|
-
typography: "clean-sans",
|
|
11441
|
-
spacing: "regular",
|
|
11442
|
-
motion: "expressive"
|
|
12594
|
+
id: "site-style:soft-earth",
|
|
12595
|
+
name: "Soft Earth",
|
|
12596
|
+
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
12597
|
+
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.",
|
|
12598
|
+
siteCreatorSelection: {
|
|
12599
|
+
kind: "site_creator_keyword_heuristic",
|
|
12600
|
+
priority: 45
|
|
11443
12601
|
},
|
|
11444
|
-
|
|
11445
|
-
|
|
11446
|
-
|
|
11447
|
-
|
|
11448
|
-
|
|
11449
|
-
|
|
11450
|
-
buttonChoice("pebble")
|
|
12602
|
+
selectionKeywordRules: [
|
|
12603
|
+
{ kind: "word", value: "meditation" },
|
|
12604
|
+
{ kind: "word", value: "wellbeing" },
|
|
12605
|
+
{ kind: "substring", value: "retreat" },
|
|
12606
|
+
{ kind: "phrase", value: "yoga studio" },
|
|
12607
|
+
{ kind: "phrase", value: "mindful movement" }
|
|
11451
12608
|
],
|
|
11452
|
-
paletteVariantChoices: [
|
|
11453
|
-
paletteChoice("high-contrast-monochrome"),
|
|
11454
|
-
paletteChoice("high-contrast-ink"),
|
|
11455
|
-
paletteChoice("brand-led-jewel"),
|
|
11456
|
-
paletteChoice("brand-led-warm")
|
|
11457
|
-
]
|
|
11458
|
-
}),
|
|
11459
|
-
defineCuratedSiteStyle({
|
|
11460
|
-
id: "site-style:south-west-twerk-school",
|
|
11461
|
-
name: "South West Twerk School",
|
|
11462
|
-
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
11463
|
-
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.",
|
|
11464
12609
|
tokenRecipes: {
|
|
11465
|
-
palette: "
|
|
11466
|
-
contrast: "
|
|
12610
|
+
palette: "warm-neutral",
|
|
12611
|
+
contrast: "standard",
|
|
11467
12612
|
radius: "soft",
|
|
11468
|
-
shadow: "
|
|
11469
|
-
typography: "
|
|
12613
|
+
shadow: "subtle",
|
|
12614
|
+
typography: "serif-editorial",
|
|
11470
12615
|
spacing: "airy",
|
|
11471
|
-
motion: "
|
|
12616
|
+
motion: "subtle"
|
|
11472
12617
|
},
|
|
11473
|
-
compositionBudget:
|
|
12618
|
+
compositionBudget: balancedBudget,
|
|
11474
12619
|
themeOverrides: {
|
|
11475
12620
|
typography: {
|
|
11476
12621
|
body: {
|
|
11477
|
-
family: "
|
|
11478
|
-
size: "
|
|
12622
|
+
family: "Inter, system-ui, sans-serif",
|
|
12623
|
+
size: "md",
|
|
11479
12624
|
weight: "regular",
|
|
11480
12625
|
lineHeight: "relaxed",
|
|
11481
12626
|
letterSpacing: "normal"
|
|
11482
12627
|
},
|
|
11483
12628
|
headings: {
|
|
11484
12629
|
default: {
|
|
11485
|
-
family: '"
|
|
11486
|
-
weight: "
|
|
12630
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
12631
|
+
weight: "regular",
|
|
11487
12632
|
lineHeight: "normal",
|
|
11488
|
-
letterSpacing: "
|
|
11489
|
-
colorToken: "
|
|
12633
|
+
letterSpacing: "normal",
|
|
12634
|
+
colorToken: "text",
|
|
11490
12635
|
italic: null,
|
|
11491
12636
|
case: null
|
|
11492
12637
|
},
|
|
11493
12638
|
h1: {
|
|
11494
12639
|
size: "xl",
|
|
11495
|
-
weight: "
|
|
12640
|
+
weight: "regular",
|
|
11496
12641
|
lineHeight: "normal",
|
|
11497
|
-
letterSpacing: "
|
|
12642
|
+
letterSpacing: "normal",
|
|
11498
12643
|
italic: null
|
|
11499
12644
|
},
|
|
11500
12645
|
h2: {
|
|
11501
12646
|
size: "lg",
|
|
11502
|
-
weight: "
|
|
12647
|
+
weight: "regular",
|
|
11503
12648
|
lineHeight: "normal",
|
|
11504
12649
|
letterSpacing: "normal",
|
|
11505
12650
|
italic: null
|
|
11506
12651
|
},
|
|
11507
12652
|
h3: {
|
|
11508
12653
|
size: "md",
|
|
11509
|
-
weight: "
|
|
12654
|
+
weight: "regular",
|
|
11510
12655
|
lineHeight: "normal",
|
|
11511
12656
|
letterSpacing: "normal",
|
|
11512
12657
|
italic: null
|
|
11513
12658
|
}
|
|
11514
12659
|
},
|
|
11515
|
-
scale: "
|
|
12660
|
+
scale: "majorThird"
|
|
11516
12661
|
},
|
|
12662
|
+
bodyText: {
|
|
12663
|
+
intro: {
|
|
12664
|
+
paragraphSize: "default",
|
|
12665
|
+
headingSize: "editorial"
|
|
12666
|
+
}
|
|
12667
|
+
}
|
|
12668
|
+
},
|
|
12669
|
+
recommendedAppearancePresetIds: [
|
|
12670
|
+
"hero-brand-scrim",
|
|
12671
|
+
"intro-soft-earth-statement",
|
|
12672
|
+
"feature-cards-soft-earth-offerings",
|
|
12673
|
+
"testimonials-soft-earth-proof-band",
|
|
12674
|
+
"faq-soft-earth-two-column",
|
|
12675
|
+
"contact-form-panel"
|
|
12676
|
+
],
|
|
12677
|
+
recommendedHeaderLookIds: [
|
|
12678
|
+
"centered-calm",
|
|
12679
|
+
"minimal-transparent",
|
|
12680
|
+
"serif-line"
|
|
12681
|
+
],
|
|
12682
|
+
recommendedFooterLookIds: [
|
|
12683
|
+
"footer-muted-grounding",
|
|
12684
|
+
"site-footer-brand-two-band"
|
|
12685
|
+
],
|
|
12686
|
+
buttonPersonalityChoices: [
|
|
12687
|
+
buttonChoice("earth-pill"),
|
|
12688
|
+
buttonChoice("soft-pill"),
|
|
12689
|
+
buttonChoice("pebble"),
|
|
12690
|
+
buttonChoice("editorial-link")
|
|
12691
|
+
],
|
|
12692
|
+
paletteVariantChoices: [
|
|
12693
|
+
paletteChoice("warm-neutral-soft-earth"),
|
|
12694
|
+
paletteChoice("warm-neutral-clay"),
|
|
12695
|
+
paletteChoice("warm-neutral-forest"),
|
|
12696
|
+
paletteChoice("soft-natural-sage")
|
|
12697
|
+
]
|
|
12698
|
+
}),
|
|
12699
|
+
defineCuratedSiteStyle({
|
|
12700
|
+
id: "site-style:bold-launch",
|
|
12701
|
+
name: "Bold Launch",
|
|
12702
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
12703
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
12704
|
+
siteCreatorSelection: {
|
|
12705
|
+
kind: "site_creator_keyword_heuristic",
|
|
12706
|
+
priority: 10
|
|
12707
|
+
},
|
|
12708
|
+
selectionKeywordRules: [
|
|
12709
|
+
{ kind: "substring", value: "launch" },
|
|
12710
|
+
{ kind: "substring", value: "campaign" },
|
|
12711
|
+
{ kind: "word", value: "preorder" },
|
|
12712
|
+
{ kind: "phrase", value: "pre-order" },
|
|
12713
|
+
{ kind: "substring", value: "waitlist" },
|
|
12714
|
+
{ kind: "word", value: "drop" }
|
|
12715
|
+
],
|
|
12716
|
+
tokenRecipes: {
|
|
12717
|
+
palette: "high-contrast",
|
|
12718
|
+
contrast: "maximum",
|
|
12719
|
+
radius: "pill",
|
|
12720
|
+
shadow: "layered",
|
|
12721
|
+
typography: "clean-sans",
|
|
12722
|
+
spacing: "regular",
|
|
12723
|
+
motion: "expressive"
|
|
12724
|
+
},
|
|
12725
|
+
compositionBudget: expressiveBudget,
|
|
12726
|
+
recommendedHeaderLookIds: [
|
|
12727
|
+
"transparent-overlay",
|
|
12728
|
+
"floating-glass",
|
|
12729
|
+
"brand-solid"
|
|
12730
|
+
],
|
|
12731
|
+
buttonPersonalityChoices: [
|
|
12732
|
+
buttonChoice("ink-stamp"),
|
|
12733
|
+
buttonChoice("confident-chip"),
|
|
12734
|
+
buttonChoice("brushed-wash"),
|
|
12735
|
+
buttonChoice("pebble")
|
|
12736
|
+
],
|
|
12737
|
+
paletteVariantChoices: [
|
|
12738
|
+
paletteChoice("high-contrast-monochrome"),
|
|
12739
|
+
paletteChoice("high-contrast-ink"),
|
|
12740
|
+
paletteChoice("brand-led-jewel"),
|
|
12741
|
+
paletteChoice("brand-led-warm")
|
|
12742
|
+
]
|
|
12743
|
+
}),
|
|
12744
|
+
defineCuratedSiteStyle({
|
|
12745
|
+
id: "site-style:south-west-twerk-school",
|
|
12746
|
+
name: "South West Twerk School",
|
|
12747
|
+
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
12748
|
+
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.",
|
|
12749
|
+
tokenRecipes: {
|
|
12750
|
+
palette: "brand-led",
|
|
12751
|
+
contrast: "maximum",
|
|
12752
|
+
radius: "soft",
|
|
12753
|
+
shadow: "layered",
|
|
12754
|
+
typography: "clean-sans",
|
|
12755
|
+
spacing: "airy",
|
|
12756
|
+
motion: "expressive"
|
|
12757
|
+
},
|
|
12758
|
+
compositionBudget: expressiveBudget,
|
|
12759
|
+
typographyPresetChoices: [
|
|
12760
|
+
typographyChoice("typography-preset:bold-display"),
|
|
12761
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
12762
|
+
typographyChoice("typography-preset:luxe-contrast")
|
|
12763
|
+
],
|
|
12764
|
+
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
12765
|
+
themeOverrides: {
|
|
11517
12766
|
bodyText: {
|
|
11518
12767
|
intro: {
|
|
11519
12768
|
paragraphSize: "editorial",
|
|
@@ -11529,8 +12778,15 @@ var curatedSiteStyles = [
|
|
|
11529
12778
|
"testimonials-accent-quote-proof",
|
|
11530
12779
|
"contact-form-brand-depth-card"
|
|
11531
12780
|
],
|
|
11532
|
-
recommendedHeaderLookIds: [
|
|
11533
|
-
|
|
12781
|
+
recommendedHeaderLookIds: [
|
|
12782
|
+
"brand-solid",
|
|
12783
|
+
"transparent-overlay",
|
|
12784
|
+
"practical-utility"
|
|
12785
|
+
],
|
|
12786
|
+
recommendedFooterLookIds: [
|
|
12787
|
+
"site-footer-brand-two-band",
|
|
12788
|
+
"footer-muted-grounding"
|
|
12789
|
+
],
|
|
11534
12790
|
buttonPersonalityChoices: [
|
|
11535
12791
|
buttonChoice("showtime-pill"),
|
|
11536
12792
|
buttonChoice("confident-chip"),
|
|
@@ -15845,8 +17101,9 @@ var faqAccordionFragment = defineFragment({
|
|
|
15845
17101
|
},
|
|
15846
17102
|
fallback: "rb-faq-item"
|
|
15847
17103
|
},
|
|
15848
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } }
|
|
15849
|
-
//
|
|
17104
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
17105
|
+
// Legacy theme accordion style
|
|
17106
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
15850
17107
|
},
|
|
15851
17108
|
triggerFrom: "faqItem.question",
|
|
15852
17109
|
contentFrom: "faqItem.answer"
|
|
@@ -16924,61 +18181,389 @@ function splitLayoutWith(children) {
|
|
|
16924
18181
|
children
|
|
16925
18182
|
}
|
|
16926
18183
|
}),
|
|
16927
|
-
// The split variants render the image as a real grid column, so suppress
|
|
16928
|
-
// the default absolute background image layer while keeping color/overlay.
|
|
16929
|
-
renderBackgroundImage: false,
|
|
16930
|
-
baseClass: ""
|
|
16931
|
-
});
|
|
16932
|
-
}
|
|
16933
|
-
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
16934
|
-
var splitImageColumn = heroSplitImagePane();
|
|
16935
|
-
var splitLayout = splitLayoutWith([
|
|
16936
|
-
splitContentColumn,
|
|
16937
|
-
splitImageColumn
|
|
16938
|
-
]);
|
|
16939
|
-
var splitReverseLayout = splitLayoutWith([
|
|
16940
|
-
splitImageColumn,
|
|
16941
|
-
splitContentColumn
|
|
16942
|
-
]);
|
|
16943
|
-
var heroConfig = {
|
|
16944
|
-
id: "block.hero",
|
|
16945
|
-
title: "Hero",
|
|
16946
|
-
titleSource: "headline",
|
|
16947
|
-
category: "layout",
|
|
16948
|
-
includeContainerStyles: true,
|
|
16949
|
-
promotedFields: ["_sectionStyles.background.image"],
|
|
16950
|
-
fragments: [
|
|
16951
|
-
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
16952
|
-
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
16953
|
-
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
16954
|
-
],
|
|
16955
|
-
additionalFields: [
|
|
16956
|
-
containerStylesField({
|
|
16957
|
-
id: "_contentCardStyles",
|
|
16958
|
-
label: "Content card",
|
|
16959
|
-
renderInHeader: true,
|
|
16960
|
-
intent: "style"
|
|
18184
|
+
// The split variants render the image as a real grid column, so suppress
|
|
18185
|
+
// the default absolute background image layer while keeping color/overlay.
|
|
18186
|
+
renderBackgroundImage: false,
|
|
18187
|
+
baseClass: ""
|
|
18188
|
+
});
|
|
18189
|
+
}
|
|
18190
|
+
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
18191
|
+
var splitImageColumn = heroSplitImagePane();
|
|
18192
|
+
var splitLayout = splitLayoutWith([
|
|
18193
|
+
splitContentColumn,
|
|
18194
|
+
splitImageColumn
|
|
18195
|
+
]);
|
|
18196
|
+
var splitReverseLayout = splitLayoutWith([
|
|
18197
|
+
splitImageColumn,
|
|
18198
|
+
splitContentColumn
|
|
18199
|
+
]);
|
|
18200
|
+
var heroConfig = {
|
|
18201
|
+
id: "block.hero",
|
|
18202
|
+
title: "Hero",
|
|
18203
|
+
titleSource: "headline",
|
|
18204
|
+
category: "layout",
|
|
18205
|
+
includeContainerStyles: true,
|
|
18206
|
+
promotedFields: ["_sectionStyles.background.image"],
|
|
18207
|
+
fragments: [
|
|
18208
|
+
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
18209
|
+
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
18210
|
+
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
18211
|
+
],
|
|
18212
|
+
additionalFields: [
|
|
18213
|
+
containerStylesField({
|
|
18214
|
+
id: "_contentCardStyles",
|
|
18215
|
+
label: "Content card",
|
|
18216
|
+
renderInHeader: true,
|
|
18217
|
+
intent: "style"
|
|
18218
|
+
})
|
|
18219
|
+
],
|
|
18220
|
+
layout: classicLayout,
|
|
18221
|
+
variants: {
|
|
18222
|
+
classic: classicLayout,
|
|
18223
|
+
micro: microLayout,
|
|
18224
|
+
split: splitLayout,
|
|
18225
|
+
splitReverse: splitReverseLayout
|
|
18226
|
+
},
|
|
18227
|
+
defaultVariant: "classic",
|
|
18228
|
+
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
18229
|
+
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
18230
|
+
icon: "Sparkles",
|
|
18231
|
+
styleTokens: {
|
|
18232
|
+
typography: "display",
|
|
18233
|
+
spacing: "xl"
|
|
18234
|
+
}
|
|
18235
|
+
};
|
|
18236
|
+
var heroManifest = createBlockManifest(heroConfig);
|
|
18237
|
+
var heroBlockDefinition = {
|
|
18238
|
+
manifest: heroManifest
|
|
18239
|
+
};
|
|
18240
|
+
|
|
18241
|
+
// ../blocks/src/system/fields/aspectRatio.ts
|
|
18242
|
+
var standardAspectRatioOptions = [
|
|
18243
|
+
{ value: "auto", label: "Auto (original)" },
|
|
18244
|
+
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
18245
|
+
{ value: "4/3", label: "4:3 (Standard)" },
|
|
18246
|
+
{ value: "1/1", label: "1:1 (Square)" },
|
|
18247
|
+
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
18248
|
+
];
|
|
18249
|
+
function createAspectRatioField(options = {}) {
|
|
18250
|
+
return {
|
|
18251
|
+
id: options.id ?? "aspectRatio",
|
|
18252
|
+
type: "select",
|
|
18253
|
+
label: options.label ?? "Aspect ratio",
|
|
18254
|
+
...options.description ? { description: options.description } : {},
|
|
18255
|
+
required: false,
|
|
18256
|
+
defaultValue: options.defaultValue ?? "auto",
|
|
18257
|
+
multiple: false,
|
|
18258
|
+
options: [...standardAspectRatioOptions],
|
|
18259
|
+
ui: {
|
|
18260
|
+
intent: options.uiIntent ?? "display",
|
|
18261
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
18262
|
+
}
|
|
18263
|
+
};
|
|
18264
|
+
}
|
|
18265
|
+
|
|
18266
|
+
// ../blocks/src/system/fields/imageLayout.ts
|
|
18267
|
+
function createImageColSizeField(options = {}) {
|
|
18268
|
+
const {
|
|
18269
|
+
id = "imageColSize",
|
|
18270
|
+
label = "Image column size",
|
|
18271
|
+
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
18272
|
+
defaultValue = "1/3",
|
|
18273
|
+
uiIntent = "display",
|
|
18274
|
+
visibleWhen
|
|
18275
|
+
} = options;
|
|
18276
|
+
return {
|
|
18277
|
+
id,
|
|
18278
|
+
type: "select",
|
|
18279
|
+
label,
|
|
18280
|
+
description,
|
|
18281
|
+
required: false,
|
|
18282
|
+
defaultValue,
|
|
18283
|
+
multiple: false,
|
|
18284
|
+
options: [
|
|
18285
|
+
{ value: "1/4", label: "Small (1/4)" },
|
|
18286
|
+
{ value: "1/3", label: "Medium (1/3)" },
|
|
18287
|
+
{ value: "2/5", label: "Large (2/5)" },
|
|
18288
|
+
{ value: "1/2", label: "Extra large (1/2)" },
|
|
18289
|
+
{ value: "2/3", label: "Huge (2/3)" }
|
|
18290
|
+
],
|
|
18291
|
+
ui: {
|
|
18292
|
+
intent: uiIntent,
|
|
18293
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
18294
|
+
}
|
|
18295
|
+
};
|
|
18296
|
+
}
|
|
18297
|
+
function createImagePositionField(options = {}) {
|
|
18298
|
+
const {
|
|
18299
|
+
id = "imagePosition",
|
|
18300
|
+
label = "Image position",
|
|
18301
|
+
description = "Choose which side the image appears on.",
|
|
18302
|
+
defaultValue = "left",
|
|
18303
|
+
includeAlternate = false,
|
|
18304
|
+
uiIntent = "display",
|
|
18305
|
+
visibleWhen
|
|
18306
|
+
} = options;
|
|
18307
|
+
const positionOptions = [
|
|
18308
|
+
{ value: "left", label: "Left" },
|
|
18309
|
+
{ value: "right", label: "Right" },
|
|
18310
|
+
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
18311
|
+
];
|
|
18312
|
+
return {
|
|
18313
|
+
id,
|
|
18314
|
+
type: "select",
|
|
18315
|
+
label,
|
|
18316
|
+
description,
|
|
18317
|
+
required: false,
|
|
18318
|
+
defaultValue,
|
|
18319
|
+
multiple: false,
|
|
18320
|
+
// Spread to get a mutable array type without unsafe casts.
|
|
18321
|
+
options: [...positionOptions],
|
|
18322
|
+
ui: {
|
|
18323
|
+
intent: uiIntent,
|
|
18324
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
18325
|
+
}
|
|
18326
|
+
};
|
|
18327
|
+
}
|
|
18328
|
+
|
|
18329
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
18330
|
+
function introHeading(className) {
|
|
18331
|
+
return text(
|
|
18332
|
+
{
|
|
18333
|
+
as: "h2",
|
|
18334
|
+
className
|
|
18335
|
+
},
|
|
18336
|
+
when("content.title"),
|
|
18337
|
+
bind("content.title")
|
|
18338
|
+
);
|
|
18339
|
+
}
|
|
18340
|
+
function introBody(className = "rb-prose rb-max-w-none") {
|
|
18341
|
+
return richText({ className }, bind("content.body"));
|
|
18342
|
+
}
|
|
18343
|
+
function introCtas(justify = "start") {
|
|
18344
|
+
return ctaRow({
|
|
18345
|
+
justify,
|
|
18346
|
+
gap: "md",
|
|
18347
|
+
containerClassName: "rb-mt-2"
|
|
18348
|
+
});
|
|
18349
|
+
}
|
|
18350
|
+
function introCopyStack(options = {}) {
|
|
18351
|
+
return stack(
|
|
18352
|
+
{
|
|
18353
|
+
gap: "md",
|
|
18354
|
+
className: options.className ?? "rb-intro-copy"
|
|
18355
|
+
},
|
|
18356
|
+
[
|
|
18357
|
+
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
18358
|
+
introBody(options.bodyClassName),
|
|
18359
|
+
introCtas(options.ctaJustify)
|
|
18360
|
+
]
|
|
18361
|
+
);
|
|
18362
|
+
}
|
|
18363
|
+
var introMedia = media(
|
|
18364
|
+
{
|
|
18365
|
+
className: "rb-intro-media rb-w-full rb-h-auto rb-object-cover",
|
|
18366
|
+
style: {
|
|
18367
|
+
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
18368
|
+
}
|
|
18369
|
+
},
|
|
18370
|
+
bind("content.media")
|
|
18371
|
+
);
|
|
18372
|
+
var centeredCopyLayout = styledSection({
|
|
18373
|
+
children: styledContainer({
|
|
18374
|
+
rootType: "stack",
|
|
18375
|
+
rootProps: { gap: "lg" },
|
|
18376
|
+
children: [
|
|
18377
|
+
introCopyStack({
|
|
18378
|
+
className: "rb-intro-copy rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
18379
|
+
headingClassName: "rb-intro-title rb-text-center",
|
|
18380
|
+
bodyClassName: "rb-prose rb-mx-auto rb-max-w-none",
|
|
18381
|
+
ctaJustify: "center"
|
|
18382
|
+
})
|
|
18383
|
+
]
|
|
18384
|
+
}),
|
|
18385
|
+
baseClass: "",
|
|
18386
|
+
spacing: "medium"
|
|
18387
|
+
});
|
|
18388
|
+
var statementCopyLayout = styledSection({
|
|
18389
|
+
children: styledContainer({
|
|
18390
|
+
children: [
|
|
18391
|
+
el(
|
|
18392
|
+
"div",
|
|
18393
|
+
{
|
|
18394
|
+
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
18395
|
+
},
|
|
18396
|
+
[
|
|
18397
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
18398
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
18399
|
+
introBody(),
|
|
18400
|
+
introCtas("start")
|
|
18401
|
+
])
|
|
18402
|
+
]
|
|
18403
|
+
)
|
|
18404
|
+
]
|
|
18405
|
+
}),
|
|
18406
|
+
baseClass: "",
|
|
18407
|
+
spacing: "medium"
|
|
18408
|
+
});
|
|
18409
|
+
var statementMediaLayout = styledSection({
|
|
18410
|
+
children: styledContainer({
|
|
18411
|
+
children: [
|
|
18412
|
+
el(
|
|
18413
|
+
"div",
|
|
18414
|
+
{
|
|
18415
|
+
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"
|
|
18416
|
+
},
|
|
18417
|
+
[
|
|
18418
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
18419
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
18420
|
+
introBody(),
|
|
18421
|
+
introCtas("start")
|
|
18422
|
+
]),
|
|
18423
|
+
el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia], when("content.media"))
|
|
18424
|
+
]
|
|
18425
|
+
)
|
|
18426
|
+
]
|
|
18427
|
+
}),
|
|
18428
|
+
baseClass: "",
|
|
18429
|
+
spacing: "medium"
|
|
18430
|
+
});
|
|
18431
|
+
var mediaCopyLayout = styledSection({
|
|
18432
|
+
children: styledContainer({
|
|
18433
|
+
children: [
|
|
18434
|
+
responsiveTwoColumn({
|
|
18435
|
+
image: el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia]),
|
|
18436
|
+
text: introCopyStack({
|
|
18437
|
+
className: "rb-intro-copy rb-max-w-xl",
|
|
18438
|
+
headingClassName: "rb-intro-title"
|
|
18439
|
+
}),
|
|
18440
|
+
ratioFrom: "content.ratio",
|
|
18441
|
+
imagePositionFrom: "content.imagePosition",
|
|
18442
|
+
gapFrom: "content.gap",
|
|
18443
|
+
gapFallback: "comfortable",
|
|
18444
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
18445
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-center"
|
|
18446
|
+
})
|
|
18447
|
+
]
|
|
18448
|
+
}),
|
|
18449
|
+
baseClass: "",
|
|
18450
|
+
spacing: "medium"
|
|
18451
|
+
});
|
|
18452
|
+
var introConfig = {
|
|
18453
|
+
id: "block.intro",
|
|
18454
|
+
title: "Intro",
|
|
18455
|
+
category: "layout",
|
|
18456
|
+
includeContainerStyles: true,
|
|
18457
|
+
titleSource: "title",
|
|
18458
|
+
additionalFields: [
|
|
18459
|
+
{
|
|
18460
|
+
id: "title",
|
|
18461
|
+
type: "text",
|
|
18462
|
+
label: "Statement",
|
|
18463
|
+
required: false,
|
|
18464
|
+
multiline: true,
|
|
18465
|
+
maxLength: 160
|
|
18466
|
+
},
|
|
18467
|
+
{
|
|
18468
|
+
id: "body",
|
|
18469
|
+
type: "richText",
|
|
18470
|
+
label: "Text",
|
|
18471
|
+
required: true,
|
|
18472
|
+
ui: {
|
|
18473
|
+
richTextVariant: "limited"
|
|
18474
|
+
}
|
|
18475
|
+
},
|
|
18476
|
+
{
|
|
18477
|
+
id: "media",
|
|
18478
|
+
type: "media",
|
|
18479
|
+
label: "Media",
|
|
18480
|
+
required: false,
|
|
18481
|
+
mediaKinds: ["image"],
|
|
18482
|
+
ui: {
|
|
18483
|
+
intent: "content",
|
|
18484
|
+
visibleWhen: { field: "variant", notEquals: "statement-copy" }
|
|
18485
|
+
}
|
|
18486
|
+
},
|
|
18487
|
+
createImagePositionField({
|
|
18488
|
+
id: "imagePosition",
|
|
18489
|
+
label: "Image position",
|
|
18490
|
+
defaultValue: "left",
|
|
18491
|
+
uiIntent: "display",
|
|
18492
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18493
|
+
}),
|
|
18494
|
+
{
|
|
18495
|
+
id: "gap",
|
|
18496
|
+
type: "select",
|
|
18497
|
+
label: "Gap between media and text",
|
|
18498
|
+
required: false,
|
|
18499
|
+
defaultValue: "comfortable",
|
|
18500
|
+
multiple: false,
|
|
18501
|
+
options: [
|
|
18502
|
+
{ value: "none", label: "None" },
|
|
18503
|
+
{ value: "compact", label: "Compact" },
|
|
18504
|
+
{ value: "cozy", label: "Cozy" },
|
|
18505
|
+
{ value: "medium", label: "Medium" },
|
|
18506
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
18507
|
+
{ value: "spacious", label: "Spacious" }
|
|
18508
|
+
],
|
|
18509
|
+
ui: {
|
|
18510
|
+
intent: "display",
|
|
18511
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18512
|
+
}
|
|
18513
|
+
},
|
|
18514
|
+
createImageColSizeField({
|
|
18515
|
+
id: "ratio",
|
|
18516
|
+
label: "Media column size",
|
|
18517
|
+
defaultValue: "1/2",
|
|
18518
|
+
uiIntent: "display",
|
|
18519
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
18520
|
+
}),
|
|
18521
|
+
createAspectRatioField({
|
|
18522
|
+
id: "aspectRatio",
|
|
18523
|
+
label: "Media aspect ratio",
|
|
18524
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
18525
|
+
defaultValue: "auto",
|
|
18526
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
18527
|
+
}),
|
|
18528
|
+
createCtasRepeater({
|
|
18529
|
+
label: "Calls to action",
|
|
18530
|
+
itemLabel: "CTA",
|
|
18531
|
+
maxItems: 2
|
|
16961
18532
|
})
|
|
16962
18533
|
],
|
|
16963
|
-
layout:
|
|
18534
|
+
layout: centeredCopyLayout,
|
|
16964
18535
|
variants: {
|
|
16965
|
-
|
|
16966
|
-
|
|
16967
|
-
|
|
16968
|
-
|
|
18536
|
+
"centered-copy": centeredCopyLayout,
|
|
18537
|
+
"statement-copy": statementCopyLayout,
|
|
18538
|
+
"statement-media": statementMediaLayout,
|
|
18539
|
+
"media-copy": mediaCopyLayout
|
|
16969
18540
|
},
|
|
16970
|
-
defaultVariant: "
|
|
16971
|
-
|
|
16972
|
-
|
|
16973
|
-
|
|
16974
|
-
|
|
16975
|
-
|
|
16976
|
-
|
|
16977
|
-
|
|
18541
|
+
defaultVariant: "statement-copy",
|
|
18542
|
+
variantOptions: {
|
|
18543
|
+
"centered-copy": {
|
|
18544
|
+
label: "Centered copy",
|
|
18545
|
+
description: "A focused intro with centered text and optional calls to action."
|
|
18546
|
+
},
|
|
18547
|
+
"statement-copy": {
|
|
18548
|
+
label: "Statement and copy",
|
|
18549
|
+
description: "A large statement on the left with supporting copy on the right."
|
|
18550
|
+
},
|
|
18551
|
+
"statement-media": {
|
|
18552
|
+
label: "Statement, copy and media",
|
|
18553
|
+
description: "A three-part intro with statement, copy and a small image."
|
|
18554
|
+
},
|
|
18555
|
+
"media-copy": {
|
|
18556
|
+
label: "Media and copy",
|
|
18557
|
+
description: "A compact media/text intro for softer transitions after a hero."
|
|
18558
|
+
}
|
|
18559
|
+
},
|
|
18560
|
+
description: "A flexible introductory section for statement copy, supporting text, media, and CTAs.",
|
|
18561
|
+
tags: ["intro", "introduction", "about", "welcome", "statement", "media", "text"],
|
|
18562
|
+
icon: "PanelTopOpen"
|
|
16978
18563
|
};
|
|
16979
|
-
var
|
|
16980
|
-
var
|
|
16981
|
-
manifest:
|
|
18564
|
+
var introManifest = createBlockManifest(introConfig);
|
|
18565
|
+
var introBlockDefinition = {
|
|
18566
|
+
manifest: introManifest
|
|
16982
18567
|
};
|
|
16983
18568
|
|
|
16984
18569
|
// ../blocks/src/system/blocks/body-text.ts
|
|
@@ -17824,6 +19409,37 @@ var faqComposition = composeFragments([
|
|
|
17824
19409
|
{ fragment: faqHeadingFragment, fieldPriority: 0 },
|
|
17825
19410
|
{ fragment: faqAccordionFragment, fieldPriority: 1 }
|
|
17826
19411
|
]);
|
|
19412
|
+
function fragmentLayoutNode(layout) {
|
|
19413
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
19414
|
+
}
|
|
19415
|
+
function isNodeDefinitionArray(layout) {
|
|
19416
|
+
return Array.isArray(layout);
|
|
19417
|
+
}
|
|
19418
|
+
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
19419
|
+
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
19420
|
+
var defaultLayout = styledSection({
|
|
19421
|
+
children: styledContainer({
|
|
19422
|
+
baseClassName: "rb-relative rb-isolate",
|
|
19423
|
+
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, faqComposition.layout)
|
|
19424
|
+
}),
|
|
19425
|
+
baseClass: ""
|
|
19426
|
+
});
|
|
19427
|
+
var twoColumnLayout = styledSection({
|
|
19428
|
+
children: styledContainer({
|
|
19429
|
+
baseClassName: "rb-relative rb-isolate",
|
|
19430
|
+
children: el(
|
|
19431
|
+
"div",
|
|
19432
|
+
{
|
|
19433
|
+
className: "rb-faq-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
19434
|
+
},
|
|
19435
|
+
[
|
|
19436
|
+
el("div", { className: "rb-faq-two-column-heading" }, [headingLayout]),
|
|
19437
|
+
el("div", { className: "rb-faq-two-column-accordion" }, [accordionLayout])
|
|
19438
|
+
]
|
|
19439
|
+
)
|
|
19440
|
+
}),
|
|
19441
|
+
baseClass: ""
|
|
19442
|
+
});
|
|
17827
19443
|
var faqManifest = createBlockManifest({
|
|
17828
19444
|
id: "block.faq",
|
|
17829
19445
|
title: "FAQ",
|
|
@@ -17840,13 +19456,22 @@ var faqManifest = createBlockManifest({
|
|
|
17840
19456
|
label: "FAQ item styles"
|
|
17841
19457
|
})
|
|
17842
19458
|
],
|
|
17843
|
-
layout:
|
|
17844
|
-
|
|
17845
|
-
|
|
17846
|
-
|
|
17847
|
-
|
|
17848
|
-
|
|
17849
|
-
|
|
19459
|
+
layout: defaultLayout,
|
|
19460
|
+
variants: {
|
|
19461
|
+
default: defaultLayout,
|
|
19462
|
+
"two-column": twoColumnLayout
|
|
19463
|
+
},
|
|
19464
|
+
defaultVariant: "default",
|
|
19465
|
+
variantOptions: {
|
|
19466
|
+
default: {
|
|
19467
|
+
label: "Default",
|
|
19468
|
+
description: "A centered heading above one FAQ accordion."
|
|
19469
|
+
},
|
|
19470
|
+
"two-column": {
|
|
19471
|
+
label: "Two column",
|
|
19472
|
+
description: "A left heading column with FAQ items on the right."
|
|
19473
|
+
}
|
|
19474
|
+
},
|
|
17850
19475
|
description: "Accordion of frequently asked questions and answers.",
|
|
17851
19476
|
tags: ["faq", "questions", "answers", "help", "support", "accordion", "q&a"],
|
|
17852
19477
|
icon: "HelpCircle"
|
|
@@ -18496,7 +20121,8 @@ function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "
|
|
|
18496
20121
|
function resolveHeaderVisualStyles(header, tokens) {
|
|
18497
20122
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
18498
20123
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
18499
|
-
|
|
20124
|
+
const hasTransparentVariant = header?.variant === "transparent" || header?.variant === "floating";
|
|
20125
|
+
if (hasContainedNav || hasTransparentVariant) {
|
|
18500
20126
|
return {
|
|
18501
20127
|
backgroundToken: "transparent",
|
|
18502
20128
|
paletteHex: null,
|
|
@@ -18554,10 +20180,7 @@ var headerRootClassTransform = {
|
|
|
18554
20180
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
18555
20181
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
18556
20182
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
18557
|
-
const classes = [
|
|
18558
|
-
config.base,
|
|
18559
|
-
backgroundClass
|
|
18560
|
-
];
|
|
20183
|
+
const classes = [config.base, backgroundClass];
|
|
18561
20184
|
if (!hasContainedNav) {
|
|
18562
20185
|
if (config.blur) classes.push(config.blur);
|
|
18563
20186
|
if (config.blurSupport) classes.push(config.blurSupport);
|
|
@@ -18572,7 +20195,12 @@ var headerRootClassTransform = {
|
|
|
18572
20195
|
if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
|
|
18573
20196
|
classes.push(config.shrink);
|
|
18574
20197
|
}
|
|
18575
|
-
const VALID_VARIANTS = [
|
|
20198
|
+
const VALID_VARIANTS = [
|
|
20199
|
+
"classic",
|
|
20200
|
+
"centered",
|
|
20201
|
+
"transparent",
|
|
20202
|
+
"floating"
|
|
20203
|
+
];
|
|
18576
20204
|
const variant = header?.variant;
|
|
18577
20205
|
if (variant && VALID_VARIANTS.includes(variant)) {
|
|
18578
20206
|
classes.push(`header-variant-${variant}`);
|
|
@@ -18625,6 +20253,17 @@ var headerRootStyleTransform = {
|
|
|
18625
20253
|
return mergeStyles(...styleParts);
|
|
18626
20254
|
}
|
|
18627
20255
|
};
|
|
20256
|
+
var headerSectionBackgroundTransform = {
|
|
20257
|
+
id: "layout.headerSectionBackground",
|
|
20258
|
+
kind: "string",
|
|
20259
|
+
summary: "Resolve the inner site-header section background token",
|
|
20260
|
+
run: (value) => {
|
|
20261
|
+
const header = asPartialObject(value);
|
|
20262
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
20263
|
+
const usesTransparentRoot = header?.variant === "transparent" || header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill";
|
|
20264
|
+
return usesTransparentRoot ? "raw:transparent" : "background";
|
|
20265
|
+
}
|
|
20266
|
+
};
|
|
18628
20267
|
var footerRootStyleTransform = {
|
|
18629
20268
|
id: "layout.footerRootStyle",
|
|
18630
20269
|
kind: "formatter",
|
|
@@ -18883,6 +20522,7 @@ var layoutTransforms = [
|
|
|
18883
20522
|
headerRootClassTransform,
|
|
18884
20523
|
footerRootClassTransform,
|
|
18885
20524
|
headerRootStyleTransform,
|
|
20525
|
+
headerSectionBackgroundTransform,
|
|
18886
20526
|
footerRootStyleTransform,
|
|
18887
20527
|
footerBottomBarClassTransform,
|
|
18888
20528
|
footerBottomBarContainerClassTransform,
|
|
@@ -19178,15 +20818,21 @@ var mobileCta = ctaButton({
|
|
|
19178
20818
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
19179
20819
|
{
|
|
19180
20820
|
type: "div",
|
|
19181
|
-
props: {
|
|
20821
|
+
props: {
|
|
20822
|
+
className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20823
|
+
}
|
|
19182
20824
|
},
|
|
19183
20825
|
{
|
|
19184
20826
|
type: "div",
|
|
19185
|
-
props: {
|
|
20827
|
+
props: {
|
|
20828
|
+
className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20829
|
+
}
|
|
19186
20830
|
},
|
|
19187
20831
|
{
|
|
19188
20832
|
type: "div",
|
|
19189
|
-
props: {
|
|
20833
|
+
props: {
|
|
20834
|
+
className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
20835
|
+
}
|
|
19190
20836
|
}
|
|
19191
20837
|
]);
|
|
19192
20838
|
var mobileToggleButton = {
|
|
@@ -19369,31 +21015,12 @@ var floatingLayout = inline(
|
|
|
19369
21015
|
],
|
|
19370
21016
|
when("$root.theme.header.variant", { equals: "floating" })
|
|
19371
21017
|
);
|
|
19372
|
-
var editorialLayout = stack(
|
|
19373
|
-
{
|
|
19374
|
-
gap: "md",
|
|
19375
|
-
align: "center",
|
|
19376
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
19377
|
-
transforms: pipe(
|
|
19378
|
-
tx("layout.maxWidthClass", {
|
|
19379
|
-
base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
19380
|
-
})
|
|
19381
|
-
),
|
|
19382
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
19383
|
-
})
|
|
19384
|
-
},
|
|
19385
|
-
[
|
|
19386
|
-
centeredLogoRow,
|
|
19387
|
-
createNavRow(
|
|
19388
|
-
`${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
|
|
19389
|
-
"center"
|
|
19390
|
-
)
|
|
19391
|
-
],
|
|
19392
|
-
when("$root.theme.header.variant", { equals: "editorial" })
|
|
19393
|
-
);
|
|
19394
21018
|
var headerLayout = headerSection(
|
|
19395
21019
|
{
|
|
19396
|
-
background: "
|
|
21020
|
+
background: bindProp("$root.theme.header", {
|
|
21021
|
+
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
21022
|
+
fallback: "background"
|
|
21023
|
+
}),
|
|
19397
21024
|
allowOverflow: true,
|
|
19398
21025
|
className: bindProp("$root.theme.header", {
|
|
19399
21026
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
@@ -19401,10 +21028,7 @@ var headerLayout = headerSection(
|
|
|
19401
21028
|
}),
|
|
19402
21029
|
style: bindProp("$root.theme.header", {
|
|
19403
21030
|
transforms: pipe(tx("layout.headerRootStyle")),
|
|
19404
|
-
fallback: mergeStyles(
|
|
19405
|
-
textColorStyle("text"),
|
|
19406
|
-
borderColorStyle("border")
|
|
19407
|
-
)
|
|
21031
|
+
fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
|
|
19408
21032
|
})
|
|
19409
21033
|
},
|
|
19410
21034
|
[
|
|
@@ -19413,7 +21037,6 @@ var headerLayout = headerSection(
|
|
|
19413
21037
|
centeredLayout,
|
|
19414
21038
|
transparentLayout,
|
|
19415
21039
|
floatingLayout,
|
|
19416
|
-
editorialLayout,
|
|
19417
21040
|
mobileOverlay
|
|
19418
21041
|
],
|
|
19419
21042
|
props({
|
|
@@ -20228,79 +21851,298 @@ var collectionLayout = styledSection({
|
|
|
20228
21851
|
{ gap: "md" }
|
|
20229
21852
|
),
|
|
20230
21853
|
baseClass: "",
|
|
20231
|
-
spacing: "comfortable"
|
|
21854
|
+
spacing: "comfortable"
|
|
21855
|
+
});
|
|
21856
|
+
var collectionManifest = createBlockManifest({
|
|
21857
|
+
id: "block.collection",
|
|
21858
|
+
title: "Collection",
|
|
21859
|
+
category: "layout",
|
|
21860
|
+
additionalFields: [
|
|
21861
|
+
parseFieldDefinition({
|
|
21862
|
+
id: "layout",
|
|
21863
|
+
type: "select",
|
|
21864
|
+
label: "Layout",
|
|
21865
|
+
defaultValue: "grid",
|
|
21866
|
+
options: [
|
|
21867
|
+
{ value: "grid", label: "Grid" },
|
|
21868
|
+
{ value: "stack", label: "Stack" }
|
|
21869
|
+
],
|
|
21870
|
+
ui: { intent: "display" }
|
|
21871
|
+
}),
|
|
21872
|
+
parseFieldDefinition({
|
|
21873
|
+
id: "columns",
|
|
21874
|
+
type: "select",
|
|
21875
|
+
label: "Columns",
|
|
21876
|
+
description: "Number of columns in the grid layout.",
|
|
21877
|
+
defaultValue: "3",
|
|
21878
|
+
options: [
|
|
21879
|
+
{ value: "2", label: "2 columns" },
|
|
21880
|
+
{ value: "3", label: "3 columns" },
|
|
21881
|
+
{ value: "4", label: "4 columns" }
|
|
21882
|
+
],
|
|
21883
|
+
ui: {
|
|
21884
|
+
intent: "display",
|
|
21885
|
+
visibleWhen: { field: "layout", equals: "grid" }
|
|
21886
|
+
}
|
|
21887
|
+
}),
|
|
21888
|
+
parseFieldDefinition({
|
|
21889
|
+
id: "gap",
|
|
21890
|
+
type: "select",
|
|
21891
|
+
label: "Gap",
|
|
21892
|
+
defaultValue: "medium",
|
|
21893
|
+
options: [
|
|
21894
|
+
{ value: "none", label: "None" },
|
|
21895
|
+
{ value: "compact", label: "Compact" },
|
|
21896
|
+
{ value: "cozy", label: "Cozy" },
|
|
21897
|
+
{ value: "medium", label: "Medium" },
|
|
21898
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
21899
|
+
{ value: "spacious", label: "Spacious" }
|
|
21900
|
+
],
|
|
21901
|
+
ui: { intent: "display" }
|
|
21902
|
+
}),
|
|
21903
|
+
fragmentsToRepeaterField(
|
|
21904
|
+
"items",
|
|
21905
|
+
"Items",
|
|
21906
|
+
collectionFragments,
|
|
21907
|
+
{
|
|
21908
|
+
minItems: 0,
|
|
21909
|
+
maxItems: 50,
|
|
21910
|
+
itemLabel: "Item",
|
|
21911
|
+
description: "Add items to this collection."
|
|
21912
|
+
}
|
|
21913
|
+
),
|
|
21914
|
+
cardStylesField({
|
|
21915
|
+
id: "_cardStyles",
|
|
21916
|
+
label: "Item styles"
|
|
21917
|
+
})
|
|
21918
|
+
],
|
|
21919
|
+
layout: collectionLayout,
|
|
21920
|
+
description: "Repeat items in a grid or stack layout.",
|
|
21921
|
+
tags: ["collection", "grid", "stack", "repeater"],
|
|
21922
|
+
icon: "LayoutList",
|
|
21923
|
+
styleTokens: { spacing: "lg" }
|
|
21924
|
+
});
|
|
21925
|
+
var collectionBlockDefinition = {
|
|
21926
|
+
manifest: collectionManifest
|
|
21927
|
+
};
|
|
21928
|
+
|
|
21929
|
+
// ../blocks/src/system/blocks/feature-cards.ts
|
|
21930
|
+
function grid3(props2, children) {
|
|
21931
|
+
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
21932
|
+
}
|
|
21933
|
+
var sectionHeading = stack(
|
|
21934
|
+
{ gap: "sm", className: "rb-feature-cards-heading rb-mx-auto rb-max-w-3xl rb-text-center" },
|
|
21935
|
+
[
|
|
21936
|
+
text(
|
|
21937
|
+
{
|
|
21938
|
+
as: "h2",
|
|
21939
|
+
className: "rb-feature-cards-title rb-text-center"
|
|
21940
|
+
},
|
|
21941
|
+
when("content.title"),
|
|
21942
|
+
bind("content.title")
|
|
21943
|
+
),
|
|
21944
|
+
richText(
|
|
21945
|
+
{
|
|
21946
|
+
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
21947
|
+
style: textColorStyle("mutedText")
|
|
21948
|
+
},
|
|
21949
|
+
when("content.description"),
|
|
21950
|
+
bind("content.description")
|
|
21951
|
+
)
|
|
21952
|
+
]
|
|
21953
|
+
);
|
|
21954
|
+
var featureCard = styledCard(
|
|
21955
|
+
[
|
|
21956
|
+
media(
|
|
21957
|
+
{
|
|
21958
|
+
className: "rb-feature-card-media rb-w-full rb-h-auto rb-object-cover",
|
|
21959
|
+
style: {
|
|
21960
|
+
aspectRatio: { $bind: { from: "card.aspectRatio" } }
|
|
21961
|
+
}
|
|
21962
|
+
},
|
|
21963
|
+
when("card.media"),
|
|
21964
|
+
bind("card.media")
|
|
21965
|
+
),
|
|
21966
|
+
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
21967
|
+
text(
|
|
21968
|
+
{
|
|
21969
|
+
as: "h3",
|
|
21970
|
+
className: "rb-feature-card-title"
|
|
21971
|
+
},
|
|
21972
|
+
bind("card.title")
|
|
21973
|
+
),
|
|
21974
|
+
richText(
|
|
21975
|
+
{
|
|
21976
|
+
className: "rb-feature-card-body rb-prose rb-max-w-none",
|
|
21977
|
+
style: textColorStyle("mutedText")
|
|
21978
|
+
},
|
|
21979
|
+
when("card.body"),
|
|
21980
|
+
bind("card.body")
|
|
21981
|
+
),
|
|
21982
|
+
ctaRow({
|
|
21983
|
+
collectionPath: "ctas",
|
|
21984
|
+
itemName: "cta",
|
|
21985
|
+
gap: "sm",
|
|
21986
|
+
justify: "start",
|
|
21987
|
+
containerClassName: "rb-mt-auto"
|
|
21988
|
+
})
|
|
21989
|
+
])
|
|
21990
|
+
],
|
|
21991
|
+
{
|
|
21992
|
+
stylesFrom: "content._cardStyles",
|
|
21993
|
+
backgroundFrom: "content._cardStyles.background",
|
|
21994
|
+
baseClassName: "rb-feature-card rb-relative rb-isolate rb-overflow-hidden rb-border rb-flex rb-h-full rb-flex-col"
|
|
21995
|
+
},
|
|
21996
|
+
repeat("content.cards", "card")
|
|
21997
|
+
);
|
|
21998
|
+
var cardsLayout = styledSection({
|
|
21999
|
+
children: styledContainer({
|
|
22000
|
+
rootType: "stack",
|
|
22001
|
+
rootProps: { gap: "xl" },
|
|
22002
|
+
children: [
|
|
22003
|
+
sectionHeading,
|
|
22004
|
+
grid3(
|
|
22005
|
+
{
|
|
22006
|
+
cols: {
|
|
22007
|
+
$bind: {
|
|
22008
|
+
from: "content.columns",
|
|
22009
|
+
fallback: 3,
|
|
22010
|
+
coerce: "number"
|
|
22011
|
+
}
|
|
22012
|
+
},
|
|
22013
|
+
gap: "lg"
|
|
22014
|
+
},
|
|
22015
|
+
[featureCard]
|
|
22016
|
+
)
|
|
22017
|
+
]
|
|
22018
|
+
}),
|
|
22019
|
+
baseClass: "",
|
|
22020
|
+
spacing: "medium"
|
|
20232
22021
|
});
|
|
20233
|
-
var
|
|
20234
|
-
id: "block.
|
|
20235
|
-
title: "
|
|
22022
|
+
var featureCardsConfig = {
|
|
22023
|
+
id: "block.feature-cards",
|
|
22024
|
+
title: "Feature Cards",
|
|
20236
22025
|
category: "layout",
|
|
22026
|
+
includeContainerStyles: true,
|
|
22027
|
+
titleSource: "title",
|
|
20237
22028
|
additionalFields: [
|
|
20238
|
-
|
|
20239
|
-
id: "
|
|
20240
|
-
type: "
|
|
20241
|
-
label: "
|
|
20242
|
-
|
|
20243
|
-
|
|
20244
|
-
|
|
20245
|
-
|
|
20246
|
-
|
|
20247
|
-
|
|
20248
|
-
|
|
20249
|
-
|
|
22029
|
+
{
|
|
22030
|
+
id: "title",
|
|
22031
|
+
type: "text",
|
|
22032
|
+
label: "Title",
|
|
22033
|
+
required: false,
|
|
22034
|
+
multiline: false,
|
|
22035
|
+
maxLength: 120
|
|
22036
|
+
},
|
|
22037
|
+
{
|
|
22038
|
+
id: "description",
|
|
22039
|
+
type: "richText",
|
|
22040
|
+
label: "Description",
|
|
22041
|
+
required: false,
|
|
22042
|
+
ui: {
|
|
22043
|
+
richTextVariant: "limited"
|
|
22044
|
+
}
|
|
22045
|
+
},
|
|
22046
|
+
{
|
|
20250
22047
|
id: "columns",
|
|
20251
22048
|
type: "select",
|
|
20252
22049
|
label: "Columns",
|
|
20253
|
-
|
|
22050
|
+
required: false,
|
|
20254
22051
|
defaultValue: "3",
|
|
22052
|
+
multiple: false,
|
|
20255
22053
|
options: [
|
|
20256
22054
|
{ value: "2", label: "2 columns" },
|
|
20257
22055
|
{ value: "3", label: "3 columns" },
|
|
20258
22056
|
{ value: "4", label: "4 columns" }
|
|
20259
22057
|
],
|
|
20260
|
-
ui: {
|
|
20261
|
-
intent: "display",
|
|
20262
|
-
visibleWhen: { field: "layout", equals: "grid" }
|
|
20263
|
-
}
|
|
20264
|
-
}),
|
|
20265
|
-
parseFieldDefinition({
|
|
20266
|
-
id: "gap",
|
|
20267
|
-
type: "select",
|
|
20268
|
-
label: "Gap",
|
|
20269
|
-
defaultValue: "medium",
|
|
20270
|
-
options: [
|
|
20271
|
-
{ value: "none", label: "None" },
|
|
20272
|
-
{ value: "compact", label: "Compact" },
|
|
20273
|
-
{ value: "cozy", label: "Cozy" },
|
|
20274
|
-
{ value: "medium", label: "Medium" },
|
|
20275
|
-
{ value: "comfortable", label: "Comfortable" },
|
|
20276
|
-
{ value: "spacious", label: "Spacious" }
|
|
20277
|
-
],
|
|
20278
22058
|
ui: { intent: "display" }
|
|
20279
|
-
}
|
|
20280
|
-
|
|
20281
|
-
"
|
|
20282
|
-
"
|
|
20283
|
-
|
|
20284
|
-
|
|
20285
|
-
|
|
20286
|
-
|
|
20287
|
-
|
|
20288
|
-
|
|
22059
|
+
},
|
|
22060
|
+
{
|
|
22061
|
+
id: "cards",
|
|
22062
|
+
type: "repeater",
|
|
22063
|
+
label: "Cards",
|
|
22064
|
+
required: false,
|
|
22065
|
+
minItems: 1,
|
|
22066
|
+
maxItems: 8,
|
|
22067
|
+
itemLabel: "Card",
|
|
22068
|
+
itemLabelSource: "title",
|
|
22069
|
+
allowConversion: true,
|
|
22070
|
+
ui: {
|
|
22071
|
+
intent: "content"
|
|
22072
|
+
},
|
|
22073
|
+
schema: {
|
|
22074
|
+
fields: [
|
|
22075
|
+
{
|
|
22076
|
+
id: "media",
|
|
22077
|
+
type: "media",
|
|
22078
|
+
label: "Image",
|
|
22079
|
+
required: false,
|
|
22080
|
+
mediaKinds: ["image"]
|
|
22081
|
+
},
|
|
22082
|
+
createAspectRatioField({
|
|
22083
|
+
id: "aspectRatio",
|
|
22084
|
+
label: "Image aspect ratio",
|
|
22085
|
+
defaultValue: "4/3",
|
|
22086
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
22087
|
+
}),
|
|
22088
|
+
{
|
|
22089
|
+
id: "title",
|
|
22090
|
+
type: "text",
|
|
22091
|
+
label: "Title",
|
|
22092
|
+
required: true,
|
|
22093
|
+
multiline: false,
|
|
22094
|
+
maxLength: 120
|
|
22095
|
+
},
|
|
22096
|
+
{
|
|
22097
|
+
id: "body",
|
|
22098
|
+
type: "richText",
|
|
22099
|
+
label: "Text",
|
|
22100
|
+
required: false,
|
|
22101
|
+
ui: {
|
|
22102
|
+
richTextVariant: "limited"
|
|
22103
|
+
}
|
|
22104
|
+
},
|
|
22105
|
+
createCtasRepeater({
|
|
22106
|
+
label: "Calls to action",
|
|
22107
|
+
itemLabel: "CTA",
|
|
22108
|
+
maxItems: 1,
|
|
22109
|
+
button: {
|
|
22110
|
+
variants: [
|
|
22111
|
+
{ value: "primary", label: "Primary" },
|
|
22112
|
+
{ value: "secondary", label: "Secondary" },
|
|
22113
|
+
{ value: "outline", label: "Outline" },
|
|
22114
|
+
{ value: "ghost", label: "Ghost" },
|
|
22115
|
+
{ value: "link", label: "Link" }
|
|
22116
|
+
],
|
|
22117
|
+
defaultVariant: "ghost"
|
|
22118
|
+
}
|
|
22119
|
+
})
|
|
22120
|
+
]
|
|
20289
22121
|
}
|
|
20290
|
-
|
|
22122
|
+
},
|
|
20291
22123
|
cardStylesField({
|
|
20292
22124
|
id: "_cardStyles",
|
|
20293
|
-
label: "
|
|
22125
|
+
label: "Card styles"
|
|
20294
22126
|
})
|
|
20295
22127
|
],
|
|
20296
|
-
layout:
|
|
20297
|
-
|
|
20298
|
-
|
|
20299
|
-
|
|
20300
|
-
|
|
20301
|
-
|
|
20302
|
-
|
|
20303
|
-
|
|
22128
|
+
layout: cardsLayout,
|
|
22129
|
+
variants: {
|
|
22130
|
+
cards: cardsLayout
|
|
22131
|
+
},
|
|
22132
|
+
defaultVariant: "cards",
|
|
22133
|
+
variantOptions: {
|
|
22134
|
+
cards: {
|
|
22135
|
+
label: "Cards",
|
|
22136
|
+
description: "A responsive grid of image cards with optional calls to action."
|
|
22137
|
+
}
|
|
22138
|
+
},
|
|
22139
|
+
description: "A card grid for offerings, services, classes, benefits, or featured links.",
|
|
22140
|
+
tags: ["cards", "features", "offerings", "services", "classes", "grid", "links"],
|
|
22141
|
+
icon: "PanelsTopLeft"
|
|
22142
|
+
};
|
|
22143
|
+
var featureCardsManifest = createBlockManifest(featureCardsConfig);
|
|
22144
|
+
var featureCardsBlockDefinition = {
|
|
22145
|
+
manifest: featureCardsManifest
|
|
20304
22146
|
};
|
|
20305
22147
|
|
|
20306
22148
|
// ../blocks/src/system/fields/carousel.ts
|
|
@@ -20388,69 +22230,6 @@ function createCarouselBehaviorFields(options = {}) {
|
|
|
20388
22230
|
return fields3;
|
|
20389
22231
|
}
|
|
20390
22232
|
|
|
20391
|
-
// ../blocks/src/system/fields/imageLayout.ts
|
|
20392
|
-
function createImageColSizeField(options = {}) {
|
|
20393
|
-
const {
|
|
20394
|
-
id = "imageColSize",
|
|
20395
|
-
label = "Image column size",
|
|
20396
|
-
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
20397
|
-
defaultValue = "1/3",
|
|
20398
|
-
uiIntent = "display",
|
|
20399
|
-
visibleWhen
|
|
20400
|
-
} = options;
|
|
20401
|
-
return {
|
|
20402
|
-
id,
|
|
20403
|
-
type: "select",
|
|
20404
|
-
label,
|
|
20405
|
-
description,
|
|
20406
|
-
required: false,
|
|
20407
|
-
defaultValue,
|
|
20408
|
-
multiple: false,
|
|
20409
|
-
options: [
|
|
20410
|
-
{ value: "1/4", label: "Small (1/4)" },
|
|
20411
|
-
{ value: "1/3", label: "Medium (1/3)" },
|
|
20412
|
-
{ value: "2/5", label: "Large (2/5)" },
|
|
20413
|
-
{ value: "1/2", label: "Extra large (1/2)" },
|
|
20414
|
-
{ value: "2/3", label: "Huge (2/3)" }
|
|
20415
|
-
],
|
|
20416
|
-
ui: {
|
|
20417
|
-
intent: uiIntent,
|
|
20418
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
20419
|
-
}
|
|
20420
|
-
};
|
|
20421
|
-
}
|
|
20422
|
-
function createImagePositionField(options = {}) {
|
|
20423
|
-
const {
|
|
20424
|
-
id = "imagePosition",
|
|
20425
|
-
label = "Image position",
|
|
20426
|
-
description = "Choose which side the image appears on.",
|
|
20427
|
-
defaultValue = "left",
|
|
20428
|
-
includeAlternate = false,
|
|
20429
|
-
uiIntent = "display",
|
|
20430
|
-
visibleWhen
|
|
20431
|
-
} = options;
|
|
20432
|
-
const positionOptions = [
|
|
20433
|
-
{ value: "left", label: "Left" },
|
|
20434
|
-
{ value: "right", label: "Right" },
|
|
20435
|
-
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
20436
|
-
];
|
|
20437
|
-
return {
|
|
20438
|
-
id,
|
|
20439
|
-
type: "select",
|
|
20440
|
-
label,
|
|
20441
|
-
description,
|
|
20442
|
-
required: false,
|
|
20443
|
-
defaultValue,
|
|
20444
|
-
multiple: false,
|
|
20445
|
-
// Spread to get a mutable array type without unsafe casts.
|
|
20446
|
-
options: [...positionOptions],
|
|
20447
|
-
ui: {
|
|
20448
|
-
intent: uiIntent,
|
|
20449
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
20450
|
-
}
|
|
20451
|
-
};
|
|
20452
|
-
}
|
|
20453
|
-
|
|
20454
22233
|
// ../blocks/src/system/blocks/media-text.ts
|
|
20455
22234
|
var mediaTextFrameCapability = defineFrameCapability([
|
|
20456
22235
|
"plain",
|
|
@@ -20574,26 +22353,13 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20574
22353
|
},
|
|
20575
22354
|
ui: { intent: "behavior" }
|
|
20576
22355
|
}),
|
|
20577
|
-
{
|
|
22356
|
+
createAspectRatioField({
|
|
20578
22357
|
id: "aspectRatio",
|
|
20579
|
-
type: "select",
|
|
20580
22358
|
label: "Media aspect ratio",
|
|
20581
22359
|
description: "Crop media to a consistent aspect ratio.",
|
|
20582
|
-
required: false,
|
|
20583
22360
|
defaultValue: "auto",
|
|
20584
|
-
|
|
20585
|
-
|
|
20586
|
-
{ value: "auto", label: "Auto (original)" },
|
|
20587
|
-
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
20588
|
-
{ value: "4/3", label: "4:3 (Standard)" },
|
|
20589
|
-
{ value: "1/1", label: "1:1 (Square)" },
|
|
20590
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
20591
|
-
],
|
|
20592
|
-
ui: {
|
|
20593
|
-
intent: "display",
|
|
20594
|
-
visibleWhen: { field: "images", notEquals: null }
|
|
20595
|
-
}
|
|
20596
|
-
},
|
|
22361
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
22362
|
+
}),
|
|
20597
22363
|
{
|
|
20598
22364
|
id: "text",
|
|
20599
22365
|
type: "richText",
|
|
@@ -20723,7 +22489,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20723
22489
|
whenImagesLength(0)
|
|
20724
22490
|
);
|
|
20725
22491
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
20726
|
-
const
|
|
22492
|
+
const defaultLayout2 = styledSection({
|
|
20727
22493
|
children: styledContainer({
|
|
20728
22494
|
rootType: "stack",
|
|
20729
22495
|
rootProps: { gap: "lg" },
|
|
@@ -20755,9 +22521,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20755
22521
|
spacing: "medium"
|
|
20756
22522
|
});
|
|
20757
22523
|
return {
|
|
20758
|
-
layout:
|
|
22524
|
+
layout: defaultLayout2,
|
|
20759
22525
|
variants: {
|
|
20760
|
-
default:
|
|
22526
|
+
default: defaultLayout2
|
|
20761
22527
|
},
|
|
20762
22528
|
defaultVariant: "default",
|
|
20763
22529
|
variantOptions: {
|
|
@@ -24157,7 +25923,7 @@ var embedBlockDefinition = {
|
|
|
24157
25923
|
};
|
|
24158
25924
|
|
|
24159
25925
|
// ../blocks/src/system/blocks/image-gallery.ts
|
|
24160
|
-
var
|
|
25926
|
+
var grid4 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
24161
25927
|
var galleryContainer = (children, opts) => {
|
|
24162
25928
|
const gap = opts?.gap ?? "md";
|
|
24163
25929
|
const withExtraClass = (baseClass) => opts?.className ? `${baseClass} ${opts.className}` : baseClass;
|
|
@@ -24237,7 +26003,7 @@ var galleryItem = (options) => stack(
|
|
|
24237
26003
|
],
|
|
24238
26004
|
repeat("content.images", "item")
|
|
24239
26005
|
);
|
|
24240
|
-
var gridLayout3 =
|
|
26006
|
+
var gridLayout3 = grid4(
|
|
24241
26007
|
{
|
|
24242
26008
|
className: "rb-grid rb-grid-cols-1 rb-gap-4 rb-sm-grid-cols-2 rb-md-grid-cols-3"
|
|
24243
26009
|
},
|
|
@@ -24840,7 +26606,7 @@ var imageGalleryBlockDefinition = {
|
|
|
24840
26606
|
};
|
|
24841
26607
|
|
|
24842
26608
|
// ../blocks/src/system/blocks/video-grid.ts
|
|
24843
|
-
var
|
|
26609
|
+
var grid5 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
24844
26610
|
var videoItem = (options) => stack(
|
|
24845
26611
|
{ gap: "xs", className: options.containerClassName },
|
|
24846
26612
|
[
|
|
@@ -24890,7 +26656,7 @@ var gridColumnsClass = (columns) => {
|
|
|
24890
26656
|
return "rb-grid rb-grid-cols-1 rb-gap-6 rb-sm-grid-cols-2 rb-md-grid-cols-3";
|
|
24891
26657
|
}
|
|
24892
26658
|
};
|
|
24893
|
-
var createGridLayout = (columns) =>
|
|
26659
|
+
var createGridLayout = (columns) => grid5(
|
|
24894
26660
|
{
|
|
24895
26661
|
className: gridColumnsClass(columns)
|
|
24896
26662
|
},
|
|
@@ -28054,6 +29820,40 @@ var systemBlockDefinitionsRaw = [
|
|
|
28054
29820
|
})
|
|
28055
29821
|
]
|
|
28056
29822
|
})),
|
|
29823
|
+
withDesignCapability("block.intro", introBlockDefinition, declareBlockDesignCapability({
|
|
29824
|
+
sectionSurfaces: "supported",
|
|
29825
|
+
contentFrames: ["plain", "panel"],
|
|
29826
|
+
itemSurfaces: "unsupported",
|
|
29827
|
+
headingDecorations: ["organic-squiggle"]
|
|
29828
|
+
}), defineBlockDesignMetadata({
|
|
29829
|
+
flow: bodyFlow,
|
|
29830
|
+
layoutProfiles: [
|
|
29831
|
+
layoutProfile({
|
|
29832
|
+
variantKey: "centered-copy",
|
|
29833
|
+
family: "centered",
|
|
29834
|
+
weight: "featured",
|
|
29835
|
+
bias: "soft"
|
|
29836
|
+
}),
|
|
29837
|
+
layoutProfile({
|
|
29838
|
+
variantKey: "statement-copy",
|
|
29839
|
+
family: "split",
|
|
29840
|
+
weight: "featured",
|
|
29841
|
+
bias: "merge"
|
|
29842
|
+
}),
|
|
29843
|
+
layoutProfile({
|
|
29844
|
+
variantKey: "statement-media",
|
|
29845
|
+
family: "media-text",
|
|
29846
|
+
weight: "featured",
|
|
29847
|
+
bias: "soft"
|
|
29848
|
+
}),
|
|
29849
|
+
layoutProfile({
|
|
29850
|
+
variantKey: "media-copy",
|
|
29851
|
+
family: "media-text",
|
|
29852
|
+
weight: "featured",
|
|
29853
|
+
bias: "soft"
|
|
29854
|
+
})
|
|
29855
|
+
]
|
|
29856
|
+
})),
|
|
28057
29857
|
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
28058
29858
|
flow: bodyFlow,
|
|
28059
29859
|
layoutProfiles: [
|
|
@@ -28114,9 +29914,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
28114
29914
|
flow: conversionFlow,
|
|
28115
29915
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
28116
29916
|
})),
|
|
28117
|
-
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(
|
|
29917
|
+
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
29918
|
+
sectionSurfaces: "supported",
|
|
29919
|
+
contentFrames: ["plain", "panel"],
|
|
29920
|
+
itemSurfaces: "supported",
|
|
29921
|
+
accordionIconSets: ["plus", "chevron", "caret", "minimal-cross"]
|
|
29922
|
+
}), standardEyebrowTreatments), defineBlockDesignMetadata({
|
|
28118
29923
|
flow: bodyFlow,
|
|
28119
|
-
layoutProfiles: [
|
|
29924
|
+
layoutProfiles: [
|
|
29925
|
+
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
29926
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
29927
|
+
]
|
|
28120
29928
|
})),
|
|
28121
29929
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
28122
29930
|
flow: siteChromeFlow,
|
|
@@ -28130,7 +29938,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
28130
29938
|
sectionSurfaces: "supported",
|
|
28131
29939
|
contentFrames: ["plain", "panel"],
|
|
28132
29940
|
itemSurfaces: "supported",
|
|
28133
|
-
testimonialCardTreatments: ["default", "accent-quote"]
|
|
29941
|
+
testimonialCardTreatments: ["default", "accent-quote"],
|
|
29942
|
+
headingDecorations: ["short-center-rule"]
|
|
28134
29943
|
}), defineBlockDesignMetadata({
|
|
28135
29944
|
flow: proofFlow,
|
|
28136
29945
|
layoutProfiles: [
|
|
@@ -28156,6 +29965,22 @@ var systemBlockDefinitionsRaw = [
|
|
|
28156
29965
|
flow: offeringsFlow,
|
|
28157
29966
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "grid", weight: "standard" })]
|
|
28158
29967
|
})),
|
|
29968
|
+
withDesignCapability("block.feature-cards", featureCardsBlockDefinition, declareBlockDesignCapability({
|
|
29969
|
+
sectionSurfaces: "supported",
|
|
29970
|
+
contentFrames: ["plain", "panel"],
|
|
29971
|
+
itemSurfaces: "supported",
|
|
29972
|
+
headingDecorations: ["short-center-rule"]
|
|
29973
|
+
}), defineBlockDesignMetadata({
|
|
29974
|
+
flow: offeringsFlow,
|
|
29975
|
+
layoutProfiles: [
|
|
29976
|
+
layoutProfile({
|
|
29977
|
+
variantKey: "cards",
|
|
29978
|
+
family: "grid",
|
|
29979
|
+
weight: "standard",
|
|
29980
|
+
bias: "soft"
|
|
29981
|
+
})
|
|
29982
|
+
]
|
|
29983
|
+
})),
|
|
28159
29984
|
withDesignCapability("block.media-text", mediaTextBlockDefinition, mediaPanelCapable(), defineBlockDesignMetadata({
|
|
28160
29985
|
flow: mediaFlow,
|
|
28161
29986
|
layoutProfiles: [
|
|
@@ -31767,8 +33592,10 @@ import { z as z66 } from "zod";
|
|
|
31767
33592
|
var SYSTEM_BLOCK_KINDS = [
|
|
31768
33593
|
// Layout blocks
|
|
31769
33594
|
"block.hero",
|
|
33595
|
+
"block.intro",
|
|
31770
33596
|
"block.columns",
|
|
31771
33597
|
"block.collection",
|
|
33598
|
+
"block.feature-cards",
|
|
31772
33599
|
"block.media-text",
|
|
31773
33600
|
"block.cta-full",
|
|
31774
33601
|
"block.single-button",
|