@riverbankcms/sdk 0.75.0 → 0.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/{PreviewEditorSidebar-U2IHCBYN.mjs → PreviewEditorSidebar-XSX7QKHQ.mjs} +1179 -519
- package/dist/{PreviewEditorUI-ZGH2RQNP.mjs → PreviewEditorUI-YZNEZ3QD.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +528 -20
- package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +11 -3
- 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 -1
- 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/manifest/utils.d.ts +24 -0
- 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/events.d.ts +3 -1
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +38 -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/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 +11 -2
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- 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/runtime/nodes/booking-form.interactive.d.ts +3 -27
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +163 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/shared/utils/bookingRoute.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/index.d.ts +2 -1
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
- 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 +4 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +3 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +5 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +4 -1
- package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
- 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 +3 -3
- 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/themeOverlay.d.ts +21 -3
- 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/components.d.ts +2 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
- 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/index.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +6 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +21 -1
- package/dist/_dts/sdk/src/rendering/server.d.ts +4 -3
- 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/mock-themes/all.d.ts +45 -0
- 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 +280 -0
- 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 +118 -2
- 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 +364 -5
- 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-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
- package/dist/{chunk-ZSHFGFUG.mjs → chunk-ANKDYZ2E.mjs} +1 -1
- package/dist/{chunk-BGMNDF6T.mjs → chunk-EAWHBECW.mjs} +476 -153
- package/dist/{chunk-RWXQBRQZ.mjs → chunk-GSQX43EZ.mjs} +450 -63
- package/dist/{chunk-GFE74WRD.mjs → chunk-WLQBJN2Z.mjs} +3275 -435
- package/dist/cli/index.mjs +2023 -181
- package/dist/client/{accordion-T2UD2ZTH.mjs → accordion-RZMQSYLR.mjs} +1 -1
- package/dist/client/{bookingForm-GUP75FKN.mjs → bookingForm-NF4ASVNV.mjs} +3 -13
- package/dist/client/bookings.mjs +103 -11
- package/dist/client/{carousel-2NQA6V57.mjs → carousel-LDX47ZIK.mjs} +1 -1
- package/dist/client/{cart-5TFIAFDS.mjs → cart-RGXDS5F4.mjs} +4 -4
- package/dist/client/{checkout-TP4WAHZE.mjs → checkout-P7WWSNNY.mjs} +4 -4
- package/dist/client/{chunk-ZLMS67RR.mjs → chunk-E2TDNXCL.mjs} +1 -1
- package/dist/client/{chunk-NWOUL6JY.mjs → chunk-GMVTOKYG.mjs} +3 -3
- package/dist/client/{chunk-CY2ZTSE5.mjs → chunk-JNC7CGHX.mjs} +1 -1
- package/dist/client/{chunk-VUAOE3AG.mjs → chunk-L3DNHIJX.mjs} +4 -4
- package/dist/client/{chunk-FU2QRZMX.mjs → chunk-R56FQ3RR.mjs} +163 -24
- package/dist/client/{chunk-WJXXNDSE.mjs → chunk-UFSWADAO.mjs} +1 -1
- package/dist/client/client.mjs +4392 -2504
- package/dist/client/{courseRegistration-5DPU6PDY.mjs → courseRegistration-7F65K5ZR.mjs} +3 -3
- package/dist/client/{eventCalendar-F3GZGTEF.mjs → eventCalendar-GLSC5KTL.mjs} +5 -5
- package/dist/client/{eventCombined-BQOB6QMY.mjs → eventCombined-ZHK4WKUR.mjs} +5 -5
- package/dist/client/{eventDetails-PEM2EJWE.mjs → eventDetails-E3PJYBIN.mjs} +5 -5
- package/dist/client/{eventListing-YMIQPVME.mjs → eventListing-EMS3WC3E.mjs} +5 -5
- package/dist/client/{eventRegistration-4I6ZNDUF.mjs → eventRegistration-NZOTVNPI.mjs} +5 -5
- package/dist/client/{form-ZJVAYZ6G.mjs → form-ETFZFATW.mjs} +1 -1
- package/dist/client/{headerSection-TOT5MGTF.mjs → headerSection-4LBP7ULT.mjs} +2 -2
- package/dist/client/hooks.mjs +1918 -293
- package/dist/client/{locationMap-J66NZREU.mjs → locationMap-5M655YSJ.mjs} +1 -1
- package/dist/client/{newsletterForm-ET2XUMRO.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
- package/dist/client/{productDetail-C2XIH7C5.mjs → productDetail-O4DOCWQG.mjs} +4 -4
- package/dist/client/{productList-T2AZLFTP.mjs → productList-A5RO5WIS.mjs} +4 -4
- package/dist/client/rendering/client.mjs +3328 -3177
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +5461 -3584
- package/dist/client/{shop-UZ6IUZXD.mjs → shop-L4MZH4I2.mjs} +4 -4
- package/dist/preview-next/chrome.css +1 -1
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +2 -148
- package/dist/preview-next/editor-chrome.css +179 -0
- package/dist/{sdk-runtime-JCUQM63Y.mjs → sdk-runtime-Q6MTR4KL.mjs} +5 -5
- package/dist/server/components.mjs +2983 -1093
- package/dist/server/config-validation.mjs +1921 -293
- package/dist/server/config.mjs +1921 -293
- package/dist/server/data.mjs +1918 -293
- package/dist/server/index.mjs +31 -2
- package/dist/server/next.mjs +2951 -1043
- package/dist/server/page-converter.mjs +1894 -281
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2995 -1096
- package/dist/server/rendering.mjs +2988 -1098
- package/dist/server/routing.mjs +1963 -275
- package/dist/server/server.mjs +1932 -288
- package/dist/server/theme-bridge.mjs +158 -1
- package/dist/server/theme.mjs +158 -1
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +0 -8
- /package/dist/client/{chunk-2PHQZ666.mjs → chunk-JEZECJ3W.mjs} +0 -0
package/dist/cli/index.mjs
CHANGED
|
@@ -830,6 +830,7 @@ var init_validation_constants = __esm({
|
|
|
830
830
|
"layout.headerRootClass",
|
|
831
831
|
"layout.footerRootClass",
|
|
832
832
|
"layout.headerRootStyle",
|
|
833
|
+
"layout.headerSectionBackground",
|
|
833
834
|
"layout.footerRootStyle",
|
|
834
835
|
// UI (ui.ts)
|
|
835
836
|
"ui.headerNavLinkClass",
|
|
@@ -1791,10 +1792,12 @@ function defineBlockDesignCapability(capability) {
|
|
|
1791
1792
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
1792
1793
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
1793
1794
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
1794
|
-
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
1795
|
+
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
1796
|
+
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
1797
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
1795
1798
|
};
|
|
1796
1799
|
}
|
|
1797
|
-
var plainFrame, tileTreatmentValues, eyebrowTreatmentValues;
|
|
1800
|
+
var plainFrame, tileTreatmentValues, eyebrowTreatmentValues, visibleHeadingDecorationFamilyValues, visibleHeadingDecorationPlacementValues, headingDecorationOverrideValues, headingDecorationColorTokenValues, accordionIconSetValues, accordionIconColorTokenValues, accordionIconMotionValues;
|
|
1798
1801
|
var init_types2 = __esm({
|
|
1799
1802
|
"../theme-core/src/site-styles/types.ts"() {
|
|
1800
1803
|
plainFrame = {
|
|
@@ -1812,6 +1815,47 @@ var init_types2 = __esm({
|
|
|
1812
1815
|
"pill-bounce",
|
|
1813
1816
|
"accent-pill-bounce"
|
|
1814
1817
|
];
|
|
1818
|
+
visibleHeadingDecorationFamilyValues = [
|
|
1819
|
+
"organic-squiggle",
|
|
1820
|
+
"short-center-rule"
|
|
1821
|
+
];
|
|
1822
|
+
visibleHeadingDecorationPlacementValues = [
|
|
1823
|
+
"after-heading",
|
|
1824
|
+
"between-heading-and-body",
|
|
1825
|
+
"under-centered-heading"
|
|
1826
|
+
];
|
|
1827
|
+
headingDecorationOverrideValues = [
|
|
1828
|
+
"site-default",
|
|
1829
|
+
"on",
|
|
1830
|
+
"off"
|
|
1831
|
+
];
|
|
1832
|
+
headingDecorationColorTokenValues = [
|
|
1833
|
+
"text",
|
|
1834
|
+
"primary",
|
|
1835
|
+
"secondary",
|
|
1836
|
+
"accent",
|
|
1837
|
+
"border",
|
|
1838
|
+
"muted"
|
|
1839
|
+
];
|
|
1840
|
+
accordionIconSetValues = [
|
|
1841
|
+
"plus",
|
|
1842
|
+
"chevron",
|
|
1843
|
+
"caret",
|
|
1844
|
+
"minimal-cross"
|
|
1845
|
+
];
|
|
1846
|
+
accordionIconColorTokenValues = [
|
|
1847
|
+
"text",
|
|
1848
|
+
"muted",
|
|
1849
|
+
"primary",
|
|
1850
|
+
"secondary",
|
|
1851
|
+
"accent",
|
|
1852
|
+
"current"
|
|
1853
|
+
];
|
|
1854
|
+
accordionIconMotionValues = [
|
|
1855
|
+
"none",
|
|
1856
|
+
"rotate",
|
|
1857
|
+
"swap"
|
|
1858
|
+
];
|
|
1815
1859
|
}
|
|
1816
1860
|
});
|
|
1817
1861
|
|
|
@@ -2007,6 +2051,25 @@ var init_blockAppearancePresets = __esm({
|
|
|
2007
2051
|
emphasis: "high"
|
|
2008
2052
|
}
|
|
2009
2053
|
}),
|
|
2054
|
+
defineBlockAppearancePreset({
|
|
2055
|
+
kind: "block-design",
|
|
2056
|
+
id: "intro-soft-earth-statement",
|
|
2057
|
+
target: "intro",
|
|
2058
|
+
label: "Soft Earth intro statement",
|
|
2059
|
+
blockKinds: ["block.intro"],
|
|
2060
|
+
design: {
|
|
2061
|
+
sectionSurface: "base",
|
|
2062
|
+
contentFrame: plainFrame,
|
|
2063
|
+
itemSurface: "none",
|
|
2064
|
+
transitionAfter: "soft-fade-short",
|
|
2065
|
+
emphasis: "high",
|
|
2066
|
+
headingDecoration: {
|
|
2067
|
+
family: "organic-squiggle",
|
|
2068
|
+
placement: "after-heading",
|
|
2069
|
+
colorToken: "primary"
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
}),
|
|
2010
2073
|
defineBlockAppearancePreset({
|
|
2011
2074
|
kind: "block-design",
|
|
2012
2075
|
id: "offerings-calm-list",
|
|
@@ -2021,6 +2084,25 @@ var init_blockAppearancePresets = __esm({
|
|
|
2021
2084
|
emphasis: "medium"
|
|
2022
2085
|
}
|
|
2023
2086
|
}),
|
|
2087
|
+
defineBlockAppearancePreset({
|
|
2088
|
+
kind: "block-design",
|
|
2089
|
+
id: "feature-cards-soft-earth-offerings",
|
|
2090
|
+
target: "feature-cards",
|
|
2091
|
+
label: "Soft Earth offering cards",
|
|
2092
|
+
blockKinds: ["block.feature-cards"],
|
|
2093
|
+
design: {
|
|
2094
|
+
sectionSurface: "base",
|
|
2095
|
+
contentFrame: plainFrame,
|
|
2096
|
+
itemSurface: "raised",
|
|
2097
|
+
transitionAfter: "none",
|
|
2098
|
+
emphasis: "high",
|
|
2099
|
+
headingDecoration: {
|
|
2100
|
+
family: "short-center-rule",
|
|
2101
|
+
placement: "under-centered-heading",
|
|
2102
|
+
colorToken: "primary"
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
}),
|
|
2024
2106
|
defineBlockAppearancePreset({
|
|
2025
2107
|
kind: "block-design",
|
|
2026
2108
|
id: "events-base-calendar",
|
|
@@ -2149,6 +2231,26 @@ var init_blockAppearancePresets = __esm({
|
|
|
2149
2231
|
testimonialCardTreatment: "accent-quote"
|
|
2150
2232
|
}
|
|
2151
2233
|
}),
|
|
2234
|
+
defineBlockAppearancePreset({
|
|
2235
|
+
kind: "block-design",
|
|
2236
|
+
id: "testimonials-soft-earth-proof-band",
|
|
2237
|
+
target: "testimonials",
|
|
2238
|
+
label: "Soft Earth proof band",
|
|
2239
|
+
blockKinds: ["block.testimonials"],
|
|
2240
|
+
design: {
|
|
2241
|
+
sectionSurface: "brand-depth-band",
|
|
2242
|
+
contentFrame: plainFrame,
|
|
2243
|
+
itemSurface: "none",
|
|
2244
|
+
transitionAfter: "soft-fade-short",
|
|
2245
|
+
emphasis: "high",
|
|
2246
|
+
testimonialCardTreatment: "accent-quote",
|
|
2247
|
+
headingDecoration: {
|
|
2248
|
+
family: "short-center-rule",
|
|
2249
|
+
placement: "under-centered-heading",
|
|
2250
|
+
colorToken: "border"
|
|
2251
|
+
}
|
|
2252
|
+
}
|
|
2253
|
+
}),
|
|
2152
2254
|
defineBlockAppearancePreset({
|
|
2153
2255
|
kind: "block-design",
|
|
2154
2256
|
id: "faq-base-accordion",
|
|
@@ -2177,6 +2279,25 @@ var init_blockAppearancePresets = __esm({
|
|
|
2177
2279
|
emphasis: "low"
|
|
2178
2280
|
}
|
|
2179
2281
|
}),
|
|
2282
|
+
defineBlockAppearancePreset({
|
|
2283
|
+
kind: "block-design",
|
|
2284
|
+
id: "faq-soft-earth-two-column",
|
|
2285
|
+
target: "faq",
|
|
2286
|
+
label: "Soft Earth two-column FAQ",
|
|
2287
|
+
blockKinds: ["block.faq"],
|
|
2288
|
+
design: {
|
|
2289
|
+
sectionSurface: "base",
|
|
2290
|
+
contentFrame: plainFrame,
|
|
2291
|
+
itemSurface: "flat",
|
|
2292
|
+
transitionAfter: "none",
|
|
2293
|
+
emphasis: "medium",
|
|
2294
|
+
accordionIconTreatment: {
|
|
2295
|
+
iconSet: "plus",
|
|
2296
|
+
colorToken: "primary",
|
|
2297
|
+
motion: "swap"
|
|
2298
|
+
}
|
|
2299
|
+
}
|
|
2300
|
+
}),
|
|
2180
2301
|
defineBlockAppearancePreset({
|
|
2181
2302
|
kind: "block-design",
|
|
2182
2303
|
id: "contact-form-panel",
|
|
@@ -2947,6 +3068,103 @@ var init_confident_chip = __esm({
|
|
|
2947
3068
|
}
|
|
2948
3069
|
});
|
|
2949
3070
|
|
|
3071
|
+
// ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
3072
|
+
var earthPill;
|
|
3073
|
+
var init_earth_pill = __esm({
|
|
3074
|
+
"../theme-core/src/buttons/personalities/earth-pill.ts"() {
|
|
3075
|
+
init_types4();
|
|
3076
|
+
earthPill = defineButtonPersonality({
|
|
3077
|
+
id: "earth-pill",
|
|
3078
|
+
name: "Earth Pill",
|
|
3079
|
+
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
3080
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
3081
|
+
buttonSystem: {
|
|
3082
|
+
global: {
|
|
3083
|
+
cornerStyle: "pill",
|
|
3084
|
+
shadow: "low",
|
|
3085
|
+
textTransform: "none",
|
|
3086
|
+
fontWeight: 500,
|
|
3087
|
+
borderWidth: 1,
|
|
3088
|
+
hoverTransform: "lift",
|
|
3089
|
+
hoverColor: "none",
|
|
3090
|
+
typography: "body",
|
|
3091
|
+
paddingPreset: "default"
|
|
3092
|
+
},
|
|
3093
|
+
sizes: {
|
|
3094
|
+
sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
|
|
3095
|
+
md: { padding: "0.625rem 1.35rem" },
|
|
3096
|
+
lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
|
|
3097
|
+
xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
|
|
3098
|
+
},
|
|
3099
|
+
variants: [
|
|
3100
|
+
{
|
|
3101
|
+
id: "primary",
|
|
3102
|
+
name: "Primary",
|
|
3103
|
+
enabled: true,
|
|
3104
|
+
priority: 1,
|
|
3105
|
+
background: { type: "solid", colorToken: "primary" },
|
|
3106
|
+
textColorToken: "primaryForeground",
|
|
3107
|
+
borderRadius: "rounded-full",
|
|
3108
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
3109
|
+
effects: {
|
|
3110
|
+
hover: [
|
|
3111
|
+
{ effectId: "lift", options: { translateY: "-1px" } },
|
|
3112
|
+
{ effectId: "background-on-hover", options: { colorToken: "accent" } }
|
|
3113
|
+
],
|
|
3114
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
3115
|
+
}
|
|
3116
|
+
},
|
|
3117
|
+
{
|
|
3118
|
+
id: "secondary",
|
|
3119
|
+
name: "Secondary",
|
|
3120
|
+
enabled: true,
|
|
3121
|
+
priority: 2,
|
|
3122
|
+
background: { type: "transparent" },
|
|
3123
|
+
textColorToken: "primary",
|
|
3124
|
+
borderRadius: "rounded-full",
|
|
3125
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
3126
|
+
effects: {
|
|
3127
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
3128
|
+
}
|
|
3129
|
+
},
|
|
3130
|
+
{
|
|
3131
|
+
id: "outline",
|
|
3132
|
+
name: "Outline",
|
|
3133
|
+
enabled: true,
|
|
3134
|
+
priority: 3,
|
|
3135
|
+
background: { type: "transparent" },
|
|
3136
|
+
textColorToken: "text",
|
|
3137
|
+
borderRadius: "rounded-full",
|
|
3138
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
3139
|
+
effects: {
|
|
3140
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
|
|
3141
|
+
}
|
|
3142
|
+
},
|
|
3143
|
+
{
|
|
3144
|
+
id: "ghost",
|
|
3145
|
+
name: "Ghost",
|
|
3146
|
+
enabled: true,
|
|
3147
|
+
priority: 3,
|
|
3148
|
+
background: { type: "transparent" },
|
|
3149
|
+
textColorToken: "primary",
|
|
3150
|
+
borderRadius: "rounded-full",
|
|
3151
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
3152
|
+
sizes: {
|
|
3153
|
+
sm: { padding: "0.25rem 0", fontSize: "text-sm" },
|
|
3154
|
+
md: { padding: "0.375rem 0" },
|
|
3155
|
+
lg: { padding: "0.5rem 0", fontSize: "text-lg" },
|
|
3156
|
+
xl: { padding: "0.625rem 0", fontSize: "text-xl" }
|
|
3157
|
+
},
|
|
3158
|
+
effects: {
|
|
3159
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
|
|
3160
|
+
}
|
|
3161
|
+
}
|
|
3162
|
+
]
|
|
3163
|
+
}
|
|
3164
|
+
});
|
|
3165
|
+
}
|
|
3166
|
+
});
|
|
3167
|
+
|
|
2950
3168
|
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
2951
3169
|
var editorialLink;
|
|
2952
3170
|
var init_editorial_link = __esm({
|
|
@@ -3441,6 +3659,7 @@ var init_personalities = __esm({
|
|
|
3441
3659
|
"../theme-core/src/buttons/personalities/index.ts"() {
|
|
3442
3660
|
init_brushed_wash();
|
|
3443
3661
|
init_confident_chip();
|
|
3662
|
+
init_earth_pill();
|
|
3444
3663
|
init_editorial_link();
|
|
3445
3664
|
init_ink_stamp();
|
|
3446
3665
|
init_pebble();
|
|
@@ -3449,6 +3668,7 @@ var init_personalities = __esm({
|
|
|
3449
3668
|
init_types4();
|
|
3450
3669
|
buttonPersonalities = [
|
|
3451
3670
|
softPill,
|
|
3671
|
+
earthPill,
|
|
3452
3672
|
confidentChip,
|
|
3453
3673
|
editorialLink,
|
|
3454
3674
|
pebble,
|
|
@@ -4286,7 +4506,7 @@ var init_tokenOrColor = __esm({
|
|
|
4286
4506
|
]);
|
|
4287
4507
|
}
|
|
4288
4508
|
});
|
|
4289
|
-
var axesSchema, colourHexString, paletteColorSchema, paletteMetaSchema, paletteSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, boxBackgroundOverlaySchema, boxBackgroundSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle, headerVariant, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerContainerSchema, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, navEffectsSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, gradientsSchema, themeSchema;
|
|
4509
|
+
var axesSchema, colourHexString, paletteColorSchema, paletteMetaSchema, paletteSchema, typographyStyleSchema, bodyTypographyStyleSchema, headingSizeSchema, headingTypographyOverridesSchema, headingTypographyStyleSchema, proseLinkUnderlineStyleSchema, proseLinkUnderlineThicknessSchema, proseLinkUnderlineOffsetSchema, proseLinkStyleSchema, semanticSpacingSchema, boxRoundedSchema, boxBackgroundOverlaySchema, boxBackgroundSchema, noHeadingDecorationSchema, visibleHeadingDecorationSchema, headingDecorationSchema, accordionIconTreatmentSchema, sectionStylesOverrideSchema, containerStylesOverrideSchema, cardBorderOverrideSchema, cardStylesOverrideSchema, blockStyleOverridesSchema, blockThemeOverrideSchema, typographyScaleSchema, typographySchema, spaceSchema, corners, shadow, border, motion, inputStyle, headerVariant, headerPositioning, headerNavStyle, navFontWeight, headerMaxWidth, headerContainerSchema, headerBorderSchema, logoStyleSchema, headerLogoTextSchema, navEffectsSchema, dropdownStyleSchema, headerCtaGapSchema, headerCtaTreatmentSchema, navContainerSchema, headerBackgroundSchema, headerSchema, footerVariant, footerMaxWidth, footerMode, footerNavLayoutMode, footerNavLayoutAlign, footerSpacing, footerLogoPlacement, footerLogoSize, footerLogoMaxHeight, footerBottomTextLinkStyleSchema, footerBottomBarSchema, footerNavLayoutSchema, footerLogoSchema, footerSchema, containerPaddingPresetSchema, layoutSchema, heroTypographySizeSchema, heroTypographyLineHeightSchema, heroResponsiveTypographySchema, heroTypographySchema, heroSchema, bodyTextIntroTypographySizeSchema, bodyTextSchema, gradientsSchema, themeSchema;
|
|
4290
4510
|
var init_schema3 = __esm({
|
|
4291
4511
|
"../theme-core/src/schema.ts"() {
|
|
4292
4512
|
init_media();
|
|
@@ -4380,12 +4600,36 @@ var init_schema3 = __esm({
|
|
|
4380
4600
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
4381
4601
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
4382
4602
|
});
|
|
4603
|
+
noHeadingDecorationSchema = z.object({
|
|
4604
|
+
family: z.literal("none"),
|
|
4605
|
+
placement: z.literal("none")
|
|
4606
|
+
});
|
|
4607
|
+
visibleHeadingDecorationSchema = z.object({
|
|
4608
|
+
family: z.enum(visibleHeadingDecorationFamilyValues),
|
|
4609
|
+
placement: z.enum(visibleHeadingDecorationPlacementValues),
|
|
4610
|
+
colorToken: z.enum(headingDecorationColorTokenValues).optional()
|
|
4611
|
+
});
|
|
4612
|
+
headingDecorationSchema = z.union([
|
|
4613
|
+
noHeadingDecorationSchema,
|
|
4614
|
+
visibleHeadingDecorationSchema
|
|
4615
|
+
]);
|
|
4616
|
+
accordionIconTreatmentSchema = z.object({
|
|
4617
|
+
iconSet: z.enum(accordionIconSetValues),
|
|
4618
|
+
colorToken: z.enum(accordionIconColorTokenValues),
|
|
4619
|
+
openColorToken: z.enum(accordionIconColorTokenValues).optional(),
|
|
4620
|
+
motion: z.enum(accordionIconMotionValues)
|
|
4621
|
+
});
|
|
4383
4622
|
sectionStylesOverrideSchema = z.object({
|
|
4384
4623
|
background: boxBackgroundSchema.nullable().optional(),
|
|
4385
4624
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
4386
4625
|
minHeight: z.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
4387
4626
|
tileTreatment: z.enum(tileTreatmentValues).nullable().optional(),
|
|
4388
|
-
eyebrowTreatment: z.enum(eyebrowTreatmentValues).nullable().optional()
|
|
4627
|
+
eyebrowTreatment: z.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
4628
|
+
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
4629
|
+
// Author-level override consumed by later block/editor rendering phases.
|
|
4630
|
+
// Keeping it in section styles lets existing block save APIs persist it.
|
|
4631
|
+
headingDecorationOverride: z.enum(headingDecorationOverrideValues).nullable().optional(),
|
|
4632
|
+
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
4389
4633
|
});
|
|
4390
4634
|
containerStylesOverrideSchema = z.object({
|
|
4391
4635
|
background: boxBackgroundSchema.nullable().optional(),
|
|
@@ -5075,7 +5319,7 @@ var init_soft_natural = __esm({
|
|
|
5075
5319
|
});
|
|
5076
5320
|
|
|
5077
5321
|
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
5078
|
-
var warmNeutralClay, warmNeutralCream, warmNeutralForest;
|
|
5322
|
+
var warmNeutralClay, warmNeutralCream, warmNeutralSoftEarth, warmNeutralForest;
|
|
5079
5323
|
var init_warm_neutral = __esm({
|
|
5080
5324
|
"../theme-core/src/palette/variants/warm-neutral.ts"() {
|
|
5081
5325
|
init_types11();
|
|
@@ -5123,6 +5367,28 @@ var init_warm_neutral = __esm({
|
|
|
5123
5367
|
{ name: "border", hex: "#e0d2b8" }
|
|
5124
5368
|
]
|
|
5125
5369
|
});
|
|
5370
|
+
warmNeutralSoftEarth = definePaletteVariant({
|
|
5371
|
+
id: "warm-neutral-soft-earth",
|
|
5372
|
+
name: "Warm Neutral \u2014 Soft Earth",
|
|
5373
|
+
description: "Cream ground with terracotta primary, clay accents, and olive depth.",
|
|
5374
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
5375
|
+
mode: "light",
|
|
5376
|
+
colors: [
|
|
5377
|
+
{ name: "primary", hex: "#a8573d" },
|
|
5378
|
+
{ name: "secondary", hex: "#72765c" },
|
|
5379
|
+
{ name: "accent", hex: "#c87557" },
|
|
5380
|
+
{ name: "success", hex: "#687854" },
|
|
5381
|
+
{ name: "warning", hex: "#b7863e" },
|
|
5382
|
+
{ name: "destructive", hex: "#a54b3c" },
|
|
5383
|
+
{ name: "background", hex: "#fbf6eb" },
|
|
5384
|
+
{ name: "surface", hex: "#fffdf7" },
|
|
5385
|
+
{ name: "surfaceAlt", hex: "#f0e4d3" },
|
|
5386
|
+
{ name: "muted", hex: "#eadbc6" },
|
|
5387
|
+
{ name: "text", hex: "#30281f" },
|
|
5388
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
5389
|
+
{ name: "border", hex: "#d9c8b2" }
|
|
5390
|
+
]
|
|
5391
|
+
});
|
|
5126
5392
|
warmNeutralForest = definePaletteVariant({
|
|
5127
5393
|
id: "warm-neutral-forest",
|
|
5128
5394
|
name: "Warm Neutral \u2014 Forest",
|
|
@@ -5169,6 +5435,7 @@ var init_variants = __esm({
|
|
|
5169
5435
|
// Warm-neutral family
|
|
5170
5436
|
warmNeutralClay,
|
|
5171
5437
|
warmNeutralCream,
|
|
5438
|
+
warmNeutralSoftEarth,
|
|
5172
5439
|
warmNeutralForest,
|
|
5173
5440
|
// High-contrast family
|
|
5174
5441
|
highContrastInk,
|
|
@@ -5196,6 +5463,12 @@ var init_customizableSurfaces = __esm({
|
|
|
5196
5463
|
function asHeaderLookId(value) {
|
|
5197
5464
|
return value;
|
|
5198
5465
|
}
|
|
5466
|
+
function asHeaderLayoutId(value) {
|
|
5467
|
+
return value;
|
|
5468
|
+
}
|
|
5469
|
+
function asHeaderStyleId(value) {
|
|
5470
|
+
return value;
|
|
5471
|
+
}
|
|
5199
5472
|
function baseHeader(theme) {
|
|
5200
5473
|
const {
|
|
5201
5474
|
navLinkStyle: _navLinkStyle,
|
|
@@ -5214,6 +5487,37 @@ function baseHeader(theme) {
|
|
|
5214
5487
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
5215
5488
|
};
|
|
5216
5489
|
}
|
|
5490
|
+
function supportedLayouts(ids) {
|
|
5491
|
+
return ids.map(asHeaderLayoutId);
|
|
5492
|
+
}
|
|
5493
|
+
function headerStyleRepairChain(values) {
|
|
5494
|
+
return values.map(asHeaderStyleId);
|
|
5495
|
+
}
|
|
5496
|
+
function getHeaderLayout(id) {
|
|
5497
|
+
return headerLayoutsById.get(id) ?? null;
|
|
5498
|
+
}
|
|
5499
|
+
function getHeaderStyle(id) {
|
|
5500
|
+
return headerStylesById.get(id) ?? null;
|
|
5501
|
+
}
|
|
5502
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
5503
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
5504
|
+
}
|
|
5505
|
+
function getHeaderStyleOrThrow(id) {
|
|
5506
|
+
const style = getHeaderStyle(id);
|
|
5507
|
+
if (!style) {
|
|
5508
|
+
throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
5509
|
+
}
|
|
5510
|
+
return style;
|
|
5511
|
+
}
|
|
5512
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
5513
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
5514
|
+
}
|
|
5515
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
5516
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter((styleId) => {
|
|
5517
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
5518
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
5519
|
+
});
|
|
5520
|
+
}
|
|
5217
5521
|
function solidBrandHeader(theme) {
|
|
5218
5522
|
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
5219
5523
|
return {
|
|
@@ -5444,21 +5748,304 @@ function floatingGlassHeader(theme) {
|
|
|
5444
5748
|
}
|
|
5445
5749
|
};
|
|
5446
5750
|
}
|
|
5751
|
+
function headerConfigurationKey(configuration) {
|
|
5752
|
+
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
5753
|
+
}
|
|
5447
5754
|
function findHeaderLook(id) {
|
|
5448
5755
|
return headerLooksById.get(id);
|
|
5449
5756
|
}
|
|
5450
|
-
var headerLookCatalog, headerLooksById;
|
|
5757
|
+
var headerLayoutCatalog, headerStyleCatalog, headerLayoutsById, headerStylesById, headerStyleCompatibilityOrder, legacyHeaderLookAliases, legacyHeaderLookAliasesById, headerLookCatalog, guaranteedFallbackHeaderLayoutId, guaranteedFallbackHeaderStyleId, headerLooksById;
|
|
5451
5758
|
var init_headerLooks = __esm({
|
|
5452
5759
|
"../theme-core/src/site-styles/headerLooks.ts"() {
|
|
5453
5760
|
init_headerCtaVariants();
|
|
5454
5761
|
init_customizableSurfaces();
|
|
5455
5762
|
init_types2();
|
|
5763
|
+
headerLayoutCatalog = [
|
|
5764
|
+
{
|
|
5765
|
+
id: asHeaderLayoutId("classic"),
|
|
5766
|
+
label: "Classic",
|
|
5767
|
+
description: "Logo and navigation in one practical horizontal row.",
|
|
5768
|
+
structure: "inline-classic",
|
|
5769
|
+
variant: "classic",
|
|
5770
|
+
defaultPositioning: "sticky",
|
|
5771
|
+
shrinkOnScroll: false
|
|
5772
|
+
},
|
|
5773
|
+
{
|
|
5774
|
+
id: asHeaderLayoutId("centered"),
|
|
5775
|
+
label: "Centered",
|
|
5776
|
+
description: "Logo centered above a balanced navigation row.",
|
|
5777
|
+
structure: "centered-stack",
|
|
5778
|
+
variant: "centered",
|
|
5779
|
+
defaultPositioning: "static",
|
|
5780
|
+
shrinkOnScroll: false,
|
|
5781
|
+
maxRecommendedNavItems: 5,
|
|
5782
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
5783
|
+
},
|
|
5784
|
+
{
|
|
5785
|
+
id: asHeaderLayoutId("editorial"),
|
|
5786
|
+
label: "Editorial",
|
|
5787
|
+
description: "A composed, magazine-like stacked header treatment.",
|
|
5788
|
+
structure: "editorial-stack",
|
|
5789
|
+
variant: "editorial",
|
|
5790
|
+
defaultPositioning: "static",
|
|
5791
|
+
shrinkOnScroll: false,
|
|
5792
|
+
maxRecommendedNavItems: 6
|
|
5793
|
+
},
|
|
5794
|
+
{
|
|
5795
|
+
id: asHeaderLayoutId("floating"),
|
|
5796
|
+
label: "Floating",
|
|
5797
|
+
description: "Detached header chrome that sits over the opening section.",
|
|
5798
|
+
structure: "floating-shell",
|
|
5799
|
+
variant: "floating",
|
|
5800
|
+
defaultPositioning: "fixed",
|
|
5801
|
+
shrinkOnScroll: true,
|
|
5802
|
+
maxRecommendedNavItems: 5,
|
|
5803
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
5804
|
+
}
|
|
5805
|
+
];
|
|
5806
|
+
headerStyleCatalog = [
|
|
5807
|
+
{
|
|
5808
|
+
id: asHeaderStyleId("minimal"),
|
|
5809
|
+
label: "Minimal",
|
|
5810
|
+
description: "Quiet surface with simple color-change navigation.",
|
|
5811
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
5812
|
+
navInteraction: "color-change",
|
|
5813
|
+
surface: "neutral"
|
|
5814
|
+
},
|
|
5815
|
+
{
|
|
5816
|
+
id: asHeaderStyleId("fine-line"),
|
|
5817
|
+
label: "Fine Line",
|
|
5818
|
+
description: "Light surface with a crisp lower rule and underline hover.",
|
|
5819
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
5820
|
+
navInteraction: "underline-grow",
|
|
5821
|
+
surface: "bordered"
|
|
5822
|
+
},
|
|
5823
|
+
{
|
|
5824
|
+
id: asHeaderStyleId("soft-bar"),
|
|
5825
|
+
label: "Soft Bar",
|
|
5826
|
+
description: "Soft tinted surface with gentle pill hover states.",
|
|
5827
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5828
|
+
navInteraction: "pill-background",
|
|
5829
|
+
surface: "soft"
|
|
5830
|
+
},
|
|
5831
|
+
{
|
|
5832
|
+
id: asHeaderStyleId("pill-nav"),
|
|
5833
|
+
label: "Pill Nav",
|
|
5834
|
+
description: "A calm pill navigation rail over a neutral header.",
|
|
5835
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
5836
|
+
navInteraction: "pill-background",
|
|
5837
|
+
surface: "soft"
|
|
5838
|
+
},
|
|
5839
|
+
{
|
|
5840
|
+
id: asHeaderStyleId("brand-bar"),
|
|
5841
|
+
label: "Brand Bar",
|
|
5842
|
+
description: "Solid brand surface with high-contrast navigation.",
|
|
5843
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
5844
|
+
navInteraction: "color-change",
|
|
5845
|
+
surface: "brand-solid"
|
|
5846
|
+
},
|
|
5847
|
+
{
|
|
5848
|
+
id: asHeaderStyleId("brand-underline"),
|
|
5849
|
+
label: "Brand Underline",
|
|
5850
|
+
description: "Brand surface with underline-grow navigation.",
|
|
5851
|
+
supportedLayoutIds: supportedLayouts(["classic", "editorial"]),
|
|
5852
|
+
navInteraction: "underline-grow",
|
|
5853
|
+
surface: "brand-solid"
|
|
5854
|
+
},
|
|
5855
|
+
{
|
|
5856
|
+
id: asHeaderStyleId("brand-pill"),
|
|
5857
|
+
label: "Brand Pill",
|
|
5858
|
+
description: "Solid brand surface with rounded active and hover states.",
|
|
5859
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
5860
|
+
navInteraction: "pill-background",
|
|
5861
|
+
surface: "brand-solid"
|
|
5862
|
+
},
|
|
5863
|
+
{
|
|
5864
|
+
id: asHeaderStyleId("editorial-line"),
|
|
5865
|
+
label: "Editorial Line",
|
|
5866
|
+
description: "Typographic logo treatment with understated underline navigation.",
|
|
5867
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
5868
|
+
navInteraction: "underline-grow",
|
|
5869
|
+
surface: "bordered"
|
|
5870
|
+
},
|
|
5871
|
+
{
|
|
5872
|
+
id: asHeaderStyleId("flat-tabs"),
|
|
5873
|
+
label: "Flat Tabs",
|
|
5874
|
+
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
5875
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
5876
|
+
navInteraction: "flat-block",
|
|
5877
|
+
surface: "bordered"
|
|
5878
|
+
},
|
|
5879
|
+
{
|
|
5880
|
+
id: asHeaderStyleId("glass"),
|
|
5881
|
+
label: "Glass",
|
|
5882
|
+
description: "Floating translucent chrome with frosted navigation backing.",
|
|
5883
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5884
|
+
navInteraction: "glass-backed",
|
|
5885
|
+
surface: "floating",
|
|
5886
|
+
requiresFloatingLayout: true
|
|
5887
|
+
},
|
|
5888
|
+
{
|
|
5889
|
+
id: asHeaderStyleId("minimal-surface"),
|
|
5890
|
+
label: "Minimal Surface",
|
|
5891
|
+
description: "Floating chrome with a restrained translucent surface.",
|
|
5892
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5893
|
+
navInteraction: "color-change",
|
|
5894
|
+
surface: "floating",
|
|
5895
|
+
requiresFloatingLayout: true
|
|
5896
|
+
},
|
|
5897
|
+
{
|
|
5898
|
+
id: asHeaderStyleId("soft-shell"),
|
|
5899
|
+
label: "Soft Shell",
|
|
5900
|
+
description: "Floating rounded shell with soft pill navigation states.",
|
|
5901
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
5902
|
+
navInteraction: "pill-background",
|
|
5903
|
+
surface: "floating",
|
|
5904
|
+
requiresFloatingLayout: true
|
|
5905
|
+
}
|
|
5906
|
+
];
|
|
5907
|
+
headerLayoutsById = new Map(
|
|
5908
|
+
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
5909
|
+
);
|
|
5910
|
+
headerStylesById = new Map(
|
|
5911
|
+
headerStyleCatalog.map((style) => [style.id, style])
|
|
5912
|
+
);
|
|
5913
|
+
headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
5914
|
+
[
|
|
5915
|
+
asHeaderLayoutId("classic"),
|
|
5916
|
+
headerStyleRepairChain([
|
|
5917
|
+
"minimal",
|
|
5918
|
+
"fine-line",
|
|
5919
|
+
"soft-bar",
|
|
5920
|
+
"pill-nav",
|
|
5921
|
+
"brand-bar",
|
|
5922
|
+
"brand-underline",
|
|
5923
|
+
"brand-pill",
|
|
5924
|
+
"editorial-line",
|
|
5925
|
+
"flat-tabs"
|
|
5926
|
+
])
|
|
5927
|
+
],
|
|
5928
|
+
[
|
|
5929
|
+
asHeaderLayoutId("centered"),
|
|
5930
|
+
headerStyleRepairChain([
|
|
5931
|
+
"minimal",
|
|
5932
|
+
"fine-line",
|
|
5933
|
+
"soft-bar",
|
|
5934
|
+
"pill-nav",
|
|
5935
|
+
"brand-bar",
|
|
5936
|
+
"brand-pill",
|
|
5937
|
+
"editorial-line",
|
|
5938
|
+
"flat-tabs"
|
|
5939
|
+
])
|
|
5940
|
+
],
|
|
5941
|
+
[
|
|
5942
|
+
asHeaderLayoutId("editorial"),
|
|
5943
|
+
headerStyleRepairChain([
|
|
5944
|
+
"minimal",
|
|
5945
|
+
"fine-line",
|
|
5946
|
+
"soft-bar",
|
|
5947
|
+
"brand-bar",
|
|
5948
|
+
"brand-underline",
|
|
5949
|
+
"editorial-line",
|
|
5950
|
+
"flat-tabs"
|
|
5951
|
+
])
|
|
5952
|
+
],
|
|
5953
|
+
[
|
|
5954
|
+
asHeaderLayoutId("floating"),
|
|
5955
|
+
headerStyleRepairChain([
|
|
5956
|
+
"glass",
|
|
5957
|
+
"minimal-surface",
|
|
5958
|
+
"soft-shell",
|
|
5959
|
+
"brand-pill"
|
|
5960
|
+
])
|
|
5961
|
+
]
|
|
5962
|
+
]);
|
|
5963
|
+
/* @__PURE__ */ new Map([
|
|
5964
|
+
[asHeaderStyleId("brand-bar"), headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])],
|
|
5965
|
+
[asHeaderStyleId("brand-underline"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
|
|
5966
|
+
[asHeaderStyleId("brand-pill"), headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])],
|
|
5967
|
+
[asHeaderStyleId("pill-nav"), headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])],
|
|
5968
|
+
[asHeaderStyleId("flat-tabs"), headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])],
|
|
5969
|
+
[asHeaderStyleId("editorial-line"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
|
|
5970
|
+
[asHeaderStyleId("glass"), headerStyleRepairChain(["glass", "minimal-surface", "minimal"])],
|
|
5971
|
+
[asHeaderStyleId("soft-shell"), headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])],
|
|
5972
|
+
[asHeaderStyleId("minimal-surface"), headerStyleRepairChain(["minimal-surface", "minimal"])],
|
|
5973
|
+
[asHeaderStyleId("fine-line"), headerStyleRepairChain(["fine-line", "minimal"])],
|
|
5974
|
+
[asHeaderStyleId("soft-bar"), headerStyleRepairChain(["soft-bar", "minimal"])],
|
|
5975
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
5976
|
+
]);
|
|
5977
|
+
legacyHeaderLookAliases = [
|
|
5978
|
+
{
|
|
5979
|
+
lookId: asHeaderLookId("clean-base"),
|
|
5980
|
+
selection: {
|
|
5981
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
5982
|
+
styleId: asHeaderStyleId("minimal")
|
|
5983
|
+
}
|
|
5984
|
+
},
|
|
5985
|
+
{
|
|
5986
|
+
lookId: asHeaderLookId("brand-solid"),
|
|
5987
|
+
selection: {
|
|
5988
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
5989
|
+
styleId: asHeaderStyleId("brand-bar")
|
|
5990
|
+
}
|
|
5991
|
+
},
|
|
5992
|
+
{
|
|
5993
|
+
lookId: asHeaderLookId("editorial-line"),
|
|
5994
|
+
selection: {
|
|
5995
|
+
layoutId: asHeaderLayoutId("editorial"),
|
|
5996
|
+
styleId: asHeaderStyleId("editorial-line")
|
|
5997
|
+
}
|
|
5998
|
+
},
|
|
5999
|
+
{
|
|
6000
|
+
lookId: asHeaderLookId("centered-calm"),
|
|
6001
|
+
selection: {
|
|
6002
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
6003
|
+
styleId: asHeaderStyleId("minimal")
|
|
6004
|
+
}
|
|
6005
|
+
},
|
|
6006
|
+
{
|
|
6007
|
+
lookId: asHeaderLookId("practical-utility"),
|
|
6008
|
+
selection: {
|
|
6009
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
6010
|
+
styleId: asHeaderStyleId("flat-tabs")
|
|
6011
|
+
}
|
|
6012
|
+
},
|
|
6013
|
+
{
|
|
6014
|
+
lookId: asHeaderLookId("minimal-transparent"),
|
|
6015
|
+
selection: {
|
|
6016
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
6017
|
+
styleId: asHeaderStyleId("minimal")
|
|
6018
|
+
}
|
|
6019
|
+
},
|
|
6020
|
+
{
|
|
6021
|
+
lookId: asHeaderLookId("transparent-overlay"),
|
|
6022
|
+
selection: {
|
|
6023
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
6024
|
+
styleId: asHeaderStyleId("glass")
|
|
6025
|
+
}
|
|
6026
|
+
},
|
|
6027
|
+
{
|
|
6028
|
+
lookId: asHeaderLookId("floating-glass"),
|
|
6029
|
+
selection: {
|
|
6030
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
6031
|
+
styleId: asHeaderStyleId("glass")
|
|
6032
|
+
}
|
|
6033
|
+
}
|
|
6034
|
+
];
|
|
6035
|
+
legacyHeaderLookAliasesById = new Map(
|
|
6036
|
+
legacyHeaderLookAliases.map((alias) => [alias.lookId, alias])
|
|
6037
|
+
);
|
|
5456
6038
|
headerLookCatalog = [
|
|
5457
6039
|
{
|
|
5458
6040
|
id: asHeaderLookId("clean-base"),
|
|
5459
6041
|
label: "Clean base",
|
|
5460
6042
|
visualTreatment: "solid-neutral",
|
|
5461
6043
|
layoutBehavior: "sticky",
|
|
6044
|
+
configuration: {
|
|
6045
|
+
structure: "inline-classic",
|
|
6046
|
+
treatment: "solid-neutral",
|
|
6047
|
+
behavior: "sticky"
|
|
6048
|
+
},
|
|
5462
6049
|
openingRequirement: "none",
|
|
5463
6050
|
compile: cleanBaseHeader
|
|
5464
6051
|
},
|
|
@@ -5467,6 +6054,11 @@ var init_headerLooks = __esm({
|
|
|
5467
6054
|
label: "Brand solid",
|
|
5468
6055
|
visualTreatment: "solid-brand",
|
|
5469
6056
|
layoutBehavior: "sticky-shrink",
|
|
6057
|
+
configuration: {
|
|
6058
|
+
structure: "inline-classic",
|
|
6059
|
+
treatment: "solid-brand",
|
|
6060
|
+
behavior: "sticky-shrink"
|
|
6061
|
+
},
|
|
5470
6062
|
openingRequirement: "none",
|
|
5471
6063
|
compile: solidBrandHeader
|
|
5472
6064
|
},
|
|
@@ -5475,6 +6067,11 @@ var init_headerLooks = __esm({
|
|
|
5475
6067
|
label: "Editorial line",
|
|
5476
6068
|
visualTreatment: "light-editorial",
|
|
5477
6069
|
layoutBehavior: "sticky",
|
|
6070
|
+
configuration: {
|
|
6071
|
+
structure: "editorial-stack",
|
|
6072
|
+
treatment: "light-editorial",
|
|
6073
|
+
behavior: "sticky"
|
|
6074
|
+
},
|
|
5478
6075
|
openingRequirement: "none",
|
|
5479
6076
|
maxRecommendedNavItems: 6,
|
|
5480
6077
|
compile: editorialLineHeader
|
|
@@ -5484,6 +6081,11 @@ var init_headerLooks = __esm({
|
|
|
5484
6081
|
label: "Centered calm",
|
|
5485
6082
|
visualTreatment: "light-editorial",
|
|
5486
6083
|
layoutBehavior: "normal-flow",
|
|
6084
|
+
configuration: {
|
|
6085
|
+
structure: "centered-stack",
|
|
6086
|
+
treatment: "light-editorial",
|
|
6087
|
+
behavior: "normal-flow"
|
|
6088
|
+
},
|
|
5487
6089
|
openingRequirement: "none",
|
|
5488
6090
|
maxRecommendedNavItems: 5,
|
|
5489
6091
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
@@ -5494,6 +6096,11 @@ var init_headerLooks = __esm({
|
|
|
5494
6096
|
label: "Practical utility",
|
|
5495
6097
|
visualTreatment: "solid-neutral",
|
|
5496
6098
|
layoutBehavior: "sticky-shrink",
|
|
6099
|
+
configuration: {
|
|
6100
|
+
structure: "inline-classic",
|
|
6101
|
+
treatment: "solid-neutral",
|
|
6102
|
+
behavior: "sticky-shrink"
|
|
6103
|
+
},
|
|
5497
6104
|
openingRequirement: "none",
|
|
5498
6105
|
requiresProminentCta: true,
|
|
5499
6106
|
compile: practicalUtilityHeader
|
|
@@ -5503,6 +6110,11 @@ var init_headerLooks = __esm({
|
|
|
5503
6110
|
label: "Minimal transparent",
|
|
5504
6111
|
visualTreatment: "minimal-transparent",
|
|
5505
6112
|
layoutBehavior: "normal-flow",
|
|
6113
|
+
configuration: {
|
|
6114
|
+
structure: "inline-classic",
|
|
6115
|
+
treatment: "minimal-transparent",
|
|
6116
|
+
behavior: "normal-flow"
|
|
6117
|
+
},
|
|
5506
6118
|
openingRequirement: "reserved-space-ok",
|
|
5507
6119
|
compile: minimalTransparentHeader
|
|
5508
6120
|
},
|
|
@@ -5511,6 +6123,11 @@ var init_headerLooks = __esm({
|
|
|
5511
6123
|
label: "Transparent overlay",
|
|
5512
6124
|
visualTreatment: "transparent-overlay",
|
|
5513
6125
|
layoutBehavior: "fixed-overlay",
|
|
6126
|
+
configuration: {
|
|
6127
|
+
structure: "inline-classic",
|
|
6128
|
+
treatment: "transparent-overlay",
|
|
6129
|
+
behavior: "fixed-overlay"
|
|
6130
|
+
},
|
|
5514
6131
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
5515
6132
|
maxRecommendedNavItems: 5,
|
|
5516
6133
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -5521,12 +6138,22 @@ var init_headerLooks = __esm({
|
|
|
5521
6138
|
label: "Floating glass",
|
|
5522
6139
|
visualTreatment: "floating-glass",
|
|
5523
6140
|
layoutBehavior: "fixed-floating",
|
|
6141
|
+
configuration: {
|
|
6142
|
+
structure: "floating-shell",
|
|
6143
|
+
treatment: "floating-glass",
|
|
6144
|
+
behavior: "fixed-floating"
|
|
6145
|
+
},
|
|
5524
6146
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
5525
6147
|
maxRecommendedNavItems: 5,
|
|
5526
6148
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
5527
6149
|
compile: floatingGlassHeader
|
|
5528
6150
|
}
|
|
5529
6151
|
];
|
|
6152
|
+
guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
6153
|
+
guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
6154
|
+
new Set(
|
|
6155
|
+
headerLookCatalog.map((look) => headerConfigurationKey(look.configuration))
|
|
6156
|
+
);
|
|
5530
6157
|
headerLooksById = new Map(
|
|
5531
6158
|
headerLookCatalog.map((look) => [look.id, look])
|
|
5532
6159
|
);
|
|
@@ -5685,6 +6312,272 @@ var init_sourceCatalogs = __esm({
|
|
|
5685
6312
|
}
|
|
5686
6313
|
});
|
|
5687
6314
|
|
|
6315
|
+
// ../theme-core/src/site-styles/typographyPresets.ts
|
|
6316
|
+
function asTypographyPresetId(value) {
|
|
6317
|
+
if (!value.startsWith("typography-preset:")) {
|
|
6318
|
+
throw new Error(`TypographyPresetId must start with "typography-preset:". Received: ${value}`);
|
|
6319
|
+
}
|
|
6320
|
+
return value;
|
|
6321
|
+
}
|
|
6322
|
+
function defineTypographyPreset(preset2) {
|
|
6323
|
+
return {
|
|
6324
|
+
...preset2,
|
|
6325
|
+
id: asTypographyPresetId(preset2.id)
|
|
6326
|
+
};
|
|
6327
|
+
}
|
|
6328
|
+
function findTypographyPreset(id) {
|
|
6329
|
+
return typographyPresetsById.get(id);
|
|
6330
|
+
}
|
|
6331
|
+
var bodyReadablePolicy, headingFlexiblePolicy, displayHeadingPolicy, modernSansTypography, warmRoundedTypography, editorialSerifTypography, classicSerifTypography, luxeContrastTypography, boldDisplayTypography, typographyPresets, typographyPresetsById;
|
|
6332
|
+
var init_typographyPresets = __esm({
|
|
6333
|
+
"../theme-core/src/site-styles/typographyPresets.ts"() {
|
|
6334
|
+
bodyReadablePolicy = {
|
|
6335
|
+
recommendedCategories: ["sans-serif", "serif"],
|
|
6336
|
+
allowedCategories: ["sans-serif", "serif"],
|
|
6337
|
+
requiresItalicForBody: true,
|
|
6338
|
+
requiresBoldForBody: true
|
|
6339
|
+
};
|
|
6340
|
+
headingFlexiblePolicy = {
|
|
6341
|
+
recommendedCategories: ["sans-serif", "serif", "display"],
|
|
6342
|
+
allowedCategories: ["sans-serif", "serif", "display"]
|
|
6343
|
+
};
|
|
6344
|
+
displayHeadingPolicy = {
|
|
6345
|
+
recommendedCategories: ["display", "sans-serif", "serif"],
|
|
6346
|
+
allowedCategories: ["display", "sans-serif", "serif"]
|
|
6347
|
+
};
|
|
6348
|
+
modernSansTypography = {
|
|
6349
|
+
body: {
|
|
6350
|
+
family: "Inter, system-ui, sans-serif",
|
|
6351
|
+
size: "md",
|
|
6352
|
+
weight: "regular",
|
|
6353
|
+
lineHeight: "relaxed",
|
|
6354
|
+
letterSpacing: "normal"
|
|
6355
|
+
},
|
|
6356
|
+
headings: {
|
|
6357
|
+
default: {
|
|
6358
|
+
family: "Inter, system-ui, sans-serif",
|
|
6359
|
+
weight: "semibold",
|
|
6360
|
+
lineHeight: "normal",
|
|
6361
|
+
letterSpacing: "tight",
|
|
6362
|
+
italic: null,
|
|
6363
|
+
case: null
|
|
6364
|
+
},
|
|
6365
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6366
|
+
h2: { size: "lg", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6367
|
+
h3: { size: "md", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
6368
|
+
},
|
|
6369
|
+
scale: "balanced"
|
|
6370
|
+
};
|
|
6371
|
+
warmRoundedTypography = {
|
|
6372
|
+
body: {
|
|
6373
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
6374
|
+
size: "lg",
|
|
6375
|
+
weight: "regular",
|
|
6376
|
+
lineHeight: "relaxed",
|
|
6377
|
+
letterSpacing: "normal"
|
|
6378
|
+
},
|
|
6379
|
+
headings: {
|
|
6380
|
+
default: {
|
|
6381
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
6382
|
+
weight: "bold",
|
|
6383
|
+
lineHeight: "normal",
|
|
6384
|
+
letterSpacing: "normal",
|
|
6385
|
+
italic: null,
|
|
6386
|
+
case: null
|
|
6387
|
+
},
|
|
6388
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
6389
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
6390
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
6391
|
+
},
|
|
6392
|
+
scale: "balanced"
|
|
6393
|
+
};
|
|
6394
|
+
editorialSerifTypography = {
|
|
6395
|
+
body: {
|
|
6396
|
+
family: "Lora, Georgia, serif",
|
|
6397
|
+
size: "lg",
|
|
6398
|
+
weight: "regular",
|
|
6399
|
+
lineHeight: "loose",
|
|
6400
|
+
letterSpacing: "normal"
|
|
6401
|
+
},
|
|
6402
|
+
headings: {
|
|
6403
|
+
default: {
|
|
6404
|
+
family: "Playfair Display, Georgia, serif",
|
|
6405
|
+
weight: "semibold",
|
|
6406
|
+
lineHeight: "normal",
|
|
6407
|
+
letterSpacing: "tight",
|
|
6408
|
+
italic: null,
|
|
6409
|
+
case: null
|
|
6410
|
+
},
|
|
6411
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6412
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
6413
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: true }
|
|
6414
|
+
},
|
|
6415
|
+
scale: "spacious"
|
|
6416
|
+
};
|
|
6417
|
+
classicSerifTypography = {
|
|
6418
|
+
body: {
|
|
6419
|
+
family: "Libre Baskerville, Georgia, serif",
|
|
6420
|
+
size: "md",
|
|
6421
|
+
weight: "regular",
|
|
6422
|
+
lineHeight: "relaxed",
|
|
6423
|
+
letterSpacing: "normal"
|
|
6424
|
+
},
|
|
6425
|
+
headings: {
|
|
6426
|
+
default: {
|
|
6427
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
6428
|
+
weight: "semibold",
|
|
6429
|
+
lineHeight: "normal",
|
|
6430
|
+
letterSpacing: "normal",
|
|
6431
|
+
italic: null,
|
|
6432
|
+
case: null
|
|
6433
|
+
},
|
|
6434
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
6435
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
6436
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
6437
|
+
},
|
|
6438
|
+
scale: "balanced"
|
|
6439
|
+
};
|
|
6440
|
+
luxeContrastTypography = {
|
|
6441
|
+
body: {
|
|
6442
|
+
family: "Manrope, system-ui, sans-serif",
|
|
6443
|
+
size: "md",
|
|
6444
|
+
weight: "regular",
|
|
6445
|
+
lineHeight: "relaxed",
|
|
6446
|
+
letterSpacing: "normal"
|
|
6447
|
+
},
|
|
6448
|
+
headings: {
|
|
6449
|
+
default: {
|
|
6450
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
6451
|
+
weight: "semibold",
|
|
6452
|
+
lineHeight: "normal",
|
|
6453
|
+
letterSpacing: "tight",
|
|
6454
|
+
italic: null,
|
|
6455
|
+
case: null
|
|
6456
|
+
},
|
|
6457
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6458
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6459
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
6460
|
+
},
|
|
6461
|
+
scale: "spacious"
|
|
6462
|
+
};
|
|
6463
|
+
boldDisplayTypography = {
|
|
6464
|
+
body: {
|
|
6465
|
+
family: "Manrope, system-ui, sans-serif",
|
|
6466
|
+
size: "lg",
|
|
6467
|
+
weight: "regular",
|
|
6468
|
+
lineHeight: "relaxed",
|
|
6469
|
+
letterSpacing: "normal"
|
|
6470
|
+
},
|
|
6471
|
+
headings: {
|
|
6472
|
+
default: {
|
|
6473
|
+
family: '"TAN - PEARL", sans-serif',
|
|
6474
|
+
weight: "bold",
|
|
6475
|
+
lineHeight: "normal",
|
|
6476
|
+
letterSpacing: "tight",
|
|
6477
|
+
colorToken: "primary",
|
|
6478
|
+
italic: null,
|
|
6479
|
+
case: null
|
|
6480
|
+
},
|
|
6481
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
6482
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
6483
|
+
h3: { size: "md", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
6484
|
+
},
|
|
6485
|
+
scale: "balanced"
|
|
6486
|
+
};
|
|
6487
|
+
typographyPresets = [
|
|
6488
|
+
defineTypographyPreset({
|
|
6489
|
+
id: "typography-preset:modern-sans",
|
|
6490
|
+
name: "Modern Sans",
|
|
6491
|
+
description: "Crisp, neutral type for clear service pages and practical editorial structure.",
|
|
6492
|
+
defaultFonts: { body: "Inter, system-ui, sans-serif", heading: "Inter, system-ui, sans-serif" },
|
|
6493
|
+
recommendedFonts: {
|
|
6494
|
+
body: ["Inter", "Source Sans 3", "IBM Plex Sans"],
|
|
6495
|
+
heading: ["Inter", "Manrope", "Source Sans 3"]
|
|
6496
|
+
},
|
|
6497
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
6498
|
+
typography: modernSansTypography
|
|
6499
|
+
}),
|
|
6500
|
+
defineTypographyPreset({
|
|
6501
|
+
id: "typography-preset:warm-rounded",
|
|
6502
|
+
name: "Warm Rounded",
|
|
6503
|
+
description: "Soft, friendly type for welcoming studios, classes, and community businesses.",
|
|
6504
|
+
defaultFonts: { body: "Nunito Sans, system-ui, sans-serif", heading: "Nunito Sans, system-ui, sans-serif" },
|
|
6505
|
+
recommendedFonts: {
|
|
6506
|
+
body: ["Nunito Sans", "Atkinson Hyperlegible", "Lato"],
|
|
6507
|
+
heading: ["Nunito Sans", "Quicksand", "Manrope"]
|
|
6508
|
+
},
|
|
6509
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
6510
|
+
typography: warmRoundedTypography
|
|
6511
|
+
}),
|
|
6512
|
+
defineTypographyPreset({
|
|
6513
|
+
id: "typography-preset:editorial-serif",
|
|
6514
|
+
name: "Editorial Serif",
|
|
6515
|
+
description: "Story-led type with warm reading rhythm and expressive headings.",
|
|
6516
|
+
defaultFonts: { body: "Lora, Georgia, serif", heading: "Playfair Display, Georgia, serif" },
|
|
6517
|
+
recommendedFonts: {
|
|
6518
|
+
body: ["Lora", "Source Serif 4", "Libre Baskerville"],
|
|
6519
|
+
heading: ["Playfair Display", "Cormorant Garamond", "Fraunces"]
|
|
6520
|
+
},
|
|
6521
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
6522
|
+
typography: editorialSerifTypography
|
|
6523
|
+
}),
|
|
6524
|
+
defineTypographyPreset({
|
|
6525
|
+
id: "typography-preset:classic-serif",
|
|
6526
|
+
name: "Classic Serif",
|
|
6527
|
+
description: "Measured, polished type for premium and established offers.",
|
|
6528
|
+
defaultFonts: { body: "Libre Baskerville, Georgia, serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
6529
|
+
recommendedFonts: {
|
|
6530
|
+
body: ["Libre Baskerville", "Source Serif 4", "Lora"],
|
|
6531
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Libre Baskerville"]
|
|
6532
|
+
},
|
|
6533
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
6534
|
+
typography: classicSerifTypography
|
|
6535
|
+
}),
|
|
6536
|
+
defineTypographyPreset({
|
|
6537
|
+
id: "typography-preset:luxe-contrast",
|
|
6538
|
+
name: "Luxe Contrast",
|
|
6539
|
+
description: "A restrained sans body paired with elegant high-contrast headings.",
|
|
6540
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
6541
|
+
recommendedFonts: {
|
|
6542
|
+
body: ["Manrope", "Inter", "Source Sans 3"],
|
|
6543
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Bodoni Moda"]
|
|
6544
|
+
},
|
|
6545
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
6546
|
+
typography: luxeContrastTypography
|
|
6547
|
+
}),
|
|
6548
|
+
defineTypographyPreset({
|
|
6549
|
+
id: "typography-preset:bold-display",
|
|
6550
|
+
name: "Bold Display",
|
|
6551
|
+
description: "Punchy display headings with readable sans body copy for branded launches.",
|
|
6552
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: '"TAN - PEARL", sans-serif' },
|
|
6553
|
+
recommendedFonts: {
|
|
6554
|
+
body: ["Manrope", "Inter", "Space Grotesk"],
|
|
6555
|
+
heading: ["Anton", "Bebas Neue", "Archivo Black"]
|
|
6556
|
+
},
|
|
6557
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
6558
|
+
typography: boldDisplayTypography,
|
|
6559
|
+
heroTypography: {
|
|
6560
|
+
headlineSize: "6xl",
|
|
6561
|
+
headlineLineHeight: "tight",
|
|
6562
|
+
subheadlineSize: "editorial",
|
|
6563
|
+
subheadlineLineHeight: "normal",
|
|
6564
|
+
microHeadlineSize: "6xl",
|
|
6565
|
+
microHeadlineLineHeight: "tight",
|
|
6566
|
+
microSubheadlineSize: "xl",
|
|
6567
|
+
microSubheadlineLineHeight: "normal",
|
|
6568
|
+
responsive: {
|
|
6569
|
+
tablet: { headlineSize: "5xl" },
|
|
6570
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
6571
|
+
}
|
|
6572
|
+
}
|
|
6573
|
+
})
|
|
6574
|
+
];
|
|
6575
|
+
typographyPresetsById = new Map(
|
|
6576
|
+
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
6577
|
+
);
|
|
6578
|
+
}
|
|
6579
|
+
});
|
|
6580
|
+
|
|
5688
6581
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
5689
6582
|
function uniqueContentFrameKinds() {
|
|
5690
6583
|
const kinds = [...new Set(
|
|
@@ -5697,6 +6590,15 @@ function uniqueContentFrameKinds() {
|
|
|
5697
6590
|
return [firstKind, ...kinds.slice(1)];
|
|
5698
6591
|
}
|
|
5699
6592
|
function defineCuratedSiteStyle(input) {
|
|
6593
|
+
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
6594
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
6595
|
+
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
6596
|
+
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
6597
|
+
if (!typographyPresetChoices.some((choice) => choice.id === defaultTypographyPresetId)) {
|
|
6598
|
+
throw new Error(
|
|
6599
|
+
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
6600
|
+
);
|
|
6601
|
+
}
|
|
5700
6602
|
return {
|
|
5701
6603
|
id: asSiteStyleId(input.id),
|
|
5702
6604
|
name: input.name,
|
|
@@ -5717,11 +6619,23 @@ function defineCuratedSiteStyle(input) {
|
|
|
5717
6619
|
},
|
|
5718
6620
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
5719
6621
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
5720
|
-
|
|
6622
|
+
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
6623
|
+
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
6624
|
+
styleId: asHeaderStyleId(input.defaultHeaderSelection.styleId)
|
|
6625
|
+
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
6626
|
+
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
6627
|
+
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
6628
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map((selection) => ({
|
|
6629
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
6630
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
6631
|
+
})),
|
|
6632
|
+
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
5721
6633
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
5722
6634
|
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
5723
6635
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
5724
|
-
paletteVariantChoices: input.paletteVariantChoices
|
|
6636
|
+
paletteVariantChoices: input.paletteVariantChoices,
|
|
6637
|
+
typographyPresetChoices,
|
|
6638
|
+
defaultTypographyPresetId
|
|
5725
6639
|
};
|
|
5726
6640
|
}
|
|
5727
6641
|
function buttonChoice(id, note) {
|
|
@@ -5730,7 +6644,92 @@ function buttonChoice(id, note) {
|
|
|
5730
6644
|
function paletteChoice(id, note) {
|
|
5731
6645
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
5732
6646
|
}
|
|
5733
|
-
|
|
6647
|
+
function headerLayoutChoice(id, note) {
|
|
6648
|
+
return note ? { id: asHeaderLayoutId(id), note } : { id: asHeaderLayoutId(id) };
|
|
6649
|
+
}
|
|
6650
|
+
function headerStyleChoice(id, note) {
|
|
6651
|
+
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
6652
|
+
}
|
|
6653
|
+
function headerLayoutRecordKey(id) {
|
|
6654
|
+
return id;
|
|
6655
|
+
}
|
|
6656
|
+
function uniqueHeaderLayoutChoices(choices) {
|
|
6657
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6658
|
+
const unique = choices.filter((choice) => {
|
|
6659
|
+
if (seen.has(choice.id)) return false;
|
|
6660
|
+
seen.add(choice.id);
|
|
6661
|
+
return true;
|
|
6662
|
+
});
|
|
6663
|
+
const first = unique[0];
|
|
6664
|
+
if (!first) {
|
|
6665
|
+
throw new Error("Expected at least one curated header layout choice.");
|
|
6666
|
+
}
|
|
6667
|
+
return [first, ...unique.slice(1)];
|
|
6668
|
+
}
|
|
6669
|
+
function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
6670
|
+
const first = choices[0] ?? {
|
|
6671
|
+
id: getCompatibleHeaderStyleIds(fallbackLayoutId)[0] ?? asHeaderStyleId("minimal")
|
|
6672
|
+
};
|
|
6673
|
+
return [first, ...choices.slice(1)];
|
|
6674
|
+
}
|
|
6675
|
+
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
6676
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter((selection) => Boolean(selection));
|
|
6677
|
+
const defaultHeaderSelection = selections[0] ?? {
|
|
6678
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
6679
|
+
styleId: asHeaderStyleId("minimal")
|
|
6680
|
+
};
|
|
6681
|
+
const layoutChoices = uniqueHeaderLayoutChoices(
|
|
6682
|
+
selections.map((selection) => headerLayoutChoice(selection.layoutId))
|
|
6683
|
+
);
|
|
6684
|
+
const stylesByLayout = {};
|
|
6685
|
+
for (const layoutChoice of layoutChoices) {
|
|
6686
|
+
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
6687
|
+
stylesByLayout[headerLayoutRecordKey(layoutChoice.id)] = nonEmptyHeaderStyleChoices(
|
|
6688
|
+
styleChoices,
|
|
6689
|
+
layoutChoice.id
|
|
6690
|
+
);
|
|
6691
|
+
}
|
|
6692
|
+
return {
|
|
6693
|
+
defaultHeaderSelection,
|
|
6694
|
+
recommendedHeaderLayoutChoices: layoutChoices,
|
|
6695
|
+
recommendedHeaderStyleChoicesByLayout: stylesByLayout
|
|
6696
|
+
};
|
|
6697
|
+
}
|
|
6698
|
+
function typographyChoice(id, note) {
|
|
6699
|
+
return note ? { id: asTypographyPresetId(id), note } : { id: asTypographyPresetId(id) };
|
|
6700
|
+
}
|
|
6701
|
+
function defaultTypographyPresetChoicesForRecipe(recipe) {
|
|
6702
|
+
switch (recipe) {
|
|
6703
|
+
case "clean-sans":
|
|
6704
|
+
return [
|
|
6705
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
6706
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
6707
|
+
typographyChoice("typography-preset:bold-display")
|
|
6708
|
+
];
|
|
6709
|
+
case "friendly-sans":
|
|
6710
|
+
return [
|
|
6711
|
+
typographyChoice("typography-preset:warm-rounded"),
|
|
6712
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
6713
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
6714
|
+
];
|
|
6715
|
+
case "serif-editorial":
|
|
6716
|
+
return [
|
|
6717
|
+
typographyChoice("typography-preset:editorial-serif"),
|
|
6718
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
6719
|
+
typographyChoice("typography-preset:warm-rounded")
|
|
6720
|
+
];
|
|
6721
|
+
case "classic-serif":
|
|
6722
|
+
return [
|
|
6723
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
6724
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
6725
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
6726
|
+
];
|
|
6727
|
+
}
|
|
6728
|
+
}
|
|
6729
|
+
function getCuratedSiteStyle(id) {
|
|
6730
|
+
return curatedSiteStylesById.get(id) ?? null;
|
|
6731
|
+
}
|
|
6732
|
+
var curatedSiteStyleIdValues, quietBudget, balancedBudget, expressiveBudget, expressiveUnderlineInputs, generatedContentFrameKinds, curatedSiteStyles, curatedSiteStylesById;
|
|
5734
6733
|
var init_curatedSiteStyles = __esm({
|
|
5735
6734
|
"../theme-core/src/site-styles/curatedSiteStyles.ts"() {
|
|
5736
6735
|
init_personalities();
|
|
@@ -5740,6 +6739,7 @@ var init_curatedSiteStyles = __esm({
|
|
|
5740
6739
|
init_curatedChoices();
|
|
5741
6740
|
init_sourceCatalogs();
|
|
5742
6741
|
init_types2();
|
|
6742
|
+
init_typographyPresets();
|
|
5743
6743
|
curatedSiteStyleIdValues = [
|
|
5744
6744
|
"site-style:calm-studio",
|
|
5745
6745
|
"site-style:clear-professional",
|
|
@@ -5751,6 +6751,7 @@ var init_curatedSiteStyles = __esm({
|
|
|
5751
6751
|
"site-style:personal-retreat-journal",
|
|
5752
6752
|
"site-style:tactile-workshop",
|
|
5753
6753
|
"site-style:modern-wellness",
|
|
6754
|
+
"site-style:soft-earth",
|
|
5754
6755
|
"site-style:bold-launch",
|
|
5755
6756
|
"site-style:south-west-twerk-school"
|
|
5756
6757
|
];
|
|
@@ -6141,6 +7142,102 @@ var init_curatedSiteStyles = __esm({
|
|
|
6141
7142
|
paletteChoice("warm-neutral-clay")
|
|
6142
7143
|
]
|
|
6143
7144
|
}),
|
|
7145
|
+
defineCuratedSiteStyle({
|
|
7146
|
+
id: "site-style:soft-earth",
|
|
7147
|
+
name: "Soft Earth",
|
|
7148
|
+
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
7149
|
+
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.",
|
|
7150
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 45 },
|
|
7151
|
+
selectionKeywordRules: [
|
|
7152
|
+
{ kind: "word", value: "meditation" },
|
|
7153
|
+
{ kind: "word", value: "wellbeing" },
|
|
7154
|
+
{ kind: "substring", value: "retreat" },
|
|
7155
|
+
{ kind: "phrase", value: "yoga studio" },
|
|
7156
|
+
{ kind: "phrase", value: "mindful movement" }
|
|
7157
|
+
],
|
|
7158
|
+
tokenRecipes: {
|
|
7159
|
+
palette: "warm-neutral",
|
|
7160
|
+
contrast: "standard",
|
|
7161
|
+
radius: "soft",
|
|
7162
|
+
shadow: "subtle",
|
|
7163
|
+
typography: "serif-editorial",
|
|
7164
|
+
spacing: "airy",
|
|
7165
|
+
motion: "subtle"
|
|
7166
|
+
},
|
|
7167
|
+
compositionBudget: balancedBudget,
|
|
7168
|
+
themeOverrides: {
|
|
7169
|
+
typography: {
|
|
7170
|
+
body: {
|
|
7171
|
+
family: "Inter, system-ui, sans-serif",
|
|
7172
|
+
size: "md",
|
|
7173
|
+
weight: "regular",
|
|
7174
|
+
lineHeight: "relaxed",
|
|
7175
|
+
letterSpacing: "normal"
|
|
7176
|
+
},
|
|
7177
|
+
headings: {
|
|
7178
|
+
default: {
|
|
7179
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
7180
|
+
weight: "regular",
|
|
7181
|
+
lineHeight: "normal",
|
|
7182
|
+
letterSpacing: "normal",
|
|
7183
|
+
colorToken: "text",
|
|
7184
|
+
italic: null,
|
|
7185
|
+
case: null
|
|
7186
|
+
},
|
|
7187
|
+
h1: {
|
|
7188
|
+
size: "xl",
|
|
7189
|
+
weight: "regular",
|
|
7190
|
+
lineHeight: "normal",
|
|
7191
|
+
letterSpacing: "normal",
|
|
7192
|
+
italic: null
|
|
7193
|
+
},
|
|
7194
|
+
h2: {
|
|
7195
|
+
size: "lg",
|
|
7196
|
+
weight: "regular",
|
|
7197
|
+
lineHeight: "normal",
|
|
7198
|
+
letterSpacing: "normal",
|
|
7199
|
+
italic: null
|
|
7200
|
+
},
|
|
7201
|
+
h3: {
|
|
7202
|
+
size: "md",
|
|
7203
|
+
weight: "regular",
|
|
7204
|
+
lineHeight: "normal",
|
|
7205
|
+
letterSpacing: "normal",
|
|
7206
|
+
italic: null
|
|
7207
|
+
}
|
|
7208
|
+
},
|
|
7209
|
+
scale: "majorThird"
|
|
7210
|
+
},
|
|
7211
|
+
bodyText: {
|
|
7212
|
+
intro: {
|
|
7213
|
+
paragraphSize: "default",
|
|
7214
|
+
headingSize: "editorial"
|
|
7215
|
+
}
|
|
7216
|
+
}
|
|
7217
|
+
},
|
|
7218
|
+
recommendedAppearancePresetIds: [
|
|
7219
|
+
"hero-brand-scrim",
|
|
7220
|
+
"intro-soft-earth-statement",
|
|
7221
|
+
"feature-cards-soft-earth-offerings",
|
|
7222
|
+
"testimonials-soft-earth-proof-band",
|
|
7223
|
+
"faq-soft-earth-two-column",
|
|
7224
|
+
"contact-form-panel"
|
|
7225
|
+
],
|
|
7226
|
+
recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "editorial-line"],
|
|
7227
|
+
recommendedFooterLookIds: ["footer-muted-grounding", "site-footer-brand-two-band"],
|
|
7228
|
+
buttonPersonalityChoices: [
|
|
7229
|
+
buttonChoice("earth-pill"),
|
|
7230
|
+
buttonChoice("soft-pill"),
|
|
7231
|
+
buttonChoice("pebble"),
|
|
7232
|
+
buttonChoice("editorial-link")
|
|
7233
|
+
],
|
|
7234
|
+
paletteVariantChoices: [
|
|
7235
|
+
paletteChoice("warm-neutral-soft-earth"),
|
|
7236
|
+
paletteChoice("warm-neutral-clay"),
|
|
7237
|
+
paletteChoice("warm-neutral-forest"),
|
|
7238
|
+
paletteChoice("soft-natural-sage")
|
|
7239
|
+
]
|
|
7240
|
+
}),
|
|
6144
7241
|
defineCuratedSiteStyle({
|
|
6145
7242
|
id: "site-style:bold-launch",
|
|
6146
7243
|
name: "Bold Launch",
|
|
@@ -6194,49 +7291,13 @@ var init_curatedSiteStyles = __esm({
|
|
|
6194
7291
|
motion: "expressive"
|
|
6195
7292
|
},
|
|
6196
7293
|
compositionBudget: expressiveBudget,
|
|
7294
|
+
typographyPresetChoices: [
|
|
7295
|
+
typographyChoice("typography-preset:bold-display"),
|
|
7296
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
7297
|
+
typographyChoice("typography-preset:luxe-contrast")
|
|
7298
|
+
],
|
|
7299
|
+
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
6197
7300
|
themeOverrides: {
|
|
6198
|
-
typography: {
|
|
6199
|
-
body: {
|
|
6200
|
-
family: "Manrope, system-ui, sans-serif",
|
|
6201
|
-
size: "lg",
|
|
6202
|
-
weight: "regular",
|
|
6203
|
-
lineHeight: "relaxed",
|
|
6204
|
-
letterSpacing: "normal"
|
|
6205
|
-
},
|
|
6206
|
-
headings: {
|
|
6207
|
-
default: {
|
|
6208
|
-
family: '"TAN - PEARL", sans-serif',
|
|
6209
|
-
weight: "bold",
|
|
6210
|
-
lineHeight: "normal",
|
|
6211
|
-
letterSpacing: "tight",
|
|
6212
|
-
colorToken: "primary",
|
|
6213
|
-
italic: null,
|
|
6214
|
-
case: null
|
|
6215
|
-
},
|
|
6216
|
-
h1: {
|
|
6217
|
-
size: "xl",
|
|
6218
|
-
weight: "bold",
|
|
6219
|
-
lineHeight: "normal",
|
|
6220
|
-
letterSpacing: "tight",
|
|
6221
|
-
italic: null
|
|
6222
|
-
},
|
|
6223
|
-
h2: {
|
|
6224
|
-
size: "lg",
|
|
6225
|
-
weight: "bold",
|
|
6226
|
-
lineHeight: "normal",
|
|
6227
|
-
letterSpacing: "normal",
|
|
6228
|
-
italic: null
|
|
6229
|
-
},
|
|
6230
|
-
h3: {
|
|
6231
|
-
size: "md",
|
|
6232
|
-
weight: "bold",
|
|
6233
|
-
lineHeight: "normal",
|
|
6234
|
-
letterSpacing: "normal",
|
|
6235
|
-
italic: null
|
|
6236
|
-
}
|
|
6237
|
-
},
|
|
6238
|
-
scale: "balanced"
|
|
6239
|
-
},
|
|
6240
7301
|
bodyText: {
|
|
6241
7302
|
intro: {
|
|
6242
7303
|
paragraphSize: "editorial",
|
|
@@ -6268,7 +7329,7 @@ var init_curatedSiteStyles = __esm({
|
|
|
6268
7329
|
]
|
|
6269
7330
|
})
|
|
6270
7331
|
];
|
|
6271
|
-
new Map(
|
|
7332
|
+
curatedSiteStylesById = new Map(
|
|
6272
7333
|
curatedSiteStyles.map((style) => [style.id, style])
|
|
6273
7334
|
);
|
|
6274
7335
|
}
|
|
@@ -6586,6 +7647,7 @@ var init_previewCompiler = __esm({
|
|
|
6586
7647
|
init_variants();
|
|
6587
7648
|
init_curatedChoices();
|
|
6588
7649
|
init_curatedSiteStyles();
|
|
7650
|
+
init_typographyPresets();
|
|
6589
7651
|
init_resolver2();
|
|
6590
7652
|
init_types2();
|
|
6591
7653
|
init_footerLooks();
|
|
@@ -6599,6 +7661,7 @@ var init_previewCompiler = __esm({
|
|
|
6599
7661
|
init_runtimeCompiler();
|
|
6600
7662
|
init_curatedChoices();
|
|
6601
7663
|
init_curatedSiteStyles();
|
|
7664
|
+
init_typographyPresets();
|
|
6602
7665
|
init_types2();
|
|
6603
7666
|
}
|
|
6604
7667
|
});
|
|
@@ -6865,6 +7928,12 @@ var init_pageDesignEditorErrors = __esm({
|
|
|
6865
7928
|
"../theme-core/src/site-styles/pageDesignEditorErrors.ts"() {
|
|
6866
7929
|
}
|
|
6867
7930
|
});
|
|
7931
|
+
|
|
7932
|
+
// ../theme-core/src/site-styles/persistedIdParseResult.ts
|
|
7933
|
+
var init_persistedIdParseResult = __esm({
|
|
7934
|
+
"../theme-core/src/site-styles/persistedIdParseResult.ts"() {
|
|
7935
|
+
}
|
|
7936
|
+
});
|
|
6868
7937
|
var themeTokenRecipeOptions;
|
|
6869
7938
|
var init_tokenRecipes = __esm({
|
|
6870
7939
|
"../theme-core/src/site-styles/tokenRecipes.ts"() {
|
|
@@ -6918,6 +7987,7 @@ var init_site_styles = __esm({
|
|
|
6918
7987
|
init_pageDesignEditorModel();
|
|
6919
7988
|
init_pageDesignIntent();
|
|
6920
7989
|
init_previewCustomization();
|
|
7990
|
+
init_persistedIdParseResult();
|
|
6921
7991
|
init_rawStyleFields();
|
|
6922
7992
|
init_records();
|
|
6923
7993
|
init_resolver2();
|
|
@@ -6926,6 +7996,7 @@ var init_site_styles = __esm({
|
|
|
6926
7996
|
init_sourceCatalogs();
|
|
6927
7997
|
init_styleTags();
|
|
6928
7998
|
init_tokenRecipes();
|
|
7999
|
+
init_typographyPresets();
|
|
6929
8000
|
init_types2();
|
|
6930
8001
|
}
|
|
6931
8002
|
});
|
|
@@ -10998,8 +12069,9 @@ var init_faqAccordion = __esm({
|
|
|
10998
12069
|
},
|
|
10999
12070
|
fallback: "rb-faq-item"
|
|
11000
12071
|
},
|
|
11001
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } }
|
|
11002
|
-
//
|
|
12072
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
12073
|
+
// Legacy theme accordion style
|
|
12074
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
11003
12075
|
},
|
|
11004
12076
|
triggerFrom: "faqItem.question",
|
|
11005
12077
|
contentFrom: "faqItem.answer"
|
|
@@ -21643,6 +22715,9 @@ init_schema2();
|
|
|
21643
22715
|
var TEL_RE = /^[+()0-9\s-]{3,}$/;
|
|
21644
22716
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
21645
22717
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
22718
|
+
var DATE_PATTERN = /^(?<year>[1-9]\d{3})-(?<month>\d{2})-(?<day>\d{2})$/;
|
|
22719
|
+
var TIME_PATTERN = /^(?<hours>[01]\d|2[0-3]):(?<minutes>[0-5]\d)$/;
|
|
22720
|
+
var DATETIME_PATTERN = /^(?<date>[1-9]\d{3}-\d{2}-\d{2})T(?<time>(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d)(?:\.\d+)?(?<offset>Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;
|
|
21646
22721
|
function assertNever2(value) {
|
|
21647
22722
|
throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
|
|
21648
22723
|
}
|
|
@@ -21675,6 +22750,12 @@ function fieldIssueToMessage(issue2) {
|
|
|
21675
22750
|
return "Check the format and try again";
|
|
21676
22751
|
case "invalidUrl":
|
|
21677
22752
|
return "Enter a valid web address";
|
|
22753
|
+
case "invalidDate":
|
|
22754
|
+
return "Choose a valid date";
|
|
22755
|
+
case "invalidTime":
|
|
22756
|
+
return "Choose a valid time";
|
|
22757
|
+
case "invalidDateTime":
|
|
22758
|
+
return "Choose a valid date and time";
|
|
21678
22759
|
case "invalidNumber":
|
|
21679
22760
|
return `${issue2.label} needs a number`;
|
|
21680
22761
|
case "tooSmall":
|
|
@@ -21711,12 +22792,16 @@ function deriveFieldValidationPlan(field, path24 = [field.id]) {
|
|
|
21711
22792
|
case "text": {
|
|
21712
22793
|
const inputType = field.ui?.inputType;
|
|
21713
22794
|
if (inputType === "number") {
|
|
21714
|
-
const constraints2 = commonConstraints(required, {
|
|
22795
|
+
const constraints2 = commonConstraints(required, {
|
|
22796
|
+
kind: "numberType"
|
|
22797
|
+
});
|
|
21715
22798
|
if (typeof field.ui?.min === "number") constraints2.push({ kind: "numberMin", minimum: field.ui.min });
|
|
21716
22799
|
if (typeof field.ui?.max === "number") constraints2.push({ kind: "numberMax", maximum: field.ui.max });
|
|
21717
22800
|
return makePlan("number", "number", field, path24, required, constraints2);
|
|
21718
22801
|
}
|
|
21719
|
-
const constraints = commonConstraints(required, {
|
|
22802
|
+
const constraints = commonConstraints(required, {
|
|
22803
|
+
kind: "textType"
|
|
22804
|
+
});
|
|
21720
22805
|
if (inputType === "email") constraints.push({ kind: "emailFormat" });
|
|
21721
22806
|
if (inputType === "tel") constraints.push({ kind: "phoneFormat" });
|
|
21722
22807
|
if (field.ui?.pattern) constraints.push({ kind: "patternFormat", pattern: field.ui.pattern });
|
|
@@ -21724,7 +22809,9 @@ function deriveFieldValidationPlan(field, path24 = [field.id]) {
|
|
|
21724
22809
|
return makePlan("string", "string", field, path24, required, constraints);
|
|
21725
22810
|
}
|
|
21726
22811
|
case "number": {
|
|
21727
|
-
const constraints = commonConstraints(required, {
|
|
22812
|
+
const constraints = commonConstraints(required, {
|
|
22813
|
+
kind: "numberType"
|
|
22814
|
+
});
|
|
21728
22815
|
if (typeof field.min === "number") constraints.push({ kind: "numberMin", minimum: field.min });
|
|
21729
22816
|
if (typeof field.max === "number") constraints.push({ kind: "numberMax", maximum: field.max });
|
|
21730
22817
|
return makePlan("number", "number", field, path24, required, constraints);
|
|
@@ -21735,23 +22822,42 @@ function deriveFieldValidationPlan(field, path24 = [field.id]) {
|
|
|
21735
22822
|
return makePlan("string", "string", field, path24, required, constraints);
|
|
21736
22823
|
}
|
|
21737
22824
|
case "url":
|
|
21738
|
-
return makePlan(
|
|
22825
|
+
return makePlan(
|
|
22826
|
+
"string",
|
|
22827
|
+
"string",
|
|
22828
|
+
field,
|
|
22829
|
+
path24,
|
|
21739
22830
|
required,
|
|
21740
|
-
{ kind: "textType" },
|
|
21741
|
-
|
|
21742
|
-
));
|
|
22831
|
+
commonConstraints(required, { kind: "textType" }, { kind: "urlFormat", allowRelative: Boolean(field.allowRelative) })
|
|
22832
|
+
);
|
|
21743
22833
|
case "reference":
|
|
21744
22834
|
return makePlan("string", "string", field, path24, required, commonConstraints(required, { kind: "referenceText" }));
|
|
21745
22835
|
case "date":
|
|
22836
|
+
return makePlan("string", "string", field, path24, required, commonConstraints(required, { kind: "textType" }, { kind: "dateFormat" }));
|
|
21746
22837
|
case "time":
|
|
22838
|
+
return makePlan("string", "string", field, path24, required, commonConstraints(required, { kind: "textType" }, { kind: "timeFormat" }));
|
|
21747
22839
|
case "datetime":
|
|
21748
|
-
return makePlan(
|
|
22840
|
+
return makePlan(
|
|
22841
|
+
"string",
|
|
22842
|
+
"string",
|
|
22843
|
+
field,
|
|
22844
|
+
path24,
|
|
22845
|
+
required,
|
|
22846
|
+
commonConstraints(required, { kind: "textType" }, { kind: "datetimeFormat" })
|
|
22847
|
+
);
|
|
21749
22848
|
case "select":
|
|
21750
|
-
return makePlan(
|
|
21751
|
-
|
|
21752
|
-
|
|
21753
|
-
|
|
21754
|
-
|
|
22849
|
+
return makePlan(
|
|
22850
|
+
"select",
|
|
22851
|
+
"select",
|
|
22852
|
+
field,
|
|
22853
|
+
path24,
|
|
22854
|
+
required,
|
|
22855
|
+
commonConstraints(required, {
|
|
22856
|
+
kind: "selectOption",
|
|
22857
|
+
source: resolveSelectConstraintSource(field),
|
|
22858
|
+
multiple: Boolean(field.multiple)
|
|
22859
|
+
})
|
|
22860
|
+
);
|
|
21755
22861
|
case "richText":
|
|
21756
22862
|
return makePlan("richText", "object", field, path24, required, commonConstraints(required, { kind: "richTextDoc" }));
|
|
21757
22863
|
case "media":
|
|
@@ -21764,7 +22870,11 @@ function deriveFieldValidationPlan(field, path24 = [field.id]) {
|
|
|
21764
22870
|
case "repeater":
|
|
21765
22871
|
return {
|
|
21766
22872
|
...makePlan("repeater", "array", field, path24, required, commonConstraints(required, { kind: "arrayType" })),
|
|
21767
|
-
...field.polymorphic && field.itemTypes ? {
|
|
22873
|
+
...field.polymorphic && field.itemTypes ? {
|
|
22874
|
+
repeatedItemVariants: deriveRepeatedItemVariants(field, [...path24, 0])
|
|
22875
|
+
} : {
|
|
22876
|
+
repeatedItemPlan: deriveNestedFieldPlans(getRepeaterFields(field), [...path24, 0])
|
|
22877
|
+
},
|
|
21768
22878
|
constraints: withRepeaterItemConstraints(field, commonConstraints(required, { kind: "arrayType" }))
|
|
21769
22879
|
};
|
|
21770
22880
|
case "group":
|
|
@@ -21849,7 +22959,10 @@ function resolveSelectConstraintSource(field) {
|
|
|
21849
22959
|
const source = normalizeSelectSource(field);
|
|
21850
22960
|
switch (source.kind) {
|
|
21851
22961
|
case "static":
|
|
21852
|
-
return {
|
|
22962
|
+
return {
|
|
22963
|
+
kind: "static",
|
|
22964
|
+
values: field.options.map((option) => option.value)
|
|
22965
|
+
};
|
|
21853
22966
|
case "site":
|
|
21854
22967
|
case "sdk":
|
|
21855
22968
|
return { kind: "runtime", source: source.kind };
|
|
@@ -21945,7 +23058,9 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
21945
23058
|
}
|
|
21946
23059
|
function normalizeObjectChildren(children, value, ctx) {
|
|
21947
23060
|
if (!value || typeof value !== "object" || Array.isArray(value)) return value;
|
|
21948
|
-
const normalized = {
|
|
23061
|
+
const normalized = {
|
|
23062
|
+
...value
|
|
23063
|
+
};
|
|
21949
23064
|
for (const child of children) {
|
|
21950
23065
|
normalized[child.fieldId] = normalizeFieldValue(child, normalized[child.fieldId], ctx);
|
|
21951
23066
|
}
|
|
@@ -22039,6 +23154,12 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
22039
23154
|
}
|
|
22040
23155
|
case "urlFormat":
|
|
22041
23156
|
return isValidUrl(value, constraint.allowRelative) ? [] : [issue(plan, "invalidUrl")];
|
|
23157
|
+
case "dateFormat":
|
|
23158
|
+
return isValidDateString(value) ? [] : [issue(plan, "invalidDate")];
|
|
23159
|
+
case "timeFormat":
|
|
23160
|
+
return isValidTimeString(value) ? [] : [issue(plan, "invalidTime")];
|
|
23161
|
+
case "datetimeFormat":
|
|
23162
|
+
return isValidDateTimeInstantString(value) ? [] : [issue(plan, "invalidDateTime")];
|
|
22042
23163
|
case "slugFormat":
|
|
22043
23164
|
return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
|
|
22044
23165
|
default:
|
|
@@ -22075,17 +23196,24 @@ function validateRepeaterPlan(plan, value, ctx) {
|
|
|
22075
23196
|
case "arrayType":
|
|
22076
23197
|
return [];
|
|
22077
23198
|
case "minItems":
|
|
22078
|
-
return value.length < constraint.minimum ? [
|
|
23199
|
+
return value.length < constraint.minimum ? [
|
|
23200
|
+
issue(plan, "tooFewItems", {
|
|
23201
|
+
minimum: constraint.minimum,
|
|
23202
|
+
itemLabel: "item"
|
|
23203
|
+
})
|
|
23204
|
+
] : [];
|
|
22079
23205
|
case "maxItems":
|
|
22080
|
-
return value.length > constraint.maximum ? [
|
|
23206
|
+
return value.length > constraint.maximum ? [
|
|
23207
|
+
issue(plan, "tooManyItems", {
|
|
23208
|
+
maximum: constraint.maximum,
|
|
23209
|
+
itemLabel: "item"
|
|
23210
|
+
})
|
|
23211
|
+
] : [];
|
|
22081
23212
|
default:
|
|
22082
23213
|
return assertNever2(constraint);
|
|
22083
23214
|
}
|
|
22084
23215
|
});
|
|
22085
|
-
return [
|
|
22086
|
-
...constraintIssues,
|
|
22087
|
-
...value.flatMap((item, index) => validateRepeaterItem(plan, item, index, ctx))
|
|
22088
|
-
];
|
|
23216
|
+
return [...constraintIssues, ...value.flatMap((item, index) => validateRepeaterItem(plan, item, index, ctx))];
|
|
22089
23217
|
}
|
|
22090
23218
|
function validateRepeaterItem(plan, item, index, ctx) {
|
|
22091
23219
|
if (!isPlainObject(item)) return [];
|
|
@@ -22128,9 +23256,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
|
22128
23256
|
}))
|
|
22129
23257
|
} : {},
|
|
22130
23258
|
...plan.repeatedItemPlan ? {
|
|
22131
|
-
repeatedItemPlan: plan.repeatedItemPlan.map(
|
|
22132
|
-
(fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix)
|
|
22133
|
-
)
|
|
23259
|
+
repeatedItemPlan: plan.repeatedItemPlan.map((fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix))
|
|
22134
23260
|
} : {}
|
|
22135
23261
|
};
|
|
22136
23262
|
case "string":
|
|
@@ -22217,6 +23343,9 @@ function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
|
22217
23343
|
case "invalidPhone":
|
|
22218
23344
|
case "invalidPattern":
|
|
22219
23345
|
case "invalidUrl":
|
|
23346
|
+
case "invalidDate":
|
|
23347
|
+
case "invalidTime":
|
|
23348
|
+
case "invalidDateTime":
|
|
22220
23349
|
case "invalidNumber":
|
|
22221
23350
|
case "tooSmall":
|
|
22222
23351
|
case "tooLarge":
|
|
@@ -22256,6 +23385,53 @@ function isValidUrl(value, allowRelative) {
|
|
|
22256
23385
|
return false;
|
|
22257
23386
|
}
|
|
22258
23387
|
}
|
|
23388
|
+
function isValidDateString(value) {
|
|
23389
|
+
const match = DATE_PATTERN.exec(value);
|
|
23390
|
+
if (!match?.groups) return false;
|
|
23391
|
+
const year = Number(match.groups.year);
|
|
23392
|
+
const month = Number(match.groups.month);
|
|
23393
|
+
const day = Number(match.groups.day);
|
|
23394
|
+
return isValidCalendarDate(year, month, day);
|
|
23395
|
+
}
|
|
23396
|
+
function isValidTimeString(value) {
|
|
23397
|
+
return TIME_PATTERN.test(value);
|
|
23398
|
+
}
|
|
23399
|
+
function isValidDateTimeInstantString(value) {
|
|
23400
|
+
const match = DATETIME_PATTERN.exec(value);
|
|
23401
|
+
if (!match?.groups) return false;
|
|
23402
|
+
const datePart = match.groups.date;
|
|
23403
|
+
if (!datePart || !isValidDateString(datePart)) return false;
|
|
23404
|
+
return !Number.isNaN(Date.parse(value));
|
|
23405
|
+
}
|
|
23406
|
+
function isValidCalendarDate(year, month, day) {
|
|
23407
|
+
if (!Number.isInteger(year) || !Number.isInteger(month) || !Number.isInteger(day)) return false;
|
|
23408
|
+
if (year < 1 || month < 1 || month > 12) return false;
|
|
23409
|
+
return day >= 1 && day <= daysInMonth(year, month);
|
|
23410
|
+
}
|
|
23411
|
+
function daysInMonth(year, month) {
|
|
23412
|
+
switch (month) {
|
|
23413
|
+
case 2:
|
|
23414
|
+
return isLeapYear(year) ? 29 : 28;
|
|
23415
|
+
case 4:
|
|
23416
|
+
case 6:
|
|
23417
|
+
case 9:
|
|
23418
|
+
case 11:
|
|
23419
|
+
return 30;
|
|
23420
|
+
case 1:
|
|
23421
|
+
case 3:
|
|
23422
|
+
case 5:
|
|
23423
|
+
case 7:
|
|
23424
|
+
case 8:
|
|
23425
|
+
case 10:
|
|
23426
|
+
case 12:
|
|
23427
|
+
return 31;
|
|
23428
|
+
default:
|
|
23429
|
+
return 0;
|
|
23430
|
+
}
|
|
23431
|
+
}
|
|
23432
|
+
function isLeapYear(year) {
|
|
23433
|
+
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
|
|
23434
|
+
}
|
|
22259
23435
|
function isValidSelectValue(value, values, multiple) {
|
|
22260
23436
|
if (multiple) {
|
|
22261
23437
|
return Array.isArray(value) && value.every((item) => typeof item === "string" && values.includes(item));
|
|
@@ -22548,6 +23724,342 @@ var heroBlockDefinition = {
|
|
|
22548
23724
|
manifest: heroManifest
|
|
22549
23725
|
};
|
|
22550
23726
|
|
|
23727
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
23728
|
+
init_defineBlock();
|
|
23729
|
+
|
|
23730
|
+
// ../blocks/src/system/fields/aspectRatio.ts
|
|
23731
|
+
var standardAspectRatioOptions = [
|
|
23732
|
+
{ value: "auto", label: "Auto (original)" },
|
|
23733
|
+
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
23734
|
+
{ value: "4/3", label: "4:3 (Standard)" },
|
|
23735
|
+
{ value: "1/1", label: "1:1 (Square)" },
|
|
23736
|
+
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
23737
|
+
];
|
|
23738
|
+
function createAspectRatioField(options = {}) {
|
|
23739
|
+
return {
|
|
23740
|
+
id: options.id ?? "aspectRatio",
|
|
23741
|
+
type: "select",
|
|
23742
|
+
label: options.label ?? "Aspect ratio",
|
|
23743
|
+
...options.description ? { description: options.description } : {},
|
|
23744
|
+
required: false,
|
|
23745
|
+
defaultValue: options.defaultValue ?? "auto",
|
|
23746
|
+
multiple: false,
|
|
23747
|
+
options: [...standardAspectRatioOptions],
|
|
23748
|
+
ui: {
|
|
23749
|
+
intent: options.uiIntent ?? "display",
|
|
23750
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
23751
|
+
}
|
|
23752
|
+
};
|
|
23753
|
+
}
|
|
23754
|
+
|
|
23755
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
23756
|
+
init_ctas();
|
|
23757
|
+
|
|
23758
|
+
// ../blocks/src/system/fields/imageLayout.ts
|
|
23759
|
+
function createImageColSizeField(options = {}) {
|
|
23760
|
+
const {
|
|
23761
|
+
id = "imageColSize",
|
|
23762
|
+
label = "Image column size",
|
|
23763
|
+
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
23764
|
+
defaultValue = "1/3",
|
|
23765
|
+
uiIntent = "display",
|
|
23766
|
+
visibleWhen
|
|
23767
|
+
} = options;
|
|
23768
|
+
return {
|
|
23769
|
+
id,
|
|
23770
|
+
type: "select",
|
|
23771
|
+
label,
|
|
23772
|
+
description,
|
|
23773
|
+
required: false,
|
|
23774
|
+
defaultValue,
|
|
23775
|
+
multiple: false,
|
|
23776
|
+
options: [
|
|
23777
|
+
{ value: "1/4", label: "Small (1/4)" },
|
|
23778
|
+
{ value: "1/3", label: "Medium (1/3)" },
|
|
23779
|
+
{ value: "2/5", label: "Large (2/5)" },
|
|
23780
|
+
{ value: "1/2", label: "Extra large (1/2)" },
|
|
23781
|
+
{ value: "2/3", label: "Huge (2/3)" }
|
|
23782
|
+
],
|
|
23783
|
+
ui: {
|
|
23784
|
+
intent: uiIntent,
|
|
23785
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
23786
|
+
}
|
|
23787
|
+
};
|
|
23788
|
+
}
|
|
23789
|
+
function createImagePositionField(options = {}) {
|
|
23790
|
+
const {
|
|
23791
|
+
id = "imagePosition",
|
|
23792
|
+
label = "Image position",
|
|
23793
|
+
description = "Choose which side the image appears on.",
|
|
23794
|
+
defaultValue = "left",
|
|
23795
|
+
includeAlternate = false,
|
|
23796
|
+
uiIntent = "display",
|
|
23797
|
+
visibleWhen
|
|
23798
|
+
} = options;
|
|
23799
|
+
const positionOptions = [
|
|
23800
|
+
{ value: "left", label: "Left" },
|
|
23801
|
+
{ value: "right", label: "Right" },
|
|
23802
|
+
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
23803
|
+
];
|
|
23804
|
+
return {
|
|
23805
|
+
id,
|
|
23806
|
+
type: "select",
|
|
23807
|
+
label,
|
|
23808
|
+
description,
|
|
23809
|
+
required: false,
|
|
23810
|
+
defaultValue,
|
|
23811
|
+
multiple: false,
|
|
23812
|
+
// Spread to get a mutable array type without unsafe casts.
|
|
23813
|
+
options: [...positionOptions],
|
|
23814
|
+
ui: {
|
|
23815
|
+
intent: uiIntent,
|
|
23816
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
23817
|
+
}
|
|
23818
|
+
};
|
|
23819
|
+
}
|
|
23820
|
+
|
|
23821
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
23822
|
+
init_builder();
|
|
23823
|
+
init_fragments();
|
|
23824
|
+
function introHeading(className) {
|
|
23825
|
+
return text(
|
|
23826
|
+
{
|
|
23827
|
+
as: "h2",
|
|
23828
|
+
className
|
|
23829
|
+
},
|
|
23830
|
+
when("content.title"),
|
|
23831
|
+
bind("content.title")
|
|
23832
|
+
);
|
|
23833
|
+
}
|
|
23834
|
+
function introBody(className = "rb-prose rb-max-w-none") {
|
|
23835
|
+
return richText({ className }, bind("content.body"));
|
|
23836
|
+
}
|
|
23837
|
+
function introCtas(justify = "start") {
|
|
23838
|
+
return ctaRow({
|
|
23839
|
+
justify,
|
|
23840
|
+
gap: "md",
|
|
23841
|
+
containerClassName: "rb-mt-2"
|
|
23842
|
+
});
|
|
23843
|
+
}
|
|
23844
|
+
function introCopyStack(options = {}) {
|
|
23845
|
+
return stack(
|
|
23846
|
+
{
|
|
23847
|
+
gap: "md",
|
|
23848
|
+
className: options.className ?? "rb-intro-copy"
|
|
23849
|
+
},
|
|
23850
|
+
[
|
|
23851
|
+
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
23852
|
+
introBody(options.bodyClassName),
|
|
23853
|
+
introCtas(options.ctaJustify)
|
|
23854
|
+
]
|
|
23855
|
+
);
|
|
23856
|
+
}
|
|
23857
|
+
var introMedia = media(
|
|
23858
|
+
{
|
|
23859
|
+
className: "rb-intro-media rb-w-full rb-h-auto rb-object-cover",
|
|
23860
|
+
style: {
|
|
23861
|
+
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
23862
|
+
}
|
|
23863
|
+
},
|
|
23864
|
+
bind("content.media")
|
|
23865
|
+
);
|
|
23866
|
+
var centeredCopyLayout = styledSection({
|
|
23867
|
+
children: styledContainer({
|
|
23868
|
+
rootType: "stack",
|
|
23869
|
+
rootProps: { gap: "lg" },
|
|
23870
|
+
children: [
|
|
23871
|
+
introCopyStack({
|
|
23872
|
+
className: "rb-intro-copy rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
23873
|
+
headingClassName: "rb-intro-title rb-text-center",
|
|
23874
|
+
bodyClassName: "rb-prose rb-mx-auto rb-max-w-none",
|
|
23875
|
+
ctaJustify: "center"
|
|
23876
|
+
})
|
|
23877
|
+
]
|
|
23878
|
+
}),
|
|
23879
|
+
baseClass: "",
|
|
23880
|
+
spacing: "medium"
|
|
23881
|
+
});
|
|
23882
|
+
var statementCopyLayout = styledSection({
|
|
23883
|
+
children: styledContainer({
|
|
23884
|
+
children: [
|
|
23885
|
+
el(
|
|
23886
|
+
"div",
|
|
23887
|
+
{
|
|
23888
|
+
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
23889
|
+
},
|
|
23890
|
+
[
|
|
23891
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
23892
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
23893
|
+
introBody(),
|
|
23894
|
+
introCtas("start")
|
|
23895
|
+
])
|
|
23896
|
+
]
|
|
23897
|
+
)
|
|
23898
|
+
]
|
|
23899
|
+
}),
|
|
23900
|
+
baseClass: "",
|
|
23901
|
+
spacing: "medium"
|
|
23902
|
+
});
|
|
23903
|
+
var statementMediaLayout = styledSection({
|
|
23904
|
+
children: styledContainer({
|
|
23905
|
+
children: [
|
|
23906
|
+
el(
|
|
23907
|
+
"div",
|
|
23908
|
+
{
|
|
23909
|
+
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"
|
|
23910
|
+
},
|
|
23911
|
+
[
|
|
23912
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
23913
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
23914
|
+
introBody(),
|
|
23915
|
+
introCtas("start")
|
|
23916
|
+
]),
|
|
23917
|
+
el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia], when("content.media"))
|
|
23918
|
+
]
|
|
23919
|
+
)
|
|
23920
|
+
]
|
|
23921
|
+
}),
|
|
23922
|
+
baseClass: "",
|
|
23923
|
+
spacing: "medium"
|
|
23924
|
+
});
|
|
23925
|
+
var mediaCopyLayout = styledSection({
|
|
23926
|
+
children: styledContainer({
|
|
23927
|
+
children: [
|
|
23928
|
+
responsiveTwoColumn({
|
|
23929
|
+
image: el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia]),
|
|
23930
|
+
text: introCopyStack({
|
|
23931
|
+
className: "rb-intro-copy rb-max-w-xl",
|
|
23932
|
+
headingClassName: "rb-intro-title"
|
|
23933
|
+
}),
|
|
23934
|
+
ratioFrom: "content.ratio",
|
|
23935
|
+
imagePositionFrom: "content.imagePosition",
|
|
23936
|
+
gapFrom: "content.gap",
|
|
23937
|
+
gapFallback: "comfortable",
|
|
23938
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
23939
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-center"
|
|
23940
|
+
})
|
|
23941
|
+
]
|
|
23942
|
+
}),
|
|
23943
|
+
baseClass: "",
|
|
23944
|
+
spacing: "medium"
|
|
23945
|
+
});
|
|
23946
|
+
var introConfig = {
|
|
23947
|
+
id: "block.intro",
|
|
23948
|
+
title: "Intro",
|
|
23949
|
+
category: "layout",
|
|
23950
|
+
includeContainerStyles: true,
|
|
23951
|
+
titleSource: "title",
|
|
23952
|
+
additionalFields: [
|
|
23953
|
+
{
|
|
23954
|
+
id: "title",
|
|
23955
|
+
type: "text",
|
|
23956
|
+
label: "Statement",
|
|
23957
|
+
required: false,
|
|
23958
|
+
multiline: true,
|
|
23959
|
+
maxLength: 160
|
|
23960
|
+
},
|
|
23961
|
+
{
|
|
23962
|
+
id: "body",
|
|
23963
|
+
type: "richText",
|
|
23964
|
+
label: "Text",
|
|
23965
|
+
required: true,
|
|
23966
|
+
ui: {
|
|
23967
|
+
richTextVariant: "limited"
|
|
23968
|
+
}
|
|
23969
|
+
},
|
|
23970
|
+
{
|
|
23971
|
+
id: "media",
|
|
23972
|
+
type: "media",
|
|
23973
|
+
label: "Media",
|
|
23974
|
+
required: false,
|
|
23975
|
+
mediaKinds: ["image"],
|
|
23976
|
+
ui: {
|
|
23977
|
+
intent: "content",
|
|
23978
|
+
visibleWhen: { field: "variant", notEquals: "statement-copy" }
|
|
23979
|
+
}
|
|
23980
|
+
},
|
|
23981
|
+
createImagePositionField({
|
|
23982
|
+
id: "imagePosition",
|
|
23983
|
+
label: "Image position",
|
|
23984
|
+
defaultValue: "left",
|
|
23985
|
+
uiIntent: "display",
|
|
23986
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
23987
|
+
}),
|
|
23988
|
+
{
|
|
23989
|
+
id: "gap",
|
|
23990
|
+
type: "select",
|
|
23991
|
+
label: "Gap between media and text",
|
|
23992
|
+
required: false,
|
|
23993
|
+
defaultValue: "comfortable",
|
|
23994
|
+
multiple: false,
|
|
23995
|
+
options: [
|
|
23996
|
+
{ value: "none", label: "None" },
|
|
23997
|
+
{ value: "compact", label: "Compact" },
|
|
23998
|
+
{ value: "cozy", label: "Cozy" },
|
|
23999
|
+
{ value: "medium", label: "Medium" },
|
|
24000
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
24001
|
+
{ value: "spacious", label: "Spacious" }
|
|
24002
|
+
],
|
|
24003
|
+
ui: {
|
|
24004
|
+
intent: "display",
|
|
24005
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
24006
|
+
}
|
|
24007
|
+
},
|
|
24008
|
+
createImageColSizeField({
|
|
24009
|
+
id: "ratio",
|
|
24010
|
+
label: "Media column size",
|
|
24011
|
+
defaultValue: "1/2",
|
|
24012
|
+
uiIntent: "display",
|
|
24013
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
24014
|
+
}),
|
|
24015
|
+
createAspectRatioField({
|
|
24016
|
+
id: "aspectRatio",
|
|
24017
|
+
label: "Media aspect ratio",
|
|
24018
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
24019
|
+
defaultValue: "auto",
|
|
24020
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
24021
|
+
}),
|
|
24022
|
+
createCtasRepeater({
|
|
24023
|
+
label: "Calls to action",
|
|
24024
|
+
itemLabel: "CTA",
|
|
24025
|
+
maxItems: 2
|
|
24026
|
+
})
|
|
24027
|
+
],
|
|
24028
|
+
layout: centeredCopyLayout,
|
|
24029
|
+
variants: {
|
|
24030
|
+
"centered-copy": centeredCopyLayout,
|
|
24031
|
+
"statement-copy": statementCopyLayout,
|
|
24032
|
+
"statement-media": statementMediaLayout,
|
|
24033
|
+
"media-copy": mediaCopyLayout
|
|
24034
|
+
},
|
|
24035
|
+
defaultVariant: "statement-copy",
|
|
24036
|
+
variantOptions: {
|
|
24037
|
+
"centered-copy": {
|
|
24038
|
+
label: "Centered copy",
|
|
24039
|
+
description: "A focused intro with centered text and optional calls to action."
|
|
24040
|
+
},
|
|
24041
|
+
"statement-copy": {
|
|
24042
|
+
label: "Statement and copy",
|
|
24043
|
+
description: "A large statement on the left with supporting copy on the right."
|
|
24044
|
+
},
|
|
24045
|
+
"statement-media": {
|
|
24046
|
+
label: "Statement, copy and media",
|
|
24047
|
+
description: "A three-part intro with statement, copy and a small image."
|
|
24048
|
+
},
|
|
24049
|
+
"media-copy": {
|
|
24050
|
+
label: "Media and copy",
|
|
24051
|
+
description: "A compact media/text intro for softer transitions after a hero."
|
|
24052
|
+
}
|
|
24053
|
+
},
|
|
24054
|
+
description: "A flexible introductory section for statement copy, supporting text, media, and CTAs.",
|
|
24055
|
+
tags: ["intro", "introduction", "about", "welcome", "statement", "media", "text"],
|
|
24056
|
+
icon: "PanelTopOpen"
|
|
24057
|
+
};
|
|
24058
|
+
var introManifest = createBlockManifest(introConfig);
|
|
24059
|
+
var introBlockDefinition = {
|
|
24060
|
+
manifest: introManifest
|
|
24061
|
+
};
|
|
24062
|
+
|
|
22551
24063
|
// ../blocks/src/system/blocks/body-text.ts
|
|
22552
24064
|
init_styledSection();
|
|
22553
24065
|
init_defineBlock();
|
|
@@ -23142,6 +24654,37 @@ var faqComposition = composeFragments([
|
|
|
23142
24654
|
{ fragment: faqHeadingFragment, fieldPriority: 0 },
|
|
23143
24655
|
{ fragment: faqAccordionFragment, fieldPriority: 1 }
|
|
23144
24656
|
]);
|
|
24657
|
+
function fragmentLayoutNode(layout) {
|
|
24658
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
24659
|
+
}
|
|
24660
|
+
function isNodeDefinitionArray(layout) {
|
|
24661
|
+
return Array.isArray(layout);
|
|
24662
|
+
}
|
|
24663
|
+
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
24664
|
+
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
24665
|
+
var defaultLayout = styledSection({
|
|
24666
|
+
children: styledContainer({
|
|
24667
|
+
baseClassName: "rb-relative rb-isolate",
|
|
24668
|
+
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, faqComposition.layout)
|
|
24669
|
+
}),
|
|
24670
|
+
baseClass: ""
|
|
24671
|
+
});
|
|
24672
|
+
var twoColumnLayout = styledSection({
|
|
24673
|
+
children: styledContainer({
|
|
24674
|
+
baseClassName: "rb-relative rb-isolate",
|
|
24675
|
+
children: el(
|
|
24676
|
+
"div",
|
|
24677
|
+
{
|
|
24678
|
+
className: "rb-faq-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
24679
|
+
},
|
|
24680
|
+
[
|
|
24681
|
+
el("div", { className: "rb-faq-two-column-heading" }, [headingLayout]),
|
|
24682
|
+
el("div", { className: "rb-faq-two-column-accordion" }, [accordionLayout])
|
|
24683
|
+
]
|
|
24684
|
+
)
|
|
24685
|
+
}),
|
|
24686
|
+
baseClass: ""
|
|
24687
|
+
});
|
|
23145
24688
|
var faqManifest = createBlockManifest({
|
|
23146
24689
|
id: "block.faq",
|
|
23147
24690
|
title: "FAQ",
|
|
@@ -23158,13 +24701,22 @@ var faqManifest = createBlockManifest({
|
|
|
23158
24701
|
label: "FAQ item styles"
|
|
23159
24702
|
})
|
|
23160
24703
|
],
|
|
23161
|
-
layout:
|
|
23162
|
-
|
|
23163
|
-
|
|
23164
|
-
|
|
23165
|
-
|
|
23166
|
-
|
|
23167
|
-
|
|
24704
|
+
layout: defaultLayout,
|
|
24705
|
+
variants: {
|
|
24706
|
+
default: defaultLayout,
|
|
24707
|
+
"two-column": twoColumnLayout
|
|
24708
|
+
},
|
|
24709
|
+
defaultVariant: "default",
|
|
24710
|
+
variantOptions: {
|
|
24711
|
+
default: {
|
|
24712
|
+
label: "Default",
|
|
24713
|
+
description: "A centered heading above one FAQ accordion."
|
|
24714
|
+
},
|
|
24715
|
+
"two-column": {
|
|
24716
|
+
label: "Two column",
|
|
24717
|
+
description: "A left heading column with FAQ items on the right."
|
|
24718
|
+
}
|
|
24719
|
+
},
|
|
23168
24720
|
description: "Accordion of frequently asked questions and answers.",
|
|
23169
24721
|
tags: ["faq", "questions", "answers", "help", "support", "accordion", "q&a"],
|
|
23170
24722
|
icon: "HelpCircle"
|
|
@@ -23821,7 +25373,8 @@ function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "
|
|
|
23821
25373
|
function resolveHeaderVisualStyles(header, tokens) {
|
|
23822
25374
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
23823
25375
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
23824
|
-
|
|
25376
|
+
const hasTransparentVariant = header?.variant === "transparent" || header?.variant === "floating";
|
|
25377
|
+
if (hasContainedNav || hasTransparentVariant) {
|
|
23825
25378
|
return {
|
|
23826
25379
|
backgroundToken: "transparent",
|
|
23827
25380
|
paletteHex: null,
|
|
@@ -23950,6 +25503,17 @@ var headerRootStyleTransform = {
|
|
|
23950
25503
|
return mergeStyles(...styleParts);
|
|
23951
25504
|
}
|
|
23952
25505
|
};
|
|
25506
|
+
var headerSectionBackgroundTransform = {
|
|
25507
|
+
id: "layout.headerSectionBackground",
|
|
25508
|
+
kind: "string",
|
|
25509
|
+
summary: "Resolve the inner site-header section background token",
|
|
25510
|
+
run: (value) => {
|
|
25511
|
+
const header = asPartialObject(value);
|
|
25512
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
25513
|
+
const usesTransparentRoot = header?.variant === "transparent" || header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill";
|
|
25514
|
+
return usesTransparentRoot ? "raw:transparent" : "background";
|
|
25515
|
+
}
|
|
25516
|
+
};
|
|
23953
25517
|
var footerRootStyleTransform = {
|
|
23954
25518
|
id: "layout.footerRootStyle",
|
|
23955
25519
|
kind: "formatter",
|
|
@@ -24208,6 +25772,7 @@ var layoutTransforms = [
|
|
|
24208
25772
|
headerRootClassTransform,
|
|
24209
25773
|
footerRootClassTransform,
|
|
24210
25774
|
headerRootStyleTransform,
|
|
25775
|
+
headerSectionBackgroundTransform,
|
|
24211
25776
|
footerRootStyleTransform,
|
|
24212
25777
|
footerBottomBarClassTransform,
|
|
24213
25778
|
footerBottomBarContainerClassTransform,
|
|
@@ -24712,7 +26277,10 @@ var editorialLayout = stack(
|
|
|
24712
26277
|
);
|
|
24713
26278
|
var headerLayout = headerSection(
|
|
24714
26279
|
{
|
|
24715
|
-
background: "
|
|
26280
|
+
background: bindProp("$root.theme.header", {
|
|
26281
|
+
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
26282
|
+
fallback: "background"
|
|
26283
|
+
}),
|
|
24716
26284
|
allowOverflow: true,
|
|
24717
26285
|
className: bindProp("$root.theme.header", {
|
|
24718
26286
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
@@ -25653,6 +27221,231 @@ var collectionBlockDefinition = {
|
|
|
25653
27221
|
manifest: collectionManifest
|
|
25654
27222
|
};
|
|
25655
27223
|
|
|
27224
|
+
// ../blocks/src/system/blocks/feature-cards.ts
|
|
27225
|
+
init_defineBlock();
|
|
27226
|
+
init_boxStyles();
|
|
27227
|
+
init_ctas();
|
|
27228
|
+
init_builder();
|
|
27229
|
+
init_fragments();
|
|
27230
|
+
init_colorStyles();
|
|
27231
|
+
function grid3(props2, children) {
|
|
27232
|
+
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
27233
|
+
}
|
|
27234
|
+
var sectionHeading = stack(
|
|
27235
|
+
{ gap: "sm", className: "rb-feature-cards-heading rb-mx-auto rb-max-w-3xl rb-text-center" },
|
|
27236
|
+
[
|
|
27237
|
+
text(
|
|
27238
|
+
{
|
|
27239
|
+
as: "h2",
|
|
27240
|
+
className: "rb-feature-cards-title rb-text-center"
|
|
27241
|
+
},
|
|
27242
|
+
when("content.title"),
|
|
27243
|
+
bind("content.title")
|
|
27244
|
+
),
|
|
27245
|
+
richText(
|
|
27246
|
+
{
|
|
27247
|
+
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
27248
|
+
style: textColorStyle("mutedText")
|
|
27249
|
+
},
|
|
27250
|
+
when("content.description"),
|
|
27251
|
+
bind("content.description")
|
|
27252
|
+
)
|
|
27253
|
+
]
|
|
27254
|
+
);
|
|
27255
|
+
var featureCard = styledCard(
|
|
27256
|
+
[
|
|
27257
|
+
media(
|
|
27258
|
+
{
|
|
27259
|
+
className: "rb-feature-card-media rb-w-full rb-h-auto rb-object-cover",
|
|
27260
|
+
style: {
|
|
27261
|
+
aspectRatio: { $bind: { from: "card.aspectRatio" } }
|
|
27262
|
+
}
|
|
27263
|
+
},
|
|
27264
|
+
when("card.media"),
|
|
27265
|
+
bind("card.media")
|
|
27266
|
+
),
|
|
27267
|
+
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
27268
|
+
text(
|
|
27269
|
+
{
|
|
27270
|
+
as: "h3",
|
|
27271
|
+
className: "rb-feature-card-title"
|
|
27272
|
+
},
|
|
27273
|
+
bind("card.title")
|
|
27274
|
+
),
|
|
27275
|
+
richText(
|
|
27276
|
+
{
|
|
27277
|
+
className: "rb-feature-card-body rb-prose rb-max-w-none",
|
|
27278
|
+
style: textColorStyle("mutedText")
|
|
27279
|
+
},
|
|
27280
|
+
when("card.body"),
|
|
27281
|
+
bind("card.body")
|
|
27282
|
+
),
|
|
27283
|
+
ctaRow({
|
|
27284
|
+
collectionPath: "ctas",
|
|
27285
|
+
itemName: "cta",
|
|
27286
|
+
gap: "sm",
|
|
27287
|
+
justify: "start",
|
|
27288
|
+
containerClassName: "rb-mt-auto"
|
|
27289
|
+
})
|
|
27290
|
+
])
|
|
27291
|
+
],
|
|
27292
|
+
{
|
|
27293
|
+
stylesFrom: "content._cardStyles",
|
|
27294
|
+
backgroundFrom: "content._cardStyles.background",
|
|
27295
|
+
baseClassName: "rb-feature-card rb-relative rb-isolate rb-overflow-hidden rb-border rb-flex rb-h-full rb-flex-col"
|
|
27296
|
+
},
|
|
27297
|
+
repeat("content.cards", "card")
|
|
27298
|
+
);
|
|
27299
|
+
var cardsLayout = styledSection({
|
|
27300
|
+
children: styledContainer({
|
|
27301
|
+
rootType: "stack",
|
|
27302
|
+
rootProps: { gap: "xl" },
|
|
27303
|
+
children: [
|
|
27304
|
+
sectionHeading,
|
|
27305
|
+
grid3(
|
|
27306
|
+
{
|
|
27307
|
+
cols: {
|
|
27308
|
+
$bind: {
|
|
27309
|
+
from: "content.columns",
|
|
27310
|
+
fallback: 3,
|
|
27311
|
+
coerce: "number"
|
|
27312
|
+
}
|
|
27313
|
+
},
|
|
27314
|
+
gap: "lg"
|
|
27315
|
+
},
|
|
27316
|
+
[featureCard]
|
|
27317
|
+
)
|
|
27318
|
+
]
|
|
27319
|
+
}),
|
|
27320
|
+
baseClass: "",
|
|
27321
|
+
spacing: "medium"
|
|
27322
|
+
});
|
|
27323
|
+
var featureCardsConfig = {
|
|
27324
|
+
id: "block.feature-cards",
|
|
27325
|
+
title: "Feature Cards",
|
|
27326
|
+
category: "layout",
|
|
27327
|
+
includeContainerStyles: true,
|
|
27328
|
+
titleSource: "title",
|
|
27329
|
+
additionalFields: [
|
|
27330
|
+
{
|
|
27331
|
+
id: "title",
|
|
27332
|
+
type: "text",
|
|
27333
|
+
label: "Title",
|
|
27334
|
+
required: false,
|
|
27335
|
+
multiline: false,
|
|
27336
|
+
maxLength: 120
|
|
27337
|
+
},
|
|
27338
|
+
{
|
|
27339
|
+
id: "description",
|
|
27340
|
+
type: "richText",
|
|
27341
|
+
label: "Description",
|
|
27342
|
+
required: false,
|
|
27343
|
+
ui: {
|
|
27344
|
+
richTextVariant: "limited"
|
|
27345
|
+
}
|
|
27346
|
+
},
|
|
27347
|
+
{
|
|
27348
|
+
id: "columns",
|
|
27349
|
+
type: "select",
|
|
27350
|
+
label: "Columns",
|
|
27351
|
+
required: false,
|
|
27352
|
+
defaultValue: "3",
|
|
27353
|
+
multiple: false,
|
|
27354
|
+
options: [
|
|
27355
|
+
{ value: "2", label: "2 columns" },
|
|
27356
|
+
{ value: "3", label: "3 columns" },
|
|
27357
|
+
{ value: "4", label: "4 columns" }
|
|
27358
|
+
],
|
|
27359
|
+
ui: { intent: "display" }
|
|
27360
|
+
},
|
|
27361
|
+
{
|
|
27362
|
+
id: "cards",
|
|
27363
|
+
type: "repeater",
|
|
27364
|
+
label: "Cards",
|
|
27365
|
+
required: false,
|
|
27366
|
+
minItems: 1,
|
|
27367
|
+
maxItems: 8,
|
|
27368
|
+
itemLabel: "Card",
|
|
27369
|
+
itemLabelSource: "title",
|
|
27370
|
+
allowConversion: true,
|
|
27371
|
+
ui: {
|
|
27372
|
+
intent: "content"
|
|
27373
|
+
},
|
|
27374
|
+
schema: {
|
|
27375
|
+
fields: [
|
|
27376
|
+
{
|
|
27377
|
+
id: "media",
|
|
27378
|
+
type: "media",
|
|
27379
|
+
label: "Image",
|
|
27380
|
+
required: false,
|
|
27381
|
+
mediaKinds: ["image"]
|
|
27382
|
+
},
|
|
27383
|
+
createAspectRatioField({
|
|
27384
|
+
id: "aspectRatio",
|
|
27385
|
+
label: "Image aspect ratio",
|
|
27386
|
+
defaultValue: "4/3",
|
|
27387
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
27388
|
+
}),
|
|
27389
|
+
{
|
|
27390
|
+
id: "title",
|
|
27391
|
+
type: "text",
|
|
27392
|
+
label: "Title",
|
|
27393
|
+
required: true,
|
|
27394
|
+
multiline: false,
|
|
27395
|
+
maxLength: 120
|
|
27396
|
+
},
|
|
27397
|
+
{
|
|
27398
|
+
id: "body",
|
|
27399
|
+
type: "richText",
|
|
27400
|
+
label: "Text",
|
|
27401
|
+
required: false,
|
|
27402
|
+
ui: {
|
|
27403
|
+
richTextVariant: "limited"
|
|
27404
|
+
}
|
|
27405
|
+
},
|
|
27406
|
+
createCtasRepeater({
|
|
27407
|
+
label: "Calls to action",
|
|
27408
|
+
itemLabel: "CTA",
|
|
27409
|
+
maxItems: 1,
|
|
27410
|
+
button: {
|
|
27411
|
+
variants: [
|
|
27412
|
+
{ value: "primary", label: "Primary" },
|
|
27413
|
+
{ value: "secondary", label: "Secondary" },
|
|
27414
|
+
{ value: "outline", label: "Outline" },
|
|
27415
|
+
{ value: "ghost", label: "Ghost" },
|
|
27416
|
+
{ value: "link", label: "Link" }
|
|
27417
|
+
],
|
|
27418
|
+
defaultVariant: "ghost"
|
|
27419
|
+
}
|
|
27420
|
+
})
|
|
27421
|
+
]
|
|
27422
|
+
}
|
|
27423
|
+
},
|
|
27424
|
+
cardStylesField({
|
|
27425
|
+
id: "_cardStyles",
|
|
27426
|
+
label: "Card styles"
|
|
27427
|
+
})
|
|
27428
|
+
],
|
|
27429
|
+
layout: cardsLayout,
|
|
27430
|
+
variants: {
|
|
27431
|
+
cards: cardsLayout
|
|
27432
|
+
},
|
|
27433
|
+
defaultVariant: "cards",
|
|
27434
|
+
variantOptions: {
|
|
27435
|
+
cards: {
|
|
27436
|
+
label: "Cards",
|
|
27437
|
+
description: "A responsive grid of image cards with optional calls to action."
|
|
27438
|
+
}
|
|
27439
|
+
},
|
|
27440
|
+
description: "A card grid for offerings, services, classes, benefits, or featured links.",
|
|
27441
|
+
tags: ["cards", "features", "offerings", "services", "classes", "grid", "links"],
|
|
27442
|
+
icon: "PanelsTopLeft"
|
|
27443
|
+
};
|
|
27444
|
+
var featureCardsManifest = createBlockManifest(featureCardsConfig);
|
|
27445
|
+
var featureCardsBlockDefinition = {
|
|
27446
|
+
manifest: featureCardsManifest
|
|
27447
|
+
};
|
|
27448
|
+
|
|
25656
27449
|
// ../blocks/src/system/blocks/media-text.ts
|
|
25657
27450
|
init_defineBlock();
|
|
25658
27451
|
|
|
@@ -25748,69 +27541,6 @@ function createCarouselBehaviorFields(options = {}) {
|
|
|
25748
27541
|
];
|
|
25749
27542
|
return fields3;
|
|
25750
27543
|
}
|
|
25751
|
-
|
|
25752
|
-
// ../blocks/src/system/fields/imageLayout.ts
|
|
25753
|
-
function createImageColSizeField(options = {}) {
|
|
25754
|
-
const {
|
|
25755
|
-
id = "imageColSize",
|
|
25756
|
-
label = "Image column size",
|
|
25757
|
-
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
25758
|
-
defaultValue = "1/3",
|
|
25759
|
-
uiIntent = "display",
|
|
25760
|
-
visibleWhen
|
|
25761
|
-
} = options;
|
|
25762
|
-
return {
|
|
25763
|
-
id,
|
|
25764
|
-
type: "select",
|
|
25765
|
-
label,
|
|
25766
|
-
description,
|
|
25767
|
-
required: false,
|
|
25768
|
-
defaultValue,
|
|
25769
|
-
multiple: false,
|
|
25770
|
-
options: [
|
|
25771
|
-
{ value: "1/4", label: "Small (1/4)" },
|
|
25772
|
-
{ value: "1/3", label: "Medium (1/3)" },
|
|
25773
|
-
{ value: "2/5", label: "Large (2/5)" },
|
|
25774
|
-
{ value: "1/2", label: "Extra large (1/2)" },
|
|
25775
|
-
{ value: "2/3", label: "Huge (2/3)" }
|
|
25776
|
-
],
|
|
25777
|
-
ui: {
|
|
25778
|
-
intent: uiIntent,
|
|
25779
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
25780
|
-
}
|
|
25781
|
-
};
|
|
25782
|
-
}
|
|
25783
|
-
function createImagePositionField(options = {}) {
|
|
25784
|
-
const {
|
|
25785
|
-
id = "imagePosition",
|
|
25786
|
-
label = "Image position",
|
|
25787
|
-
description = "Choose which side the image appears on.",
|
|
25788
|
-
defaultValue = "left",
|
|
25789
|
-
includeAlternate = false,
|
|
25790
|
-
uiIntent = "display",
|
|
25791
|
-
visibleWhen
|
|
25792
|
-
} = options;
|
|
25793
|
-
const positionOptions = [
|
|
25794
|
-
{ value: "left", label: "Left" },
|
|
25795
|
-
{ value: "right", label: "Right" },
|
|
25796
|
-
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
25797
|
-
];
|
|
25798
|
-
return {
|
|
25799
|
-
id,
|
|
25800
|
-
type: "select",
|
|
25801
|
-
label,
|
|
25802
|
-
description,
|
|
25803
|
-
required: false,
|
|
25804
|
-
defaultValue,
|
|
25805
|
-
multiple: false,
|
|
25806
|
-
// Spread to get a mutable array type without unsafe casts.
|
|
25807
|
-
options: [...positionOptions],
|
|
25808
|
-
ui: {
|
|
25809
|
-
intent: uiIntent,
|
|
25810
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
25811
|
-
}
|
|
25812
|
-
};
|
|
25813
|
-
}
|
|
25814
27544
|
var textCardStylesField = (() => {
|
|
25815
27545
|
const field = cardStylesField({
|
|
25816
27546
|
id: "_textCardStyles",
|
|
@@ -25928,26 +27658,13 @@ var mediaTextManifest = createBlockManifest({
|
|
|
25928
27658
|
},
|
|
25929
27659
|
ui: { intent: "behavior" }
|
|
25930
27660
|
}),
|
|
25931
|
-
{
|
|
27661
|
+
createAspectRatioField({
|
|
25932
27662
|
id: "aspectRatio",
|
|
25933
|
-
type: "select",
|
|
25934
27663
|
label: "Media aspect ratio",
|
|
25935
27664
|
description: "Crop media to a consistent aspect ratio.",
|
|
25936
|
-
required: false,
|
|
25937
27665
|
defaultValue: "auto",
|
|
25938
|
-
|
|
25939
|
-
|
|
25940
|
-
{ value: "auto", label: "Auto (original)" },
|
|
25941
|
-
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
25942
|
-
{ value: "4/3", label: "4:3 (Standard)" },
|
|
25943
|
-
{ value: "1/1", label: "1:1 (Square)" },
|
|
25944
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
25945
|
-
],
|
|
25946
|
-
ui: {
|
|
25947
|
-
intent: "display",
|
|
25948
|
-
visibleWhen: { field: "images", notEquals: null }
|
|
25949
|
-
}
|
|
25950
|
-
},
|
|
27666
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
27667
|
+
}),
|
|
25951
27668
|
{
|
|
25952
27669
|
id: "text",
|
|
25953
27670
|
type: "richText",
|
|
@@ -26077,7 +27794,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26077
27794
|
whenImagesLength(0)
|
|
26078
27795
|
);
|
|
26079
27796
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
26080
|
-
const
|
|
27797
|
+
const defaultLayout2 = styledSection({
|
|
26081
27798
|
children: styledContainer({
|
|
26082
27799
|
rootType: "stack",
|
|
26083
27800
|
rootProps: { gap: "lg" },
|
|
@@ -26109,9 +27826,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
26109
27826
|
spacing: "medium"
|
|
26110
27827
|
});
|
|
26111
27828
|
return {
|
|
26112
|
-
layout:
|
|
27829
|
+
layout: defaultLayout2,
|
|
26113
27830
|
variants: {
|
|
26114
|
-
default:
|
|
27831
|
+
default: defaultLayout2
|
|
26115
27832
|
},
|
|
26116
27833
|
defaultVariant: "default",
|
|
26117
27834
|
variantOptions: {
|
|
@@ -28102,7 +29819,7 @@ init_builder();
|
|
|
28102
29819
|
init_colorStyles();
|
|
28103
29820
|
init_defineBlock();
|
|
28104
29821
|
init_fragments();
|
|
28105
|
-
var
|
|
29822
|
+
var grid4 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
28106
29823
|
var galleryContainer = (children, opts) => {
|
|
28107
29824
|
const gap = opts?.gap;
|
|
28108
29825
|
const withExtraClass = (baseClass) => opts?.className ? `${baseClass} ${opts.className}` : baseClass;
|
|
@@ -28182,7 +29899,7 @@ var galleryItem = (options) => stack(
|
|
|
28182
29899
|
],
|
|
28183
29900
|
repeat("content.images", "item")
|
|
28184
29901
|
);
|
|
28185
|
-
var gridLayout3 =
|
|
29902
|
+
var gridLayout3 = grid4(
|
|
28186
29903
|
{
|
|
28187
29904
|
className: "rb-grid rb-grid-cols-1 rb-gap-4 rb-sm-grid-cols-2 rb-md-grid-cols-3"
|
|
28188
29905
|
},
|
|
@@ -28790,7 +30507,7 @@ init_builder();
|
|
|
28790
30507
|
init_fragments();
|
|
28791
30508
|
init_colorStyles();
|
|
28792
30509
|
init_defineBlock();
|
|
28793
|
-
var
|
|
30510
|
+
var grid5 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
28794
30511
|
var videoItem = (options) => stack(
|
|
28795
30512
|
{ gap: "xs", className: options.containerClassName },
|
|
28796
30513
|
[
|
|
@@ -28840,7 +30557,7 @@ var gridColumnsClass = (columns) => {
|
|
|
28840
30557
|
return "rb-grid rb-grid-cols-1 rb-gap-6 rb-sm-grid-cols-2 rb-md-grid-cols-3";
|
|
28841
30558
|
}
|
|
28842
30559
|
};
|
|
28843
|
-
var createGridLayout = (columns) =>
|
|
30560
|
+
var createGridLayout = (columns) => grid5(
|
|
28844
30561
|
{
|
|
28845
30562
|
className: gridColumnsClass(columns)
|
|
28846
30563
|
},
|
|
@@ -30926,6 +32643,40 @@ var systemBlockDefinitionsRaw = [
|
|
|
30926
32643
|
})
|
|
30927
32644
|
]
|
|
30928
32645
|
})),
|
|
32646
|
+
withDesignCapability("block.intro", introBlockDefinition, declareBlockDesignCapability({
|
|
32647
|
+
sectionSurfaces: "supported",
|
|
32648
|
+
contentFrames: ["plain", "panel"],
|
|
32649
|
+
itemSurfaces: "unsupported",
|
|
32650
|
+
headingDecorations: ["organic-squiggle"]
|
|
32651
|
+
}), defineBlockDesignMetadata({
|
|
32652
|
+
flow: bodyFlow,
|
|
32653
|
+
layoutProfiles: [
|
|
32654
|
+
layoutProfile({
|
|
32655
|
+
variantKey: "centered-copy",
|
|
32656
|
+
family: "centered",
|
|
32657
|
+
weight: "featured",
|
|
32658
|
+
bias: "soft"
|
|
32659
|
+
}),
|
|
32660
|
+
layoutProfile({
|
|
32661
|
+
variantKey: "statement-copy",
|
|
32662
|
+
family: "split",
|
|
32663
|
+
weight: "featured",
|
|
32664
|
+
bias: "merge"
|
|
32665
|
+
}),
|
|
32666
|
+
layoutProfile({
|
|
32667
|
+
variantKey: "statement-media",
|
|
32668
|
+
family: "media-text",
|
|
32669
|
+
weight: "featured",
|
|
32670
|
+
bias: "soft"
|
|
32671
|
+
}),
|
|
32672
|
+
layoutProfile({
|
|
32673
|
+
variantKey: "media-copy",
|
|
32674
|
+
family: "media-text",
|
|
32675
|
+
weight: "featured",
|
|
32676
|
+
bias: "soft"
|
|
32677
|
+
})
|
|
32678
|
+
]
|
|
32679
|
+
})),
|
|
30929
32680
|
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
30930
32681
|
flow: bodyFlow,
|
|
30931
32682
|
layoutProfiles: [
|
|
@@ -30986,9 +32737,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
30986
32737
|
flow: conversionFlow,
|
|
30987
32738
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
30988
32739
|
})),
|
|
30989
|
-
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(
|
|
32740
|
+
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
32741
|
+
sectionSurfaces: "supported",
|
|
32742
|
+
contentFrames: ["plain", "panel"],
|
|
32743
|
+
itemSurfaces: "supported",
|
|
32744
|
+
accordionIconSets: ["plus", "chevron", "caret", "minimal-cross"]
|
|
32745
|
+
}), standardEyebrowTreatments), defineBlockDesignMetadata({
|
|
30990
32746
|
flow: bodyFlow,
|
|
30991
|
-
layoutProfiles: [
|
|
32747
|
+
layoutProfiles: [
|
|
32748
|
+
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
32749
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
32750
|
+
]
|
|
30992
32751
|
})),
|
|
30993
32752
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
30994
32753
|
flow: siteChromeFlow,
|
|
@@ -31002,7 +32761,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
31002
32761
|
sectionSurfaces: "supported",
|
|
31003
32762
|
contentFrames: ["plain", "panel"],
|
|
31004
32763
|
itemSurfaces: "supported",
|
|
31005
|
-
testimonialCardTreatments: ["default", "accent-quote"]
|
|
32764
|
+
testimonialCardTreatments: ["default", "accent-quote"],
|
|
32765
|
+
headingDecorations: ["short-center-rule"]
|
|
31006
32766
|
}), defineBlockDesignMetadata({
|
|
31007
32767
|
flow: proofFlow,
|
|
31008
32768
|
layoutProfiles: [
|
|
@@ -31028,6 +32788,22 @@ var systemBlockDefinitionsRaw = [
|
|
|
31028
32788
|
flow: offeringsFlow,
|
|
31029
32789
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "grid", weight: "standard" })]
|
|
31030
32790
|
})),
|
|
32791
|
+
withDesignCapability("block.feature-cards", featureCardsBlockDefinition, declareBlockDesignCapability({
|
|
32792
|
+
sectionSurfaces: "supported",
|
|
32793
|
+
contentFrames: ["plain", "panel"],
|
|
32794
|
+
itemSurfaces: "supported",
|
|
32795
|
+
headingDecorations: ["short-center-rule"]
|
|
32796
|
+
}), defineBlockDesignMetadata({
|
|
32797
|
+
flow: offeringsFlow,
|
|
32798
|
+
layoutProfiles: [
|
|
32799
|
+
layoutProfile({
|
|
32800
|
+
variantKey: "cards",
|
|
32801
|
+
family: "grid",
|
|
32802
|
+
weight: "standard",
|
|
32803
|
+
bias: "soft"
|
|
32804
|
+
})
|
|
32805
|
+
]
|
|
32806
|
+
})),
|
|
31031
32807
|
withDesignCapability("block.media-text", mediaTextBlockDefinition, mediaPanelCapable(), defineBlockDesignMetadata({
|
|
31032
32808
|
flow: mediaFlow,
|
|
31033
32809
|
layoutProfiles: [
|
|
@@ -34881,8 +36657,10 @@ z.object({
|
|
|
34881
36657
|
var SYSTEM_BLOCK_KINDS = [
|
|
34882
36658
|
// Layout blocks
|
|
34883
36659
|
"block.hero",
|
|
36660
|
+
"block.intro",
|
|
34884
36661
|
"block.columns",
|
|
34885
36662
|
"block.collection",
|
|
36663
|
+
"block.feature-cards",
|
|
34886
36664
|
"block.media-text",
|
|
34887
36665
|
"block.cta-full",
|
|
34888
36666
|
"block.single-button",
|
|
@@ -36336,7 +38114,12 @@ function buildApplySiteStyleSelectionCommand(input) {
|
|
|
36336
38114
|
buttonPersonalityId: input.buttonPersonalityId,
|
|
36337
38115
|
paletteVariantId: input.paletteVariantId,
|
|
36338
38116
|
paletteOverrides: input.paletteOverrides,
|
|
38117
|
+
typographyPresetId: input.typographyPresetId,
|
|
38118
|
+
typographyBodyFontOverride: input.typographyBodyFontOverride,
|
|
38119
|
+
typographyHeadingFontOverride: input.typographyHeadingFontOverride,
|
|
36339
38120
|
headerLookId: input.headerLookId,
|
|
38121
|
+
headerLayoutId: input.headerLayoutId,
|
|
38122
|
+
headerStyleId: input.headerStyleId,
|
|
36340
38123
|
footerLookId: input.footerLookId,
|
|
36341
38124
|
baseSelectionVersion: input.baseSelectionVersion
|
|
36342
38125
|
}
|
|
@@ -36352,7 +38135,12 @@ function applySiteStyleSelectionBodyFromCommand(command, selectionId) {
|
|
|
36352
38135
|
buttonPersonalityId: command.input.buttonPersonalityId,
|
|
36353
38136
|
paletteVariantId: command.input.paletteVariantId,
|
|
36354
38137
|
paletteOverrides: command.input.paletteOverrides,
|
|
38138
|
+
typographyPresetId: command.input.typographyPresetId,
|
|
38139
|
+
typographyBodyFontOverride: command.input.typographyBodyFontOverride,
|
|
38140
|
+
typographyHeadingFontOverride: command.input.typographyHeadingFontOverride,
|
|
36355
38141
|
headerLookId: command.input.headerLookId,
|
|
38142
|
+
headerLayoutId: command.input.headerLayoutId,
|
|
38143
|
+
headerStyleId: command.input.headerStyleId,
|
|
36356
38144
|
footerLookId: command.input.footerLookId,
|
|
36357
38145
|
baseSelectionVersion,
|
|
36358
38146
|
selectionId
|
|
@@ -44194,7 +45982,12 @@ var applySiteStyleSelectionCommandSchema = z.object({
|
|
|
44194
45982
|
buttonPersonalityId: styleCatalogIdSchema.nullable(),
|
|
44195
45983
|
paletteVariantId: styleCatalogIdSchema.nullable(),
|
|
44196
45984
|
paletteOverrides: paletteOverridesSchema2.nullable(),
|
|
45985
|
+
typographyPresetId: styleCatalogIdSchema.nullable().optional(),
|
|
45986
|
+
typographyBodyFontOverride: z.string().trim().min(1).nullable().optional(),
|
|
45987
|
+
typographyHeadingFontOverride: z.string().trim().min(1).nullable().optional(),
|
|
44197
45988
|
headerLookId: styleCatalogIdSchema.nullable(),
|
|
45989
|
+
headerLayoutId: styleCatalogIdSchema,
|
|
45990
|
+
headerStyleId: styleCatalogIdSchema,
|
|
44198
45991
|
footerLookId: styleCatalogIdSchema.nullable(),
|
|
44199
45992
|
baseSelectionVersion: styleSelectionVersionSchema.optional()
|
|
44200
45993
|
}).strict()
|
|
@@ -54508,7 +56301,7 @@ var SimpleCache = class {
|
|
|
54508
56301
|
};
|
|
54509
56302
|
|
|
54510
56303
|
// src/version.ts
|
|
54511
|
-
var SDK_VERSION = "0.
|
|
56304
|
+
var SDK_VERSION = "0.77.0";
|
|
54512
56305
|
|
|
54513
56306
|
// src/client/error.ts
|
|
54514
56307
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -54936,6 +56729,24 @@ function getPrebuildModule() {
|
|
|
54936
56729
|
return null;
|
|
54937
56730
|
}
|
|
54938
56731
|
}
|
|
56732
|
+
function mergeDefaultHeaders(defaultHeaders, options) {
|
|
56733
|
+
if (!defaultHeaders || Object.keys(defaultHeaders).length === 0) {
|
|
56734
|
+
return options;
|
|
56735
|
+
}
|
|
56736
|
+
return {
|
|
56737
|
+
...options,
|
|
56738
|
+
headers: {
|
|
56739
|
+
...defaultHeaders,
|
|
56740
|
+
...Object.fromEntries(new Headers(options?.headers).entries())
|
|
56741
|
+
}
|
|
56742
|
+
};
|
|
56743
|
+
}
|
|
56744
|
+
function withDefaultHeaders(apiClient, defaultHeaders) {
|
|
56745
|
+
return async (params) => apiClient({
|
|
56746
|
+
...params,
|
|
56747
|
+
options: mergeDefaultHeaders(defaultHeaders, params.options)
|
|
56748
|
+
});
|
|
56749
|
+
}
|
|
54939
56750
|
setSdkVersion(SDK_VERSION);
|
|
54940
56751
|
var DEFAULT_BROWSER_TIMEOUT_MS = 5e3;
|
|
54941
56752
|
var DEFAULT_SERVER_TIMEOUT_MS = 8e3;
|
|
@@ -55135,7 +56946,8 @@ function createRiverbankClient(config2) {
|
|
|
55135
56946
|
keyType = "preview";
|
|
55136
56947
|
break;
|
|
55137
56948
|
}
|
|
55138
|
-
const
|
|
56949
|
+
const baseApiClient = authConfig.type === "none" ? createInternalAPIClient(config2.baseUrl) : authConfig.type === "api-key" ? createBearerAPIClient(authConfig.key, config2.baseUrl) : createBearerAPIClient(authConfig.token, config2.baseUrl);
|
|
56950
|
+
const apiClient = withDefaultHeaders(baseApiClient, config2.defaultHeaders);
|
|
55139
56951
|
const cache = new SimpleCache({
|
|
55140
56952
|
maxSize: cacheMaxSize,
|
|
55141
56953
|
ttl: cacheTTL,
|
|
@@ -61294,12 +63106,19 @@ function buildStyleSelectionApplyInputFromOptions(options) {
|
|
|
61294
63106
|
if (!Number.isInteger(baseSelectionVersion) || baseSelectionVersion < 0) {
|
|
61295
63107
|
throw new Error("--base-selection-version must be a non-negative integer");
|
|
61296
63108
|
}
|
|
63109
|
+
const siteStyle = getCuratedSiteStyle(asSiteStyleId(options.siteStyleId));
|
|
63110
|
+
const defaultHeaderSelection = siteStyle?.defaultHeaderSelection;
|
|
61297
63111
|
return {
|
|
61298
63112
|
siteStyleId: options.siteStyleId,
|
|
61299
63113
|
buttonPersonalityId: options.buttonPersonalityId ?? null,
|
|
61300
63114
|
paletteVariantId: options.paletteVariantId ?? null,
|
|
61301
63115
|
paletteOverrides: parsePaletteOverrides(options.paletteOverrides),
|
|
63116
|
+
typographyPresetId: options.typographyPresetId ?? null,
|
|
63117
|
+
typographyBodyFontOverride: options.typographyBodyFontOverride ?? null,
|
|
63118
|
+
typographyHeadingFontOverride: options.typographyHeadingFontOverride ?? null,
|
|
61302
63119
|
headerLookId: options.headerLookId ?? null,
|
|
63120
|
+
headerLayoutId: options.headerLayoutId ?? defaultHeaderSelection?.layoutId ?? guaranteedFallbackHeaderLayoutId,
|
|
63121
|
+
headerStyleId: options.headerStyleId ?? defaultHeaderSelection?.styleId ?? guaranteedFallbackHeaderStyleId,
|
|
61303
63122
|
footerLookId: options.footerLookId ?? null,
|
|
61304
63123
|
baseSelectionVersion,
|
|
61305
63124
|
selectionId: options.selectionId ?? null
|
|
@@ -61334,6 +63153,18 @@ function buildStyleCatalogListRows(styles = curatedSiteStyles, options = {}) {
|
|
|
61334
63153
|
id: choice.id,
|
|
61335
63154
|
label: findButtonPersonality(choice.id)?.name ?? choice.id
|
|
61336
63155
|
})),
|
|
63156
|
+
typographyPresets: style.typographyPresetChoices.map((choice) => ({
|
|
63157
|
+
id: choice.id,
|
|
63158
|
+
label: findTypographyPreset(choice.id)?.name ?? choice.id
|
|
63159
|
+
})),
|
|
63160
|
+
headerLayouts: style.recommendedHeaderLayoutChoices.map((choice) => ({
|
|
63161
|
+
id: choice.id,
|
|
63162
|
+
label: getHeaderLayout(choice.id)?.label ?? choice.id
|
|
63163
|
+
})),
|
|
63164
|
+
headerStyles: uniqueChoiceIds(Object.values(style.recommendedHeaderStyleChoicesByLayout).flatMap((choices) => choices?.map((choice) => choice.id) ?? [])).map((styleId) => ({
|
|
63165
|
+
id: styleId,
|
|
63166
|
+
label: getHeaderStyle(styleId)?.label ?? styleId
|
|
63167
|
+
})),
|
|
61337
63168
|
headerLooks: style.recommendedHeaderLookIds.map((lookId) => ({
|
|
61338
63169
|
id: lookId,
|
|
61339
63170
|
label: findHeaderLook(lookId)?.label ?? lookId
|
|
@@ -61350,10 +63181,21 @@ function formatStyleCatalogListRow(row) {
|
|
|
61350
63181
|
row.name,
|
|
61351
63182
|
formatChoiceList(row.palettes),
|
|
61352
63183
|
formatChoiceList(row.buttonPersonalities),
|
|
63184
|
+
formatChoiceList(row.typographyPresets),
|
|
63185
|
+
formatChoiceList(row.headerLayouts),
|
|
63186
|
+
formatChoiceList(row.headerStyles),
|
|
61353
63187
|
formatChoiceList(row.headerLooks),
|
|
61354
63188
|
formatChoiceList(row.footerLooks)
|
|
61355
63189
|
];
|
|
61356
63190
|
}
|
|
63191
|
+
function uniqueChoiceIds(choices) {
|
|
63192
|
+
const seen = /* @__PURE__ */ new Set();
|
|
63193
|
+
return choices.filter((choice) => {
|
|
63194
|
+
if (seen.has(choice)) return false;
|
|
63195
|
+
seen.add(choice);
|
|
63196
|
+
return true;
|
|
63197
|
+
});
|
|
63198
|
+
}
|
|
61357
63199
|
function formatChoiceList(choices) {
|
|
61358
63200
|
return choices.map((choice) => `${choice.id} (${choice.label})`).join(", ");
|
|
61359
63201
|
}
|
|
@@ -61365,12 +63207,12 @@ var listCommand8 = new Command("list").description("List curated site styles and
|
|
|
61365
63207
|
output.error(`Unknown site style: ${options.siteStyleId}`);
|
|
61366
63208
|
}
|
|
61367
63209
|
output.table(
|
|
61368
|
-
["Site Style ID", "Name", "Palettes", "Buttons", "Header Looks", "Footer Looks"],
|
|
63210
|
+
["Site Style ID", "Name", "Palettes", "Buttons", "Typography", "Header Layouts", "Header Styles", "Header Looks", "Footer Looks"],
|
|
61369
63211
|
rows.map(formatStyleCatalogListRow)
|
|
61370
63212
|
);
|
|
61371
63213
|
})
|
|
61372
63214
|
);
|
|
61373
|
-
var applyCommand = new Command("apply").description("Apply a curated site-style selection").requiredOption("--site-style-id <id>", "Site style ID, e.g. site-style:calm-studio").requiredOption("--base-selection-version <version>", "Current style selection version").option("--selection-id <id>", "Current style selection row ID").option("--button-personality-id <id>", "Button personality ID").option("--palette-variant-id <id>", "Palette variant ID").option("--palette-overrides <json>", "JSON object of palette token overrides").option("--header-look-id <id>", "
|
|
63215
|
+
var applyCommand = new Command("apply").description("Apply a curated site-style selection").requiredOption("--site-style-id <id>", "Site style ID, e.g. site-style:calm-studio").requiredOption("--base-selection-version <version>", "Current style selection version").option("--selection-id <id>", "Current style selection row ID").option("--button-personality-id <id>", "Button personality ID").option("--palette-variant-id <id>", "Palette variant ID").option("--palette-overrides <json>", "JSON object of palette token overrides").option("--typography-preset-id <id>", "Typography preset ID").option("--typography-body-font-override <family>", "Body font family override").option("--typography-heading-font-override <family>", "Heading font family override").option("--header-look-id <id>", "Legacy header look bridge ID").option("--header-layout-id <id>", "Header layout ID").option("--header-style-id <id>", "Header style ID").option("--footer-look-id <id>", "Footer look ID").action(
|
|
61374
63216
|
withErrorHandling(async (options, command) => {
|
|
61375
63217
|
const { output, client } = createCommandContext(command);
|
|
61376
63218
|
const input = buildStyleSelectionApplyInputFromOptions(options);
|