@riverbankcms/sdk 0.76.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/dist/{PreviewEditorSidebar-X2HWXFOL.mjs → PreviewEditorSidebar-XSX7QKHQ.mjs} +1019 -442
- package/dist/{PreviewEditorUI-AQXIXPOH.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/contentRuntime.d.ts +5 -0
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -0
- package/dist/_dts/block-form/src/client/index.d.ts +2 -2
- package/dist/_dts/block-form/src/index.d.ts +2 -1
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +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/nodes/accordion.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
- package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
- package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
- package/dist/_dts/sdk/src/client/types.d.ts +9 -0
- package/dist/_dts/sdk/src/client.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
- package/dist/_dts/sdk/src/index.d.ts +2 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
- 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-V5VORNEJ.mjs → chunk-ANKDYZ2E.mjs} +1 -1
- package/dist/{chunk-Q4OLG66B.mjs → chunk-EAWHBECW.mjs} +476 -153
- package/dist/{chunk-TW2Y4RR5.mjs → chunk-GSQX43EZ.mjs} +383 -51
- package/dist/{chunk-LYI7TEMH.mjs → chunk-WLQBJN2Z.mjs} +3096 -354
- package/dist/cli/index.mjs +2023 -181
- package/dist/client/{accordion-2YHIBOZH.mjs → accordion-RZMQSYLR.mjs} +1 -1
- package/dist/client/{bookingForm-35IBDWAS.mjs → bookingForm-NF4ASVNV.mjs} +2 -2
- package/dist/client/bookings.mjs +92 -0
- package/dist/client/{carousel-K6XG7NZQ.mjs → carousel-LDX47ZIK.mjs} +1 -1
- package/dist/client/{cart-HCFYUTTU.mjs → cart-RGXDS5F4.mjs} +3 -3
- package/dist/client/{checkout-J3U4XR7K.mjs → checkout-P7WWSNNY.mjs} +3 -3
- package/dist/client/{chunk-BOIHIU7E.mjs → chunk-E2TDNXCL.mjs} +1 -1
- package/dist/client/{chunk-PFBX3IQL.mjs → chunk-GMVTOKYG.mjs} +2 -2
- package/dist/client/{chunk-FGUIVT2B.mjs → chunk-JNC7CGHX.mjs} +1 -1
- package/dist/client/{chunk-SNSWVZEP.mjs → chunk-L3DNHIJX.mjs} +3 -3
- package/dist/client/{chunk-7UOSCYY4.mjs → chunk-R56FQ3RR.mjs} +92 -0
- package/dist/client/{chunk-J227A3CQ.mjs → chunk-UFSWADAO.mjs} +1 -1
- package/dist/client/client.mjs +2134 -228
- package/dist/client/{courseRegistration-ZBXS7VGI.mjs → courseRegistration-7F65K5ZR.mjs} +2 -2
- package/dist/client/{eventCalendar-EQQZHJBA.mjs → eventCalendar-GLSC5KTL.mjs} +4 -4
- package/dist/client/{eventCombined-JCFTGBFQ.mjs → eventCombined-ZHK4WKUR.mjs} +4 -4
- package/dist/client/{eventDetails-HLUTQSYY.mjs → eventDetails-E3PJYBIN.mjs} +4 -4
- package/dist/client/{eventListing-FG4MICVB.mjs → eventListing-EMS3WC3E.mjs} +4 -4
- package/dist/client/{eventRegistration-GUEB7LBT.mjs → eventRegistration-NZOTVNPI.mjs} +4 -4
- package/dist/client/{form-YQEW4YIT.mjs → form-ETFZFATW.mjs} +1 -1
- package/dist/client/{headerSection-GTR3TTRM.mjs → headerSection-4LBP7ULT.mjs} +2 -2
- package/dist/client/hooks.mjs +1918 -293
- package/dist/client/{locationMap-SPC7VGUH.mjs → locationMap-5M655YSJ.mjs} +1 -1
- package/dist/client/{newsletterForm-4IW5BLID.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
- package/dist/client/{productDetail-KP5H2WJO.mjs → productDetail-O4DOCWQG.mjs} +3 -3
- package/dist/client/{productList-3M3M72XZ.mjs → productList-A5RO5WIS.mjs} +3 -3
- package/dist/client/rendering/client.mjs +198 -32
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +2095 -208
- package/dist/client/{shop-ACQKVGOM.mjs → shop-L4MZH4I2.mjs} +3 -3
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/{sdk-runtime-K7HNB4U2.mjs → sdk-runtime-Q6MTR4KL.mjs} +5 -5
- package/dist/server/components.mjs +2046 -204
- 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 +2067 -206
- package/dist/server/page-converter.mjs +1894 -281
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2046 -204
- package/dist/server/rendering.mjs +2046 -204
- 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-ZQNDCASH.mjs +0 -8
|
@@ -3098,10 +3098,12 @@ function defineBlockDesignCapability(capability) {
|
|
|
3098
3098
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
3099
3099
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
3100
3100
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
3101
|
-
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
3101
|
+
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
3102
|
+
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
3103
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
3102
3104
|
};
|
|
3103
3105
|
}
|
|
3104
|
-
var plainFrame, tileTreatmentValues, eyebrowTreatmentValues;
|
|
3106
|
+
var plainFrame, tileTreatmentValues, eyebrowTreatmentValues, visibleHeadingDecorationFamilyValues, visibleHeadingDecorationPlacementValues, headingDecorationOverrideValues, headingDecorationColorTokenValues, accordionIconSetValues, accordionIconColorTokenValues, accordionIconMotionValues;
|
|
3105
3107
|
var init_types3 = __esm({
|
|
3106
3108
|
"../theme-core/src/site-styles/types.ts"() {
|
|
3107
3109
|
"use strict";
|
|
@@ -3120,6 +3122,47 @@ var init_types3 = __esm({
|
|
|
3120
3122
|
"pill-bounce",
|
|
3121
3123
|
"accent-pill-bounce"
|
|
3122
3124
|
];
|
|
3125
|
+
visibleHeadingDecorationFamilyValues = [
|
|
3126
|
+
"organic-squiggle",
|
|
3127
|
+
"short-center-rule"
|
|
3128
|
+
];
|
|
3129
|
+
visibleHeadingDecorationPlacementValues = [
|
|
3130
|
+
"after-heading",
|
|
3131
|
+
"between-heading-and-body",
|
|
3132
|
+
"under-centered-heading"
|
|
3133
|
+
];
|
|
3134
|
+
headingDecorationOverrideValues = [
|
|
3135
|
+
"site-default",
|
|
3136
|
+
"on",
|
|
3137
|
+
"off"
|
|
3138
|
+
];
|
|
3139
|
+
headingDecorationColorTokenValues = [
|
|
3140
|
+
"text",
|
|
3141
|
+
"primary",
|
|
3142
|
+
"secondary",
|
|
3143
|
+
"accent",
|
|
3144
|
+
"border",
|
|
3145
|
+
"muted"
|
|
3146
|
+
];
|
|
3147
|
+
accordionIconSetValues = [
|
|
3148
|
+
"plus",
|
|
3149
|
+
"chevron",
|
|
3150
|
+
"caret",
|
|
3151
|
+
"minimal-cross"
|
|
3152
|
+
];
|
|
3153
|
+
accordionIconColorTokenValues = [
|
|
3154
|
+
"text",
|
|
3155
|
+
"muted",
|
|
3156
|
+
"primary",
|
|
3157
|
+
"secondary",
|
|
3158
|
+
"accent",
|
|
3159
|
+
"current"
|
|
3160
|
+
];
|
|
3161
|
+
accordionIconMotionValues = [
|
|
3162
|
+
"none",
|
|
3163
|
+
"rotate",
|
|
3164
|
+
"swap"
|
|
3165
|
+
];
|
|
3123
3166
|
}
|
|
3124
3167
|
});
|
|
3125
3168
|
|
|
@@ -3316,6 +3359,25 @@ var init_blockAppearancePresets = __esm({
|
|
|
3316
3359
|
emphasis: "high"
|
|
3317
3360
|
}
|
|
3318
3361
|
}),
|
|
3362
|
+
defineBlockAppearancePreset({
|
|
3363
|
+
kind: "block-design",
|
|
3364
|
+
id: "intro-soft-earth-statement",
|
|
3365
|
+
target: "intro",
|
|
3366
|
+
label: "Soft Earth intro statement",
|
|
3367
|
+
blockKinds: ["block.intro"],
|
|
3368
|
+
design: {
|
|
3369
|
+
sectionSurface: "base",
|
|
3370
|
+
contentFrame: plainFrame,
|
|
3371
|
+
itemSurface: "none",
|
|
3372
|
+
transitionAfter: "soft-fade-short",
|
|
3373
|
+
emphasis: "high",
|
|
3374
|
+
headingDecoration: {
|
|
3375
|
+
family: "organic-squiggle",
|
|
3376
|
+
placement: "after-heading",
|
|
3377
|
+
colorToken: "primary"
|
|
3378
|
+
}
|
|
3379
|
+
}
|
|
3380
|
+
}),
|
|
3319
3381
|
defineBlockAppearancePreset({
|
|
3320
3382
|
kind: "block-design",
|
|
3321
3383
|
id: "offerings-calm-list",
|
|
@@ -3330,6 +3392,25 @@ var init_blockAppearancePresets = __esm({
|
|
|
3330
3392
|
emphasis: "medium"
|
|
3331
3393
|
}
|
|
3332
3394
|
}),
|
|
3395
|
+
defineBlockAppearancePreset({
|
|
3396
|
+
kind: "block-design",
|
|
3397
|
+
id: "feature-cards-soft-earth-offerings",
|
|
3398
|
+
target: "feature-cards",
|
|
3399
|
+
label: "Soft Earth offering cards",
|
|
3400
|
+
blockKinds: ["block.feature-cards"],
|
|
3401
|
+
design: {
|
|
3402
|
+
sectionSurface: "base",
|
|
3403
|
+
contentFrame: plainFrame,
|
|
3404
|
+
itemSurface: "raised",
|
|
3405
|
+
transitionAfter: "none",
|
|
3406
|
+
emphasis: "high",
|
|
3407
|
+
headingDecoration: {
|
|
3408
|
+
family: "short-center-rule",
|
|
3409
|
+
placement: "under-centered-heading",
|
|
3410
|
+
colorToken: "primary"
|
|
3411
|
+
}
|
|
3412
|
+
}
|
|
3413
|
+
}),
|
|
3333
3414
|
defineBlockAppearancePreset({
|
|
3334
3415
|
kind: "block-design",
|
|
3335
3416
|
id: "events-base-calendar",
|
|
@@ -3458,6 +3539,26 @@ var init_blockAppearancePresets = __esm({
|
|
|
3458
3539
|
testimonialCardTreatment: "accent-quote"
|
|
3459
3540
|
}
|
|
3460
3541
|
}),
|
|
3542
|
+
defineBlockAppearancePreset({
|
|
3543
|
+
kind: "block-design",
|
|
3544
|
+
id: "testimonials-soft-earth-proof-band",
|
|
3545
|
+
target: "testimonials",
|
|
3546
|
+
label: "Soft Earth proof band",
|
|
3547
|
+
blockKinds: ["block.testimonials"],
|
|
3548
|
+
design: {
|
|
3549
|
+
sectionSurface: "brand-depth-band",
|
|
3550
|
+
contentFrame: plainFrame,
|
|
3551
|
+
itemSurface: "none",
|
|
3552
|
+
transitionAfter: "soft-fade-short",
|
|
3553
|
+
emphasis: "high",
|
|
3554
|
+
testimonialCardTreatment: "accent-quote",
|
|
3555
|
+
headingDecoration: {
|
|
3556
|
+
family: "short-center-rule",
|
|
3557
|
+
placement: "under-centered-heading",
|
|
3558
|
+
colorToken: "border"
|
|
3559
|
+
}
|
|
3560
|
+
}
|
|
3561
|
+
}),
|
|
3461
3562
|
defineBlockAppearancePreset({
|
|
3462
3563
|
kind: "block-design",
|
|
3463
3564
|
id: "faq-base-accordion",
|
|
@@ -3486,6 +3587,25 @@ var init_blockAppearancePresets = __esm({
|
|
|
3486
3587
|
emphasis: "low"
|
|
3487
3588
|
}
|
|
3488
3589
|
}),
|
|
3590
|
+
defineBlockAppearancePreset({
|
|
3591
|
+
kind: "block-design",
|
|
3592
|
+
id: "faq-soft-earth-two-column",
|
|
3593
|
+
target: "faq",
|
|
3594
|
+
label: "Soft Earth two-column FAQ",
|
|
3595
|
+
blockKinds: ["block.faq"],
|
|
3596
|
+
design: {
|
|
3597
|
+
sectionSurface: "base",
|
|
3598
|
+
contentFrame: plainFrame,
|
|
3599
|
+
itemSurface: "flat",
|
|
3600
|
+
transitionAfter: "none",
|
|
3601
|
+
emphasis: "medium",
|
|
3602
|
+
accordionIconTreatment: {
|
|
3603
|
+
iconSet: "plus",
|
|
3604
|
+
colorToken: "primary",
|
|
3605
|
+
motion: "swap"
|
|
3606
|
+
}
|
|
3607
|
+
}
|
|
3608
|
+
}),
|
|
3489
3609
|
defineBlockAppearancePreset({
|
|
3490
3610
|
kind: "block-design",
|
|
3491
3611
|
id: "contact-form-panel",
|
|
@@ -4267,6 +4387,104 @@ var init_confident_chip = __esm({
|
|
|
4267
4387
|
}
|
|
4268
4388
|
});
|
|
4269
4389
|
|
|
4390
|
+
// ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
4391
|
+
var earthPill;
|
|
4392
|
+
var init_earth_pill = __esm({
|
|
4393
|
+
"../theme-core/src/buttons/personalities/earth-pill.ts"() {
|
|
4394
|
+
"use strict";
|
|
4395
|
+
init_types5();
|
|
4396
|
+
earthPill = defineButtonPersonality({
|
|
4397
|
+
id: "earth-pill",
|
|
4398
|
+
name: "Earth Pill",
|
|
4399
|
+
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
4400
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
4401
|
+
buttonSystem: {
|
|
4402
|
+
global: {
|
|
4403
|
+
cornerStyle: "pill",
|
|
4404
|
+
shadow: "low",
|
|
4405
|
+
textTransform: "none",
|
|
4406
|
+
fontWeight: 500,
|
|
4407
|
+
borderWidth: 1,
|
|
4408
|
+
hoverTransform: "lift",
|
|
4409
|
+
hoverColor: "none",
|
|
4410
|
+
typography: "body",
|
|
4411
|
+
paddingPreset: "default"
|
|
4412
|
+
},
|
|
4413
|
+
sizes: {
|
|
4414
|
+
sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
|
|
4415
|
+
md: { padding: "0.625rem 1.35rem" },
|
|
4416
|
+
lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
|
|
4417
|
+
xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
|
|
4418
|
+
},
|
|
4419
|
+
variants: [
|
|
4420
|
+
{
|
|
4421
|
+
id: "primary",
|
|
4422
|
+
name: "Primary",
|
|
4423
|
+
enabled: true,
|
|
4424
|
+
priority: 1,
|
|
4425
|
+
background: { type: "solid", colorToken: "primary" },
|
|
4426
|
+
textColorToken: "primaryForeground",
|
|
4427
|
+
borderRadius: "rounded-full",
|
|
4428
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
4429
|
+
effects: {
|
|
4430
|
+
hover: [
|
|
4431
|
+
{ effectId: "lift", options: { translateY: "-1px" } },
|
|
4432
|
+
{ effectId: "background-on-hover", options: { colorToken: "accent" } }
|
|
4433
|
+
],
|
|
4434
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
4435
|
+
}
|
|
4436
|
+
},
|
|
4437
|
+
{
|
|
4438
|
+
id: "secondary",
|
|
4439
|
+
name: "Secondary",
|
|
4440
|
+
enabled: true,
|
|
4441
|
+
priority: 2,
|
|
4442
|
+
background: { type: "transparent" },
|
|
4443
|
+
textColorToken: "primary",
|
|
4444
|
+
borderRadius: "rounded-full",
|
|
4445
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
4446
|
+
effects: {
|
|
4447
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
4448
|
+
}
|
|
4449
|
+
},
|
|
4450
|
+
{
|
|
4451
|
+
id: "outline",
|
|
4452
|
+
name: "Outline",
|
|
4453
|
+
enabled: true,
|
|
4454
|
+
priority: 3,
|
|
4455
|
+
background: { type: "transparent" },
|
|
4456
|
+
textColorToken: "text",
|
|
4457
|
+
borderRadius: "rounded-full",
|
|
4458
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
4459
|
+
effects: {
|
|
4460
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
|
|
4461
|
+
}
|
|
4462
|
+
},
|
|
4463
|
+
{
|
|
4464
|
+
id: "ghost",
|
|
4465
|
+
name: "Ghost",
|
|
4466
|
+
enabled: true,
|
|
4467
|
+
priority: 3,
|
|
4468
|
+
background: { type: "transparent" },
|
|
4469
|
+
textColorToken: "primary",
|
|
4470
|
+
borderRadius: "rounded-full",
|
|
4471
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
4472
|
+
sizes: {
|
|
4473
|
+
sm: { padding: "0.25rem 0", fontSize: "text-sm" },
|
|
4474
|
+
md: { padding: "0.375rem 0" },
|
|
4475
|
+
lg: { padding: "0.5rem 0", fontSize: "text-lg" },
|
|
4476
|
+
xl: { padding: "0.625rem 0", fontSize: "text-xl" }
|
|
4477
|
+
},
|
|
4478
|
+
effects: {
|
|
4479
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
|
|
4480
|
+
}
|
|
4481
|
+
}
|
|
4482
|
+
]
|
|
4483
|
+
}
|
|
4484
|
+
});
|
|
4485
|
+
}
|
|
4486
|
+
});
|
|
4487
|
+
|
|
4270
4488
|
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
4271
4489
|
var editorialLink;
|
|
4272
4490
|
var init_editorial_link = __esm({
|
|
@@ -4764,6 +4982,7 @@ var init_personalities = __esm({
|
|
|
4764
4982
|
"use strict";
|
|
4765
4983
|
init_brushed_wash();
|
|
4766
4984
|
init_confident_chip();
|
|
4985
|
+
init_earth_pill();
|
|
4767
4986
|
init_editorial_link();
|
|
4768
4987
|
init_ink_stamp();
|
|
4769
4988
|
init_pebble();
|
|
@@ -4772,6 +4991,7 @@ var init_personalities = __esm({
|
|
|
4772
4991
|
init_types5();
|
|
4773
4992
|
buttonPersonalities = [
|
|
4774
4993
|
softPill,
|
|
4994
|
+
earthPill,
|
|
4775
4995
|
confidentChip,
|
|
4776
4996
|
editorialLink,
|
|
4777
4997
|
pebble,
|
|
@@ -7696,7 +7916,7 @@ var init_tokenOrColor = __esm({
|
|
|
7696
7916
|
|
|
7697
7917
|
// ../theme-core/src/schema.ts
|
|
7698
7918
|
import { z as z23 } from "zod";
|
|
7699
|
-
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, buttonStyle, cardStyle, 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, themesTurnSchema;
|
|
7919
|
+
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, buttonStyle, cardStyle, 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, themesTurnSchema;
|
|
7700
7920
|
var init_schema2 = __esm({
|
|
7701
7921
|
"../theme-core/src/schema.ts"() {
|
|
7702
7922
|
"use strict";
|
|
@@ -7791,12 +8011,36 @@ var init_schema2 = __esm({
|
|
|
7791
8011
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
7792
8012
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
7793
8013
|
});
|
|
8014
|
+
noHeadingDecorationSchema = z23.object({
|
|
8015
|
+
family: z23.literal("none"),
|
|
8016
|
+
placement: z23.literal("none")
|
|
8017
|
+
});
|
|
8018
|
+
visibleHeadingDecorationSchema = z23.object({
|
|
8019
|
+
family: z23.enum(visibleHeadingDecorationFamilyValues),
|
|
8020
|
+
placement: z23.enum(visibleHeadingDecorationPlacementValues),
|
|
8021
|
+
colorToken: z23.enum(headingDecorationColorTokenValues).optional()
|
|
8022
|
+
});
|
|
8023
|
+
headingDecorationSchema = z23.union([
|
|
8024
|
+
noHeadingDecorationSchema,
|
|
8025
|
+
visibleHeadingDecorationSchema
|
|
8026
|
+
]);
|
|
8027
|
+
accordionIconTreatmentSchema = z23.object({
|
|
8028
|
+
iconSet: z23.enum(accordionIconSetValues),
|
|
8029
|
+
colorToken: z23.enum(accordionIconColorTokenValues),
|
|
8030
|
+
openColorToken: z23.enum(accordionIconColorTokenValues).optional(),
|
|
8031
|
+
motion: z23.enum(accordionIconMotionValues)
|
|
8032
|
+
});
|
|
7794
8033
|
sectionStylesOverrideSchema = z23.object({
|
|
7795
8034
|
background: boxBackgroundSchema.nullable().optional(),
|
|
7796
8035
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
7797
8036
|
minHeight: z23.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
7798
8037
|
tileTreatment: z23.enum(tileTreatmentValues).nullable().optional(),
|
|
7799
|
-
eyebrowTreatment: z23.enum(eyebrowTreatmentValues).nullable().optional()
|
|
8038
|
+
eyebrowTreatment: z23.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
8039
|
+
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
8040
|
+
// Author-level override consumed by later block/editor rendering phases.
|
|
8041
|
+
// Keeping it in section styles lets existing block save APIs persist it.
|
|
8042
|
+
headingDecorationOverride: z23.enum(headingDecorationOverrideValues).nullable().optional(),
|
|
8043
|
+
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
7800
8044
|
});
|
|
7801
8045
|
containerStylesOverrideSchema = z23.object({
|
|
7802
8046
|
background: boxBackgroundSchema.nullable().optional(),
|
|
@@ -8493,7 +8737,7 @@ var init_soft_natural = __esm({
|
|
|
8493
8737
|
});
|
|
8494
8738
|
|
|
8495
8739
|
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
8496
|
-
var warmNeutralClay, warmNeutralCream, warmNeutralForest;
|
|
8740
|
+
var warmNeutralClay, warmNeutralCream, warmNeutralSoftEarth, warmNeutralForest;
|
|
8497
8741
|
var init_warm_neutral = __esm({
|
|
8498
8742
|
"../theme-core/src/palette/variants/warm-neutral.ts"() {
|
|
8499
8743
|
"use strict";
|
|
@@ -8542,6 +8786,28 @@ var init_warm_neutral = __esm({
|
|
|
8542
8786
|
{ name: "border", hex: "#e0d2b8" }
|
|
8543
8787
|
]
|
|
8544
8788
|
});
|
|
8789
|
+
warmNeutralSoftEarth = definePaletteVariant({
|
|
8790
|
+
id: "warm-neutral-soft-earth",
|
|
8791
|
+
name: "Warm Neutral \u2014 Soft Earth",
|
|
8792
|
+
description: "Cream ground with terracotta primary, clay accents, and olive depth.",
|
|
8793
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
8794
|
+
mode: "light",
|
|
8795
|
+
colors: [
|
|
8796
|
+
{ name: "primary", hex: "#a8573d" },
|
|
8797
|
+
{ name: "secondary", hex: "#72765c" },
|
|
8798
|
+
{ name: "accent", hex: "#c87557" },
|
|
8799
|
+
{ name: "success", hex: "#687854" },
|
|
8800
|
+
{ name: "warning", hex: "#b7863e" },
|
|
8801
|
+
{ name: "destructive", hex: "#a54b3c" },
|
|
8802
|
+
{ name: "background", hex: "#fbf6eb" },
|
|
8803
|
+
{ name: "surface", hex: "#fffdf7" },
|
|
8804
|
+
{ name: "surfaceAlt", hex: "#f0e4d3" },
|
|
8805
|
+
{ name: "muted", hex: "#eadbc6" },
|
|
8806
|
+
{ name: "text", hex: "#30281f" },
|
|
8807
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
8808
|
+
{ name: "border", hex: "#d9c8b2" }
|
|
8809
|
+
]
|
|
8810
|
+
});
|
|
8545
8811
|
warmNeutralForest = definePaletteVariant({
|
|
8546
8812
|
id: "warm-neutral-forest",
|
|
8547
8813
|
name: "Warm Neutral \u2014 Forest",
|
|
@@ -8586,6 +8852,7 @@ var init_variants = __esm({
|
|
|
8586
8852
|
// Warm-neutral family
|
|
8587
8853
|
warmNeutralClay,
|
|
8588
8854
|
warmNeutralCream,
|
|
8855
|
+
warmNeutralSoftEarth,
|
|
8589
8856
|
warmNeutralForest,
|
|
8590
8857
|
// High-contrast family
|
|
8591
8858
|
highContrastInk,
|
|
@@ -8614,6 +8881,12 @@ var init_customizableSurfaces = __esm({
|
|
|
8614
8881
|
function asHeaderLookId(value) {
|
|
8615
8882
|
return value;
|
|
8616
8883
|
}
|
|
8884
|
+
function asHeaderLayoutId(value) {
|
|
8885
|
+
return value;
|
|
8886
|
+
}
|
|
8887
|
+
function asHeaderStyleId(value) {
|
|
8888
|
+
return value;
|
|
8889
|
+
}
|
|
8617
8890
|
function baseHeader(theme) {
|
|
8618
8891
|
const {
|
|
8619
8892
|
navLinkStyle: _navLinkStyle,
|
|
@@ -8632,6 +8905,34 @@ function baseHeader(theme) {
|
|
|
8632
8905
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
8633
8906
|
};
|
|
8634
8907
|
}
|
|
8908
|
+
function supportedLayouts(ids) {
|
|
8909
|
+
return ids.map(asHeaderLayoutId);
|
|
8910
|
+
}
|
|
8911
|
+
function headerStyleRepairChain(values) {
|
|
8912
|
+
return values.map(asHeaderStyleId);
|
|
8913
|
+
}
|
|
8914
|
+
function getHeaderStyle(id) {
|
|
8915
|
+
return headerStylesById.get(id) ?? null;
|
|
8916
|
+
}
|
|
8917
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
8918
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
8919
|
+
}
|
|
8920
|
+
function getHeaderStyleOrThrow(id) {
|
|
8921
|
+
const style = getHeaderStyle(id);
|
|
8922
|
+
if (!style) {
|
|
8923
|
+
throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
8924
|
+
}
|
|
8925
|
+
return style;
|
|
8926
|
+
}
|
|
8927
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
8928
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
8929
|
+
}
|
|
8930
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
8931
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter((styleId) => {
|
|
8932
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
8933
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
8934
|
+
});
|
|
8935
|
+
}
|
|
8635
8936
|
function solidBrandHeader(theme) {
|
|
8636
8937
|
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
8637
8938
|
return {
|
|
@@ -8862,19 +9163,302 @@ function floatingGlassHeader(theme) {
|
|
|
8862
9163
|
}
|
|
8863
9164
|
};
|
|
8864
9165
|
}
|
|
8865
|
-
|
|
9166
|
+
function headerConfigurationKey(configuration) {
|
|
9167
|
+
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
9168
|
+
}
|
|
9169
|
+
var headerLayoutCatalog, headerStyleCatalog, headerLayoutsById, headerStylesById, headerStyleCompatibilityOrder, headerStyleRepairOrder, legacyHeaderLookAliases, legacyHeaderLookAliasesById, headerLookCatalog, guaranteedFallbackHeaderLookId, guaranteedFallbackHeaderLayoutId, guaranteedFallbackHeaderStyleId, allowedHeaderConfigurationKeys, headerLooksById;
|
|
8866
9170
|
var init_headerLooks = __esm({
|
|
8867
9171
|
"../theme-core/src/site-styles/headerLooks.ts"() {
|
|
8868
9172
|
"use strict";
|
|
8869
9173
|
init_headerCtaVariants();
|
|
8870
9174
|
init_customizableSurfaces();
|
|
8871
9175
|
init_types3();
|
|
9176
|
+
headerLayoutCatalog = [
|
|
9177
|
+
{
|
|
9178
|
+
id: asHeaderLayoutId("classic"),
|
|
9179
|
+
label: "Classic",
|
|
9180
|
+
description: "Logo and navigation in one practical horizontal row.",
|
|
9181
|
+
structure: "inline-classic",
|
|
9182
|
+
variant: "classic",
|
|
9183
|
+
defaultPositioning: "sticky",
|
|
9184
|
+
shrinkOnScroll: false
|
|
9185
|
+
},
|
|
9186
|
+
{
|
|
9187
|
+
id: asHeaderLayoutId("centered"),
|
|
9188
|
+
label: "Centered",
|
|
9189
|
+
description: "Logo centered above a balanced navigation row.",
|
|
9190
|
+
structure: "centered-stack",
|
|
9191
|
+
variant: "centered",
|
|
9192
|
+
defaultPositioning: "static",
|
|
9193
|
+
shrinkOnScroll: false,
|
|
9194
|
+
maxRecommendedNavItems: 5,
|
|
9195
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
9196
|
+
},
|
|
9197
|
+
{
|
|
9198
|
+
id: asHeaderLayoutId("editorial"),
|
|
9199
|
+
label: "Editorial",
|
|
9200
|
+
description: "A composed, magazine-like stacked header treatment.",
|
|
9201
|
+
structure: "editorial-stack",
|
|
9202
|
+
variant: "editorial",
|
|
9203
|
+
defaultPositioning: "static",
|
|
9204
|
+
shrinkOnScroll: false,
|
|
9205
|
+
maxRecommendedNavItems: 6
|
|
9206
|
+
},
|
|
9207
|
+
{
|
|
9208
|
+
id: asHeaderLayoutId("floating"),
|
|
9209
|
+
label: "Floating",
|
|
9210
|
+
description: "Detached header chrome that sits over the opening section.",
|
|
9211
|
+
structure: "floating-shell",
|
|
9212
|
+
variant: "floating",
|
|
9213
|
+
defaultPositioning: "fixed",
|
|
9214
|
+
shrinkOnScroll: true,
|
|
9215
|
+
maxRecommendedNavItems: 5,
|
|
9216
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
9217
|
+
}
|
|
9218
|
+
];
|
|
9219
|
+
headerStyleCatalog = [
|
|
9220
|
+
{
|
|
9221
|
+
id: asHeaderStyleId("minimal"),
|
|
9222
|
+
label: "Minimal",
|
|
9223
|
+
description: "Quiet surface with simple color-change navigation.",
|
|
9224
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
9225
|
+
navInteraction: "color-change",
|
|
9226
|
+
surface: "neutral"
|
|
9227
|
+
},
|
|
9228
|
+
{
|
|
9229
|
+
id: asHeaderStyleId("fine-line"),
|
|
9230
|
+
label: "Fine Line",
|
|
9231
|
+
description: "Light surface with a crisp lower rule and underline hover.",
|
|
9232
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
9233
|
+
navInteraction: "underline-grow",
|
|
9234
|
+
surface: "bordered"
|
|
9235
|
+
},
|
|
9236
|
+
{
|
|
9237
|
+
id: asHeaderStyleId("soft-bar"),
|
|
9238
|
+
label: "Soft Bar",
|
|
9239
|
+
description: "Soft tinted surface with gentle pill hover states.",
|
|
9240
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
9241
|
+
navInteraction: "pill-background",
|
|
9242
|
+
surface: "soft"
|
|
9243
|
+
},
|
|
9244
|
+
{
|
|
9245
|
+
id: asHeaderStyleId("pill-nav"),
|
|
9246
|
+
label: "Pill Nav",
|
|
9247
|
+
description: "A calm pill navigation rail over a neutral header.",
|
|
9248
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
9249
|
+
navInteraction: "pill-background",
|
|
9250
|
+
surface: "soft"
|
|
9251
|
+
},
|
|
9252
|
+
{
|
|
9253
|
+
id: asHeaderStyleId("brand-bar"),
|
|
9254
|
+
label: "Brand Bar",
|
|
9255
|
+
description: "Solid brand surface with high-contrast navigation.",
|
|
9256
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
9257
|
+
navInteraction: "color-change",
|
|
9258
|
+
surface: "brand-solid"
|
|
9259
|
+
},
|
|
9260
|
+
{
|
|
9261
|
+
id: asHeaderStyleId("brand-underline"),
|
|
9262
|
+
label: "Brand Underline",
|
|
9263
|
+
description: "Brand surface with underline-grow navigation.",
|
|
9264
|
+
supportedLayoutIds: supportedLayouts(["classic", "editorial"]),
|
|
9265
|
+
navInteraction: "underline-grow",
|
|
9266
|
+
surface: "brand-solid"
|
|
9267
|
+
},
|
|
9268
|
+
{
|
|
9269
|
+
id: asHeaderStyleId("brand-pill"),
|
|
9270
|
+
label: "Brand Pill",
|
|
9271
|
+
description: "Solid brand surface with rounded active and hover states.",
|
|
9272
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
9273
|
+
navInteraction: "pill-background",
|
|
9274
|
+
surface: "brand-solid"
|
|
9275
|
+
},
|
|
9276
|
+
{
|
|
9277
|
+
id: asHeaderStyleId("editorial-line"),
|
|
9278
|
+
label: "Editorial Line",
|
|
9279
|
+
description: "Typographic logo treatment with understated underline navigation.",
|
|
9280
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
9281
|
+
navInteraction: "underline-grow",
|
|
9282
|
+
surface: "bordered"
|
|
9283
|
+
},
|
|
9284
|
+
{
|
|
9285
|
+
id: asHeaderStyleId("flat-tabs"),
|
|
9286
|
+
label: "Flat Tabs",
|
|
9287
|
+
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
9288
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "editorial"]),
|
|
9289
|
+
navInteraction: "flat-block",
|
|
9290
|
+
surface: "bordered"
|
|
9291
|
+
},
|
|
9292
|
+
{
|
|
9293
|
+
id: asHeaderStyleId("glass"),
|
|
9294
|
+
label: "Glass",
|
|
9295
|
+
description: "Floating translucent chrome with frosted navigation backing.",
|
|
9296
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
9297
|
+
navInteraction: "glass-backed",
|
|
9298
|
+
surface: "floating",
|
|
9299
|
+
requiresFloatingLayout: true
|
|
9300
|
+
},
|
|
9301
|
+
{
|
|
9302
|
+
id: asHeaderStyleId("minimal-surface"),
|
|
9303
|
+
label: "Minimal Surface",
|
|
9304
|
+
description: "Floating chrome with a restrained translucent surface.",
|
|
9305
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
9306
|
+
navInteraction: "color-change",
|
|
9307
|
+
surface: "floating",
|
|
9308
|
+
requiresFloatingLayout: true
|
|
9309
|
+
},
|
|
9310
|
+
{
|
|
9311
|
+
id: asHeaderStyleId("soft-shell"),
|
|
9312
|
+
label: "Soft Shell",
|
|
9313
|
+
description: "Floating rounded shell with soft pill navigation states.",
|
|
9314
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
9315
|
+
navInteraction: "pill-background",
|
|
9316
|
+
surface: "floating",
|
|
9317
|
+
requiresFloatingLayout: true
|
|
9318
|
+
}
|
|
9319
|
+
];
|
|
9320
|
+
headerLayoutsById = new Map(
|
|
9321
|
+
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
9322
|
+
);
|
|
9323
|
+
headerStylesById = new Map(
|
|
9324
|
+
headerStyleCatalog.map((style) => [style.id, style])
|
|
9325
|
+
);
|
|
9326
|
+
headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
9327
|
+
[
|
|
9328
|
+
asHeaderLayoutId("classic"),
|
|
9329
|
+
headerStyleRepairChain([
|
|
9330
|
+
"minimal",
|
|
9331
|
+
"fine-line",
|
|
9332
|
+
"soft-bar",
|
|
9333
|
+
"pill-nav",
|
|
9334
|
+
"brand-bar",
|
|
9335
|
+
"brand-underline",
|
|
9336
|
+
"brand-pill",
|
|
9337
|
+
"editorial-line",
|
|
9338
|
+
"flat-tabs"
|
|
9339
|
+
])
|
|
9340
|
+
],
|
|
9341
|
+
[
|
|
9342
|
+
asHeaderLayoutId("centered"),
|
|
9343
|
+
headerStyleRepairChain([
|
|
9344
|
+
"minimal",
|
|
9345
|
+
"fine-line",
|
|
9346
|
+
"soft-bar",
|
|
9347
|
+
"pill-nav",
|
|
9348
|
+
"brand-bar",
|
|
9349
|
+
"brand-pill",
|
|
9350
|
+
"editorial-line",
|
|
9351
|
+
"flat-tabs"
|
|
9352
|
+
])
|
|
9353
|
+
],
|
|
9354
|
+
[
|
|
9355
|
+
asHeaderLayoutId("editorial"),
|
|
9356
|
+
headerStyleRepairChain([
|
|
9357
|
+
"minimal",
|
|
9358
|
+
"fine-line",
|
|
9359
|
+
"soft-bar",
|
|
9360
|
+
"brand-bar",
|
|
9361
|
+
"brand-underline",
|
|
9362
|
+
"editorial-line",
|
|
9363
|
+
"flat-tabs"
|
|
9364
|
+
])
|
|
9365
|
+
],
|
|
9366
|
+
[
|
|
9367
|
+
asHeaderLayoutId("floating"),
|
|
9368
|
+
headerStyleRepairChain([
|
|
9369
|
+
"glass",
|
|
9370
|
+
"minimal-surface",
|
|
9371
|
+
"soft-shell",
|
|
9372
|
+
"brand-pill"
|
|
9373
|
+
])
|
|
9374
|
+
]
|
|
9375
|
+
]);
|
|
9376
|
+
headerStyleRepairOrder = /* @__PURE__ */ new Map([
|
|
9377
|
+
[asHeaderStyleId("brand-bar"), headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])],
|
|
9378
|
+
[asHeaderStyleId("brand-underline"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
|
|
9379
|
+
[asHeaderStyleId("brand-pill"), headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])],
|
|
9380
|
+
[asHeaderStyleId("pill-nav"), headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])],
|
|
9381
|
+
[asHeaderStyleId("flat-tabs"), headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])],
|
|
9382
|
+
[asHeaderStyleId("editorial-line"), headerStyleRepairChain(["editorial-line", "fine-line", "minimal"])],
|
|
9383
|
+
[asHeaderStyleId("glass"), headerStyleRepairChain(["glass", "minimal-surface", "minimal"])],
|
|
9384
|
+
[asHeaderStyleId("soft-shell"), headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])],
|
|
9385
|
+
[asHeaderStyleId("minimal-surface"), headerStyleRepairChain(["minimal-surface", "minimal"])],
|
|
9386
|
+
[asHeaderStyleId("fine-line"), headerStyleRepairChain(["fine-line", "minimal"])],
|
|
9387
|
+
[asHeaderStyleId("soft-bar"), headerStyleRepairChain(["soft-bar", "minimal"])],
|
|
9388
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
9389
|
+
]);
|
|
9390
|
+
legacyHeaderLookAliases = [
|
|
9391
|
+
{
|
|
9392
|
+
lookId: asHeaderLookId("clean-base"),
|
|
9393
|
+
selection: {
|
|
9394
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
9395
|
+
styleId: asHeaderStyleId("minimal")
|
|
9396
|
+
}
|
|
9397
|
+
},
|
|
9398
|
+
{
|
|
9399
|
+
lookId: asHeaderLookId("brand-solid"),
|
|
9400
|
+
selection: {
|
|
9401
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
9402
|
+
styleId: asHeaderStyleId("brand-bar")
|
|
9403
|
+
}
|
|
9404
|
+
},
|
|
9405
|
+
{
|
|
9406
|
+
lookId: asHeaderLookId("editorial-line"),
|
|
9407
|
+
selection: {
|
|
9408
|
+
layoutId: asHeaderLayoutId("editorial"),
|
|
9409
|
+
styleId: asHeaderStyleId("editorial-line")
|
|
9410
|
+
}
|
|
9411
|
+
},
|
|
9412
|
+
{
|
|
9413
|
+
lookId: asHeaderLookId("centered-calm"),
|
|
9414
|
+
selection: {
|
|
9415
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
9416
|
+
styleId: asHeaderStyleId("minimal")
|
|
9417
|
+
}
|
|
9418
|
+
},
|
|
9419
|
+
{
|
|
9420
|
+
lookId: asHeaderLookId("practical-utility"),
|
|
9421
|
+
selection: {
|
|
9422
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
9423
|
+
styleId: asHeaderStyleId("flat-tabs")
|
|
9424
|
+
}
|
|
9425
|
+
},
|
|
9426
|
+
{
|
|
9427
|
+
lookId: asHeaderLookId("minimal-transparent"),
|
|
9428
|
+
selection: {
|
|
9429
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
9430
|
+
styleId: asHeaderStyleId("minimal")
|
|
9431
|
+
}
|
|
9432
|
+
},
|
|
9433
|
+
{
|
|
9434
|
+
lookId: asHeaderLookId("transparent-overlay"),
|
|
9435
|
+
selection: {
|
|
9436
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
9437
|
+
styleId: asHeaderStyleId("glass")
|
|
9438
|
+
}
|
|
9439
|
+
},
|
|
9440
|
+
{
|
|
9441
|
+
lookId: asHeaderLookId("floating-glass"),
|
|
9442
|
+
selection: {
|
|
9443
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
9444
|
+
styleId: asHeaderStyleId("glass")
|
|
9445
|
+
}
|
|
9446
|
+
}
|
|
9447
|
+
];
|
|
9448
|
+
legacyHeaderLookAliasesById = new Map(
|
|
9449
|
+
legacyHeaderLookAliases.map((alias) => [alias.lookId, alias])
|
|
9450
|
+
);
|
|
8872
9451
|
headerLookCatalog = [
|
|
8873
9452
|
{
|
|
8874
9453
|
id: asHeaderLookId("clean-base"),
|
|
8875
9454
|
label: "Clean base",
|
|
8876
9455
|
visualTreatment: "solid-neutral",
|
|
8877
9456
|
layoutBehavior: "sticky",
|
|
9457
|
+
configuration: {
|
|
9458
|
+
structure: "inline-classic",
|
|
9459
|
+
treatment: "solid-neutral",
|
|
9460
|
+
behavior: "sticky"
|
|
9461
|
+
},
|
|
8878
9462
|
openingRequirement: "none",
|
|
8879
9463
|
compile: cleanBaseHeader
|
|
8880
9464
|
},
|
|
@@ -8883,6 +9467,11 @@ var init_headerLooks = __esm({
|
|
|
8883
9467
|
label: "Brand solid",
|
|
8884
9468
|
visualTreatment: "solid-brand",
|
|
8885
9469
|
layoutBehavior: "sticky-shrink",
|
|
9470
|
+
configuration: {
|
|
9471
|
+
structure: "inline-classic",
|
|
9472
|
+
treatment: "solid-brand",
|
|
9473
|
+
behavior: "sticky-shrink"
|
|
9474
|
+
},
|
|
8886
9475
|
openingRequirement: "none",
|
|
8887
9476
|
compile: solidBrandHeader
|
|
8888
9477
|
},
|
|
@@ -8891,6 +9480,11 @@ var init_headerLooks = __esm({
|
|
|
8891
9480
|
label: "Editorial line",
|
|
8892
9481
|
visualTreatment: "light-editorial",
|
|
8893
9482
|
layoutBehavior: "sticky",
|
|
9483
|
+
configuration: {
|
|
9484
|
+
structure: "editorial-stack",
|
|
9485
|
+
treatment: "light-editorial",
|
|
9486
|
+
behavior: "sticky"
|
|
9487
|
+
},
|
|
8894
9488
|
openingRequirement: "none",
|
|
8895
9489
|
maxRecommendedNavItems: 6,
|
|
8896
9490
|
compile: editorialLineHeader
|
|
@@ -8900,6 +9494,11 @@ var init_headerLooks = __esm({
|
|
|
8900
9494
|
label: "Centered calm",
|
|
8901
9495
|
visualTreatment: "light-editorial",
|
|
8902
9496
|
layoutBehavior: "normal-flow",
|
|
9497
|
+
configuration: {
|
|
9498
|
+
structure: "centered-stack",
|
|
9499
|
+
treatment: "light-editorial",
|
|
9500
|
+
behavior: "normal-flow"
|
|
9501
|
+
},
|
|
8903
9502
|
openingRequirement: "none",
|
|
8904
9503
|
maxRecommendedNavItems: 5,
|
|
8905
9504
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
@@ -8910,6 +9509,11 @@ var init_headerLooks = __esm({
|
|
|
8910
9509
|
label: "Practical utility",
|
|
8911
9510
|
visualTreatment: "solid-neutral",
|
|
8912
9511
|
layoutBehavior: "sticky-shrink",
|
|
9512
|
+
configuration: {
|
|
9513
|
+
structure: "inline-classic",
|
|
9514
|
+
treatment: "solid-neutral",
|
|
9515
|
+
behavior: "sticky-shrink"
|
|
9516
|
+
},
|
|
8913
9517
|
openingRequirement: "none",
|
|
8914
9518
|
requiresProminentCta: true,
|
|
8915
9519
|
compile: practicalUtilityHeader
|
|
@@ -8919,6 +9523,11 @@ var init_headerLooks = __esm({
|
|
|
8919
9523
|
label: "Minimal transparent",
|
|
8920
9524
|
visualTreatment: "minimal-transparent",
|
|
8921
9525
|
layoutBehavior: "normal-flow",
|
|
9526
|
+
configuration: {
|
|
9527
|
+
structure: "inline-classic",
|
|
9528
|
+
treatment: "minimal-transparent",
|
|
9529
|
+
behavior: "normal-flow"
|
|
9530
|
+
},
|
|
8922
9531
|
openingRequirement: "reserved-space-ok",
|
|
8923
9532
|
compile: minimalTransparentHeader
|
|
8924
9533
|
},
|
|
@@ -8927,6 +9536,11 @@ var init_headerLooks = __esm({
|
|
|
8927
9536
|
label: "Transparent overlay",
|
|
8928
9537
|
visualTreatment: "transparent-overlay",
|
|
8929
9538
|
layoutBehavior: "fixed-overlay",
|
|
9539
|
+
configuration: {
|
|
9540
|
+
structure: "inline-classic",
|
|
9541
|
+
treatment: "transparent-overlay",
|
|
9542
|
+
behavior: "fixed-overlay"
|
|
9543
|
+
},
|
|
8930
9544
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
8931
9545
|
maxRecommendedNavItems: 5,
|
|
8932
9546
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -8937,6 +9551,11 @@ var init_headerLooks = __esm({
|
|
|
8937
9551
|
label: "Floating glass",
|
|
8938
9552
|
visualTreatment: "floating-glass",
|
|
8939
9553
|
layoutBehavior: "fixed-floating",
|
|
9554
|
+
configuration: {
|
|
9555
|
+
structure: "floating-shell",
|
|
9556
|
+
treatment: "floating-glass",
|
|
9557
|
+
behavior: "fixed-floating"
|
|
9558
|
+
},
|
|
8940
9559
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
8941
9560
|
maxRecommendedNavItems: 5,
|
|
8942
9561
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -8944,6 +9563,11 @@ var init_headerLooks = __esm({
|
|
|
8944
9563
|
}
|
|
8945
9564
|
];
|
|
8946
9565
|
guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
9566
|
+
guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
9567
|
+
guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
9568
|
+
allowedHeaderConfigurationKeys = new Set(
|
|
9569
|
+
headerLookCatalog.map((look) => headerConfigurationKey(look.configuration))
|
|
9570
|
+
);
|
|
8947
9571
|
headerLooksById = new Map(
|
|
8948
9572
|
headerLookCatalog.map((look) => [look.id, look])
|
|
8949
9573
|
);
|
|
@@ -9103,6 +9727,270 @@ var init_sourceCatalogs = __esm({
|
|
|
9103
9727
|
}
|
|
9104
9728
|
});
|
|
9105
9729
|
|
|
9730
|
+
// ../theme-core/src/site-styles/typographyPresets.ts
|
|
9731
|
+
function asTypographyPresetId(value) {
|
|
9732
|
+
if (!value.startsWith("typography-preset:")) {
|
|
9733
|
+
throw new Error(`TypographyPresetId must start with "typography-preset:". Received: ${value}`);
|
|
9734
|
+
}
|
|
9735
|
+
return value;
|
|
9736
|
+
}
|
|
9737
|
+
function defineTypographyPreset(preset2) {
|
|
9738
|
+
return {
|
|
9739
|
+
...preset2,
|
|
9740
|
+
id: asTypographyPresetId(preset2.id)
|
|
9741
|
+
};
|
|
9742
|
+
}
|
|
9743
|
+
var bodyReadablePolicy, headingFlexiblePolicy, displayHeadingPolicy, modernSansTypography, warmRoundedTypography, editorialSerifTypography, classicSerifTypography, luxeContrastTypography, boldDisplayTypography, typographyPresets, typographyPresetsById;
|
|
9744
|
+
var init_typographyPresets = __esm({
|
|
9745
|
+
"../theme-core/src/site-styles/typographyPresets.ts"() {
|
|
9746
|
+
"use strict";
|
|
9747
|
+
bodyReadablePolicy = {
|
|
9748
|
+
recommendedCategories: ["sans-serif", "serif"],
|
|
9749
|
+
allowedCategories: ["sans-serif", "serif"],
|
|
9750
|
+
requiresItalicForBody: true,
|
|
9751
|
+
requiresBoldForBody: true
|
|
9752
|
+
};
|
|
9753
|
+
headingFlexiblePolicy = {
|
|
9754
|
+
recommendedCategories: ["sans-serif", "serif", "display"],
|
|
9755
|
+
allowedCategories: ["sans-serif", "serif", "display"]
|
|
9756
|
+
};
|
|
9757
|
+
displayHeadingPolicy = {
|
|
9758
|
+
recommendedCategories: ["display", "sans-serif", "serif"],
|
|
9759
|
+
allowedCategories: ["display", "sans-serif", "serif"]
|
|
9760
|
+
};
|
|
9761
|
+
modernSansTypography = {
|
|
9762
|
+
body: {
|
|
9763
|
+
family: "Inter, system-ui, sans-serif",
|
|
9764
|
+
size: "md",
|
|
9765
|
+
weight: "regular",
|
|
9766
|
+
lineHeight: "relaxed",
|
|
9767
|
+
letterSpacing: "normal"
|
|
9768
|
+
},
|
|
9769
|
+
headings: {
|
|
9770
|
+
default: {
|
|
9771
|
+
family: "Inter, system-ui, sans-serif",
|
|
9772
|
+
weight: "semibold",
|
|
9773
|
+
lineHeight: "normal",
|
|
9774
|
+
letterSpacing: "tight",
|
|
9775
|
+
italic: null,
|
|
9776
|
+
case: null
|
|
9777
|
+
},
|
|
9778
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
9779
|
+
h2: { size: "lg", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
9780
|
+
h3: { size: "md", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
9781
|
+
},
|
|
9782
|
+
scale: "balanced"
|
|
9783
|
+
};
|
|
9784
|
+
warmRoundedTypography = {
|
|
9785
|
+
body: {
|
|
9786
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
9787
|
+
size: "lg",
|
|
9788
|
+
weight: "regular",
|
|
9789
|
+
lineHeight: "relaxed",
|
|
9790
|
+
letterSpacing: "normal"
|
|
9791
|
+
},
|
|
9792
|
+
headings: {
|
|
9793
|
+
default: {
|
|
9794
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
9795
|
+
weight: "bold",
|
|
9796
|
+
lineHeight: "normal",
|
|
9797
|
+
letterSpacing: "normal",
|
|
9798
|
+
italic: null,
|
|
9799
|
+
case: null
|
|
9800
|
+
},
|
|
9801
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
9802
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
9803
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
9804
|
+
},
|
|
9805
|
+
scale: "balanced"
|
|
9806
|
+
};
|
|
9807
|
+
editorialSerifTypography = {
|
|
9808
|
+
body: {
|
|
9809
|
+
family: "Lora, Georgia, serif",
|
|
9810
|
+
size: "lg",
|
|
9811
|
+
weight: "regular",
|
|
9812
|
+
lineHeight: "loose",
|
|
9813
|
+
letterSpacing: "normal"
|
|
9814
|
+
},
|
|
9815
|
+
headings: {
|
|
9816
|
+
default: {
|
|
9817
|
+
family: "Playfair Display, Georgia, serif",
|
|
9818
|
+
weight: "semibold",
|
|
9819
|
+
lineHeight: "normal",
|
|
9820
|
+
letterSpacing: "tight",
|
|
9821
|
+
italic: null,
|
|
9822
|
+
case: null
|
|
9823
|
+
},
|
|
9824
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
9825
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
9826
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: true }
|
|
9827
|
+
},
|
|
9828
|
+
scale: "spacious"
|
|
9829
|
+
};
|
|
9830
|
+
classicSerifTypography = {
|
|
9831
|
+
body: {
|
|
9832
|
+
family: "Libre Baskerville, Georgia, serif",
|
|
9833
|
+
size: "md",
|
|
9834
|
+
weight: "regular",
|
|
9835
|
+
lineHeight: "relaxed",
|
|
9836
|
+
letterSpacing: "normal"
|
|
9837
|
+
},
|
|
9838
|
+
headings: {
|
|
9839
|
+
default: {
|
|
9840
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
9841
|
+
weight: "semibold",
|
|
9842
|
+
lineHeight: "normal",
|
|
9843
|
+
letterSpacing: "normal",
|
|
9844
|
+
italic: null,
|
|
9845
|
+
case: null
|
|
9846
|
+
},
|
|
9847
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
9848
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
9849
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
9850
|
+
},
|
|
9851
|
+
scale: "balanced"
|
|
9852
|
+
};
|
|
9853
|
+
luxeContrastTypography = {
|
|
9854
|
+
body: {
|
|
9855
|
+
family: "Manrope, system-ui, sans-serif",
|
|
9856
|
+
size: "md",
|
|
9857
|
+
weight: "regular",
|
|
9858
|
+
lineHeight: "relaxed",
|
|
9859
|
+
letterSpacing: "normal"
|
|
9860
|
+
},
|
|
9861
|
+
headings: {
|
|
9862
|
+
default: {
|
|
9863
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
9864
|
+
weight: "semibold",
|
|
9865
|
+
lineHeight: "normal",
|
|
9866
|
+
letterSpacing: "tight",
|
|
9867
|
+
italic: null,
|
|
9868
|
+
case: null
|
|
9869
|
+
},
|
|
9870
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
9871
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
9872
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
9873
|
+
},
|
|
9874
|
+
scale: "spacious"
|
|
9875
|
+
};
|
|
9876
|
+
boldDisplayTypography = {
|
|
9877
|
+
body: {
|
|
9878
|
+
family: "Manrope, system-ui, sans-serif",
|
|
9879
|
+
size: "lg",
|
|
9880
|
+
weight: "regular",
|
|
9881
|
+
lineHeight: "relaxed",
|
|
9882
|
+
letterSpacing: "normal"
|
|
9883
|
+
},
|
|
9884
|
+
headings: {
|
|
9885
|
+
default: {
|
|
9886
|
+
family: '"TAN - PEARL", sans-serif',
|
|
9887
|
+
weight: "bold",
|
|
9888
|
+
lineHeight: "normal",
|
|
9889
|
+
letterSpacing: "tight",
|
|
9890
|
+
colorToken: "primary",
|
|
9891
|
+
italic: null,
|
|
9892
|
+
case: null
|
|
9893
|
+
},
|
|
9894
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
9895
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
9896
|
+
h3: { size: "md", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
9897
|
+
},
|
|
9898
|
+
scale: "balanced"
|
|
9899
|
+
};
|
|
9900
|
+
typographyPresets = [
|
|
9901
|
+
defineTypographyPreset({
|
|
9902
|
+
id: "typography-preset:modern-sans",
|
|
9903
|
+
name: "Modern Sans",
|
|
9904
|
+
description: "Crisp, neutral type for clear service pages and practical editorial structure.",
|
|
9905
|
+
defaultFonts: { body: "Inter, system-ui, sans-serif", heading: "Inter, system-ui, sans-serif" },
|
|
9906
|
+
recommendedFonts: {
|
|
9907
|
+
body: ["Inter", "Source Sans 3", "IBM Plex Sans"],
|
|
9908
|
+
heading: ["Inter", "Manrope", "Source Sans 3"]
|
|
9909
|
+
},
|
|
9910
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
9911
|
+
typography: modernSansTypography
|
|
9912
|
+
}),
|
|
9913
|
+
defineTypographyPreset({
|
|
9914
|
+
id: "typography-preset:warm-rounded",
|
|
9915
|
+
name: "Warm Rounded",
|
|
9916
|
+
description: "Soft, friendly type for welcoming studios, classes, and community businesses.",
|
|
9917
|
+
defaultFonts: { body: "Nunito Sans, system-ui, sans-serif", heading: "Nunito Sans, system-ui, sans-serif" },
|
|
9918
|
+
recommendedFonts: {
|
|
9919
|
+
body: ["Nunito Sans", "Atkinson Hyperlegible", "Lato"],
|
|
9920
|
+
heading: ["Nunito Sans", "Quicksand", "Manrope"]
|
|
9921
|
+
},
|
|
9922
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
9923
|
+
typography: warmRoundedTypography
|
|
9924
|
+
}),
|
|
9925
|
+
defineTypographyPreset({
|
|
9926
|
+
id: "typography-preset:editorial-serif",
|
|
9927
|
+
name: "Editorial Serif",
|
|
9928
|
+
description: "Story-led type with warm reading rhythm and expressive headings.",
|
|
9929
|
+
defaultFonts: { body: "Lora, Georgia, serif", heading: "Playfair Display, Georgia, serif" },
|
|
9930
|
+
recommendedFonts: {
|
|
9931
|
+
body: ["Lora", "Source Serif 4", "Libre Baskerville"],
|
|
9932
|
+
heading: ["Playfair Display", "Cormorant Garamond", "Fraunces"]
|
|
9933
|
+
},
|
|
9934
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
9935
|
+
typography: editorialSerifTypography
|
|
9936
|
+
}),
|
|
9937
|
+
defineTypographyPreset({
|
|
9938
|
+
id: "typography-preset:classic-serif",
|
|
9939
|
+
name: "Classic Serif",
|
|
9940
|
+
description: "Measured, polished type for premium and established offers.",
|
|
9941
|
+
defaultFonts: { body: "Libre Baskerville, Georgia, serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
9942
|
+
recommendedFonts: {
|
|
9943
|
+
body: ["Libre Baskerville", "Source Serif 4", "Lora"],
|
|
9944
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Libre Baskerville"]
|
|
9945
|
+
},
|
|
9946
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
9947
|
+
typography: classicSerifTypography
|
|
9948
|
+
}),
|
|
9949
|
+
defineTypographyPreset({
|
|
9950
|
+
id: "typography-preset:luxe-contrast",
|
|
9951
|
+
name: "Luxe Contrast",
|
|
9952
|
+
description: "A restrained sans body paired with elegant high-contrast headings.",
|
|
9953
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
9954
|
+
recommendedFonts: {
|
|
9955
|
+
body: ["Manrope", "Inter", "Source Sans 3"],
|
|
9956
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Bodoni Moda"]
|
|
9957
|
+
},
|
|
9958
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
9959
|
+
typography: luxeContrastTypography
|
|
9960
|
+
}),
|
|
9961
|
+
defineTypographyPreset({
|
|
9962
|
+
id: "typography-preset:bold-display",
|
|
9963
|
+
name: "Bold Display",
|
|
9964
|
+
description: "Punchy display headings with readable sans body copy for branded launches.",
|
|
9965
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: '"TAN - PEARL", sans-serif' },
|
|
9966
|
+
recommendedFonts: {
|
|
9967
|
+
body: ["Manrope", "Inter", "Space Grotesk"],
|
|
9968
|
+
heading: ["Anton", "Bebas Neue", "Archivo Black"]
|
|
9969
|
+
},
|
|
9970
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
9971
|
+
typography: boldDisplayTypography,
|
|
9972
|
+
heroTypography: {
|
|
9973
|
+
headlineSize: "6xl",
|
|
9974
|
+
headlineLineHeight: "tight",
|
|
9975
|
+
subheadlineSize: "editorial",
|
|
9976
|
+
subheadlineLineHeight: "normal",
|
|
9977
|
+
microHeadlineSize: "6xl",
|
|
9978
|
+
microHeadlineLineHeight: "tight",
|
|
9979
|
+
microSubheadlineSize: "xl",
|
|
9980
|
+
microSubheadlineLineHeight: "normal",
|
|
9981
|
+
responsive: {
|
|
9982
|
+
tablet: { headlineSize: "5xl" },
|
|
9983
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
9984
|
+
}
|
|
9985
|
+
}
|
|
9986
|
+
})
|
|
9987
|
+
];
|
|
9988
|
+
typographyPresetsById = new Map(
|
|
9989
|
+
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
9990
|
+
);
|
|
9991
|
+
}
|
|
9992
|
+
});
|
|
9993
|
+
|
|
9106
9994
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
9107
9995
|
function uniqueContentFrameKinds() {
|
|
9108
9996
|
const kinds = [...new Set(
|
|
@@ -9115,6 +10003,15 @@ function uniqueContentFrameKinds() {
|
|
|
9115
10003
|
return [firstKind, ...kinds.slice(1)];
|
|
9116
10004
|
}
|
|
9117
10005
|
function defineCuratedSiteStyle(input) {
|
|
10006
|
+
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
10007
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
10008
|
+
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
10009
|
+
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
10010
|
+
if (!typographyPresetChoices.some((choice) => choice.id === defaultTypographyPresetId)) {
|
|
10011
|
+
throw new Error(
|
|
10012
|
+
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
10013
|
+
);
|
|
10014
|
+
}
|
|
9118
10015
|
return {
|
|
9119
10016
|
id: asSiteStyleId(input.id),
|
|
9120
10017
|
name: input.name,
|
|
@@ -9135,11 +10032,23 @@ function defineCuratedSiteStyle(input) {
|
|
|
9135
10032
|
},
|
|
9136
10033
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
9137
10034
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
9138
|
-
|
|
10035
|
+
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
10036
|
+
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
10037
|
+
styleId: asHeaderStyleId(input.defaultHeaderSelection.styleId)
|
|
10038
|
+
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
10039
|
+
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
10040
|
+
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
10041
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map((selection) => ({
|
|
10042
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
10043
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
10044
|
+
})),
|
|
10045
|
+
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
9139
10046
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
9140
10047
|
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(asFooterLookId),
|
|
9141
10048
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
9142
|
-
paletteVariantChoices: input.paletteVariantChoices
|
|
10049
|
+
paletteVariantChoices: input.paletteVariantChoices,
|
|
10050
|
+
typographyPresetChoices,
|
|
10051
|
+
defaultTypographyPresetId
|
|
9143
10052
|
};
|
|
9144
10053
|
}
|
|
9145
10054
|
function buttonChoice(id, note) {
|
|
@@ -9148,6 +10057,88 @@ function buttonChoice(id, note) {
|
|
|
9148
10057
|
function paletteChoice(id, note) {
|
|
9149
10058
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
9150
10059
|
}
|
|
10060
|
+
function headerLayoutChoice(id, note) {
|
|
10061
|
+
return note ? { id: asHeaderLayoutId(id), note } : { id: asHeaderLayoutId(id) };
|
|
10062
|
+
}
|
|
10063
|
+
function headerStyleChoice(id, note) {
|
|
10064
|
+
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
10065
|
+
}
|
|
10066
|
+
function headerLayoutRecordKey(id) {
|
|
10067
|
+
return id;
|
|
10068
|
+
}
|
|
10069
|
+
function uniqueHeaderLayoutChoices(choices) {
|
|
10070
|
+
const seen = /* @__PURE__ */ new Set();
|
|
10071
|
+
const unique = choices.filter((choice) => {
|
|
10072
|
+
if (seen.has(choice.id)) return false;
|
|
10073
|
+
seen.add(choice.id);
|
|
10074
|
+
return true;
|
|
10075
|
+
});
|
|
10076
|
+
const first = unique[0];
|
|
10077
|
+
if (!first) {
|
|
10078
|
+
throw new Error("Expected at least one curated header layout choice.");
|
|
10079
|
+
}
|
|
10080
|
+
return [first, ...unique.slice(1)];
|
|
10081
|
+
}
|
|
10082
|
+
function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
10083
|
+
const first = choices[0] ?? {
|
|
10084
|
+
id: getCompatibleHeaderStyleIds(fallbackLayoutId)[0] ?? asHeaderStyleId("minimal")
|
|
10085
|
+
};
|
|
10086
|
+
return [first, ...choices.slice(1)];
|
|
10087
|
+
}
|
|
10088
|
+
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
10089
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter((selection) => Boolean(selection));
|
|
10090
|
+
const defaultHeaderSelection = selections[0] ?? {
|
|
10091
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
10092
|
+
styleId: asHeaderStyleId("minimal")
|
|
10093
|
+
};
|
|
10094
|
+
const layoutChoices = uniqueHeaderLayoutChoices(
|
|
10095
|
+
selections.map((selection) => headerLayoutChoice(selection.layoutId))
|
|
10096
|
+
);
|
|
10097
|
+
const stylesByLayout = {};
|
|
10098
|
+
for (const layoutChoice of layoutChoices) {
|
|
10099
|
+
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
10100
|
+
stylesByLayout[headerLayoutRecordKey(layoutChoice.id)] = nonEmptyHeaderStyleChoices(
|
|
10101
|
+
styleChoices,
|
|
10102
|
+
layoutChoice.id
|
|
10103
|
+
);
|
|
10104
|
+
}
|
|
10105
|
+
return {
|
|
10106
|
+
defaultHeaderSelection,
|
|
10107
|
+
recommendedHeaderLayoutChoices: layoutChoices,
|
|
10108
|
+
recommendedHeaderStyleChoicesByLayout: stylesByLayout
|
|
10109
|
+
};
|
|
10110
|
+
}
|
|
10111
|
+
function typographyChoice(id, note) {
|
|
10112
|
+
return note ? { id: asTypographyPresetId(id), note } : { id: asTypographyPresetId(id) };
|
|
10113
|
+
}
|
|
10114
|
+
function defaultTypographyPresetChoicesForRecipe(recipe) {
|
|
10115
|
+
switch (recipe) {
|
|
10116
|
+
case "clean-sans":
|
|
10117
|
+
return [
|
|
10118
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
10119
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
10120
|
+
typographyChoice("typography-preset:bold-display")
|
|
10121
|
+
];
|
|
10122
|
+
case "friendly-sans":
|
|
10123
|
+
return [
|
|
10124
|
+
typographyChoice("typography-preset:warm-rounded"),
|
|
10125
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
10126
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
10127
|
+
];
|
|
10128
|
+
case "serif-editorial":
|
|
10129
|
+
return [
|
|
10130
|
+
typographyChoice("typography-preset:editorial-serif"),
|
|
10131
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
10132
|
+
typographyChoice("typography-preset:warm-rounded")
|
|
10133
|
+
];
|
|
10134
|
+
case "classic-serif":
|
|
10135
|
+
return [
|
|
10136
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
10137
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
10138
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
10139
|
+
];
|
|
10140
|
+
}
|
|
10141
|
+
}
|
|
9151
10142
|
var curatedSiteStyleIdValues, quietBudget, balancedBudget, expressiveBudget, expressiveUnderlineInputs, generatedContentFrameKinds, curatedSiteStyles, curatedSiteStylesById;
|
|
9152
10143
|
var init_curatedSiteStyles = __esm({
|
|
9153
10144
|
"../theme-core/src/site-styles/curatedSiteStyles.ts"() {
|
|
@@ -9159,6 +10150,7 @@ var init_curatedSiteStyles = __esm({
|
|
|
9159
10150
|
init_curatedChoices();
|
|
9160
10151
|
init_sourceCatalogs();
|
|
9161
10152
|
init_types3();
|
|
10153
|
+
init_typographyPresets();
|
|
9162
10154
|
curatedSiteStyleIdValues = [
|
|
9163
10155
|
"site-style:calm-studio",
|
|
9164
10156
|
"site-style:clear-professional",
|
|
@@ -9170,6 +10162,7 @@ var init_curatedSiteStyles = __esm({
|
|
|
9170
10162
|
"site-style:personal-retreat-journal",
|
|
9171
10163
|
"site-style:tactile-workshop",
|
|
9172
10164
|
"site-style:modern-wellness",
|
|
10165
|
+
"site-style:soft-earth",
|
|
9173
10166
|
"site-style:bold-launch",
|
|
9174
10167
|
"site-style:south-west-twerk-school"
|
|
9175
10168
|
];
|
|
@@ -9560,6 +10553,102 @@ var init_curatedSiteStyles = __esm({
|
|
|
9560
10553
|
paletteChoice("warm-neutral-clay")
|
|
9561
10554
|
]
|
|
9562
10555
|
}),
|
|
10556
|
+
defineCuratedSiteStyle({
|
|
10557
|
+
id: "site-style:soft-earth",
|
|
10558
|
+
name: "Soft Earth",
|
|
10559
|
+
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
10560
|
+
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.",
|
|
10561
|
+
siteCreatorSelection: { kind: "site_creator_keyword_heuristic", priority: 45 },
|
|
10562
|
+
selectionKeywordRules: [
|
|
10563
|
+
{ kind: "word", value: "meditation" },
|
|
10564
|
+
{ kind: "word", value: "wellbeing" },
|
|
10565
|
+
{ kind: "substring", value: "retreat" },
|
|
10566
|
+
{ kind: "phrase", value: "yoga studio" },
|
|
10567
|
+
{ kind: "phrase", value: "mindful movement" }
|
|
10568
|
+
],
|
|
10569
|
+
tokenRecipes: {
|
|
10570
|
+
palette: "warm-neutral",
|
|
10571
|
+
contrast: "standard",
|
|
10572
|
+
radius: "soft",
|
|
10573
|
+
shadow: "subtle",
|
|
10574
|
+
typography: "serif-editorial",
|
|
10575
|
+
spacing: "airy",
|
|
10576
|
+
motion: "subtle"
|
|
10577
|
+
},
|
|
10578
|
+
compositionBudget: balancedBudget,
|
|
10579
|
+
themeOverrides: {
|
|
10580
|
+
typography: {
|
|
10581
|
+
body: {
|
|
10582
|
+
family: "Inter, system-ui, sans-serif",
|
|
10583
|
+
size: "md",
|
|
10584
|
+
weight: "regular",
|
|
10585
|
+
lineHeight: "relaxed",
|
|
10586
|
+
letterSpacing: "normal"
|
|
10587
|
+
},
|
|
10588
|
+
headings: {
|
|
10589
|
+
default: {
|
|
10590
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
10591
|
+
weight: "regular",
|
|
10592
|
+
lineHeight: "normal",
|
|
10593
|
+
letterSpacing: "normal",
|
|
10594
|
+
colorToken: "text",
|
|
10595
|
+
italic: null,
|
|
10596
|
+
case: null
|
|
10597
|
+
},
|
|
10598
|
+
h1: {
|
|
10599
|
+
size: "xl",
|
|
10600
|
+
weight: "regular",
|
|
10601
|
+
lineHeight: "normal",
|
|
10602
|
+
letterSpacing: "normal",
|
|
10603
|
+
italic: null
|
|
10604
|
+
},
|
|
10605
|
+
h2: {
|
|
10606
|
+
size: "lg",
|
|
10607
|
+
weight: "regular",
|
|
10608
|
+
lineHeight: "normal",
|
|
10609
|
+
letterSpacing: "normal",
|
|
10610
|
+
italic: null
|
|
10611
|
+
},
|
|
10612
|
+
h3: {
|
|
10613
|
+
size: "md",
|
|
10614
|
+
weight: "regular",
|
|
10615
|
+
lineHeight: "normal",
|
|
10616
|
+
letterSpacing: "normal",
|
|
10617
|
+
italic: null
|
|
10618
|
+
}
|
|
10619
|
+
},
|
|
10620
|
+
scale: "majorThird"
|
|
10621
|
+
},
|
|
10622
|
+
bodyText: {
|
|
10623
|
+
intro: {
|
|
10624
|
+
paragraphSize: "default",
|
|
10625
|
+
headingSize: "editorial"
|
|
10626
|
+
}
|
|
10627
|
+
}
|
|
10628
|
+
},
|
|
10629
|
+
recommendedAppearancePresetIds: [
|
|
10630
|
+
"hero-brand-scrim",
|
|
10631
|
+
"intro-soft-earth-statement",
|
|
10632
|
+
"feature-cards-soft-earth-offerings",
|
|
10633
|
+
"testimonials-soft-earth-proof-band",
|
|
10634
|
+
"faq-soft-earth-two-column",
|
|
10635
|
+
"contact-form-panel"
|
|
10636
|
+
],
|
|
10637
|
+
recommendedHeaderLookIds: ["centered-calm", "minimal-transparent", "editorial-line"],
|
|
10638
|
+
recommendedFooterLookIds: ["footer-muted-grounding", "site-footer-brand-two-band"],
|
|
10639
|
+
buttonPersonalityChoices: [
|
|
10640
|
+
buttonChoice("earth-pill"),
|
|
10641
|
+
buttonChoice("soft-pill"),
|
|
10642
|
+
buttonChoice("pebble"),
|
|
10643
|
+
buttonChoice("editorial-link")
|
|
10644
|
+
],
|
|
10645
|
+
paletteVariantChoices: [
|
|
10646
|
+
paletteChoice("warm-neutral-soft-earth"),
|
|
10647
|
+
paletteChoice("warm-neutral-clay"),
|
|
10648
|
+
paletteChoice("warm-neutral-forest"),
|
|
10649
|
+
paletteChoice("soft-natural-sage")
|
|
10650
|
+
]
|
|
10651
|
+
}),
|
|
9563
10652
|
defineCuratedSiteStyle({
|
|
9564
10653
|
id: "site-style:bold-launch",
|
|
9565
10654
|
name: "Bold Launch",
|
|
@@ -9613,49 +10702,13 @@ var init_curatedSiteStyles = __esm({
|
|
|
9613
10702
|
motion: "expressive"
|
|
9614
10703
|
},
|
|
9615
10704
|
compositionBudget: expressiveBudget,
|
|
10705
|
+
typographyPresetChoices: [
|
|
10706
|
+
typographyChoice("typography-preset:bold-display"),
|
|
10707
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
10708
|
+
typographyChoice("typography-preset:luxe-contrast")
|
|
10709
|
+
],
|
|
10710
|
+
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
9616
10711
|
themeOverrides: {
|
|
9617
|
-
typography: {
|
|
9618
|
-
body: {
|
|
9619
|
-
family: "Manrope, system-ui, sans-serif",
|
|
9620
|
-
size: "lg",
|
|
9621
|
-
weight: "regular",
|
|
9622
|
-
lineHeight: "relaxed",
|
|
9623
|
-
letterSpacing: "normal"
|
|
9624
|
-
},
|
|
9625
|
-
headings: {
|
|
9626
|
-
default: {
|
|
9627
|
-
family: '"TAN - PEARL", sans-serif',
|
|
9628
|
-
weight: "bold",
|
|
9629
|
-
lineHeight: "normal",
|
|
9630
|
-
letterSpacing: "tight",
|
|
9631
|
-
colorToken: "primary",
|
|
9632
|
-
italic: null,
|
|
9633
|
-
case: null
|
|
9634
|
-
},
|
|
9635
|
-
h1: {
|
|
9636
|
-
size: "xl",
|
|
9637
|
-
weight: "bold",
|
|
9638
|
-
lineHeight: "normal",
|
|
9639
|
-
letterSpacing: "tight",
|
|
9640
|
-
italic: null
|
|
9641
|
-
},
|
|
9642
|
-
h2: {
|
|
9643
|
-
size: "lg",
|
|
9644
|
-
weight: "bold",
|
|
9645
|
-
lineHeight: "normal",
|
|
9646
|
-
letterSpacing: "normal",
|
|
9647
|
-
italic: null
|
|
9648
|
-
},
|
|
9649
|
-
h3: {
|
|
9650
|
-
size: "md",
|
|
9651
|
-
weight: "bold",
|
|
9652
|
-
lineHeight: "normal",
|
|
9653
|
-
letterSpacing: "normal",
|
|
9654
|
-
italic: null
|
|
9655
|
-
}
|
|
9656
|
-
},
|
|
9657
|
-
scale: "balanced"
|
|
9658
|
-
},
|
|
9659
10712
|
bodyText: {
|
|
9660
10713
|
intro: {
|
|
9661
10714
|
paragraphSize: "editorial",
|
|
@@ -10406,6 +11459,7 @@ var init_previewCompiler = __esm({
|
|
|
10406
11459
|
init_variants();
|
|
10407
11460
|
init_curatedChoices();
|
|
10408
11461
|
init_curatedSiteStyles();
|
|
11462
|
+
init_typographyPresets();
|
|
10409
11463
|
init_resolver2();
|
|
10410
11464
|
init_types3();
|
|
10411
11465
|
init_footerLooks();
|
|
@@ -10419,6 +11473,7 @@ var init_previewCompiler = __esm({
|
|
|
10419
11473
|
init_runtimeCompiler();
|
|
10420
11474
|
init_curatedChoices();
|
|
10421
11475
|
init_curatedSiteStyles();
|
|
11476
|
+
init_typographyPresets();
|
|
10422
11477
|
init_types3();
|
|
10423
11478
|
}
|
|
10424
11479
|
});
|
|
@@ -10699,6 +11754,13 @@ var init_pageDesignEditorErrors = __esm({
|
|
|
10699
11754
|
}
|
|
10700
11755
|
});
|
|
10701
11756
|
|
|
11757
|
+
// ../theme-core/src/site-styles/persistedIdParseResult.ts
|
|
11758
|
+
var init_persistedIdParseResult = __esm({
|
|
11759
|
+
"../theme-core/src/site-styles/persistedIdParseResult.ts"() {
|
|
11760
|
+
"use strict";
|
|
11761
|
+
}
|
|
11762
|
+
});
|
|
11763
|
+
|
|
10702
11764
|
// ../theme-core/src/site-styles/tokenRecipes.ts
|
|
10703
11765
|
import { z as z28 } from "zod";
|
|
10704
11766
|
var themeTokenRecipeOptions, themeTokenRecipesSchema;
|
|
@@ -10756,6 +11818,7 @@ var init_site_styles = __esm({
|
|
|
10756
11818
|
init_pageDesignEditorModel();
|
|
10757
11819
|
init_pageDesignIntent();
|
|
10758
11820
|
init_previewCustomization();
|
|
11821
|
+
init_persistedIdParseResult();
|
|
10759
11822
|
init_rawStyleFields();
|
|
10760
11823
|
init_records();
|
|
10761
11824
|
init_resolver2();
|
|
@@ -10764,6 +11827,7 @@ var init_site_styles = __esm({
|
|
|
10764
11827
|
init_sourceCatalogs();
|
|
10765
11828
|
init_styleTags();
|
|
10766
11829
|
init_tokenRecipes();
|
|
11830
|
+
init_typographyPresets();
|
|
10767
11831
|
init_types3();
|
|
10768
11832
|
}
|
|
10769
11833
|
});
|
|
@@ -12008,6 +13072,7 @@ var init_validation_constants = __esm({
|
|
|
12008
13072
|
"layout.headerRootClass",
|
|
12009
13073
|
"layout.footerRootClass",
|
|
12010
13074
|
"layout.headerRootStyle",
|
|
13075
|
+
"layout.headerSectionBackground",
|
|
12011
13076
|
"layout.footerRootStyle",
|
|
12012
13077
|
// UI (ui.ts)
|
|
12013
13078
|
"ui.headerNavLinkClass",
|
|
@@ -14405,8 +15470,9 @@ var init_faqAccordion = __esm({
|
|
|
14405
15470
|
},
|
|
14406
15471
|
fallback: "rb-faq-item"
|
|
14407
15472
|
},
|
|
14408
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } }
|
|
14409
|
-
//
|
|
15473
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
15474
|
+
// Legacy theme accordion style
|
|
15475
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
14410
15476
|
},
|
|
14411
15477
|
triggerFrom: "faqItem.question",
|
|
14412
15478
|
contentFrom: "faqItem.answer"
|
|
@@ -46799,6 +47865,9 @@ init_schema3();
|
|
|
46799
47865
|
var TEL_RE = /^[+()0-9\s-]{3,}$/;
|
|
46800
47866
|
var SLUG_PATTERN = /^(?:[a-z0-9]+(?:-[a-z0-9]+)*)(?:\/(?:[a-z0-9]+(?:-[a-z0-9]+)*))*$/;
|
|
46801
47867
|
var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
47868
|
+
var DATE_PATTERN = /^(?<year>[1-9]\d{3})-(?<month>\d{2})-(?<day>\d{2})$/;
|
|
47869
|
+
var TIME_PATTERN = /^(?<hours>[01]\d|2[0-3]):(?<minutes>[0-5]\d)$/;
|
|
47870
|
+
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)$/;
|
|
46802
47871
|
function assertNever6(value) {
|
|
46803
47872
|
throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
|
|
46804
47873
|
}
|
|
@@ -46831,6 +47900,12 @@ function fieldIssueToMessage(issue2) {
|
|
|
46831
47900
|
return "Check the format and try again";
|
|
46832
47901
|
case "invalidUrl":
|
|
46833
47902
|
return "Enter a valid web address";
|
|
47903
|
+
case "invalidDate":
|
|
47904
|
+
return "Choose a valid date";
|
|
47905
|
+
case "invalidTime":
|
|
47906
|
+
return "Choose a valid time";
|
|
47907
|
+
case "invalidDateTime":
|
|
47908
|
+
return "Choose a valid date and time";
|
|
46834
47909
|
case "invalidNumber":
|
|
46835
47910
|
return `${issue2.label} needs a number`;
|
|
46836
47911
|
case "tooSmall":
|
|
@@ -46867,12 +47942,16 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
46867
47942
|
case "text": {
|
|
46868
47943
|
const inputType = field.ui?.inputType;
|
|
46869
47944
|
if (inputType === "number") {
|
|
46870
|
-
const constraints2 = commonConstraints(required, {
|
|
47945
|
+
const constraints2 = commonConstraints(required, {
|
|
47946
|
+
kind: "numberType"
|
|
47947
|
+
});
|
|
46871
47948
|
if (typeof field.ui?.min === "number") constraints2.push({ kind: "numberMin", minimum: field.ui.min });
|
|
46872
47949
|
if (typeof field.ui?.max === "number") constraints2.push({ kind: "numberMax", maximum: field.ui.max });
|
|
46873
47950
|
return makePlan("number", "number", field, path, required, constraints2);
|
|
46874
47951
|
}
|
|
46875
|
-
const constraints = commonConstraints(required, {
|
|
47952
|
+
const constraints = commonConstraints(required, {
|
|
47953
|
+
kind: "textType"
|
|
47954
|
+
});
|
|
46876
47955
|
if (inputType === "email") constraints.push({ kind: "emailFormat" });
|
|
46877
47956
|
if (inputType === "tel") constraints.push({ kind: "phoneFormat" });
|
|
46878
47957
|
if (field.ui?.pattern) constraints.push({ kind: "patternFormat", pattern: field.ui.pattern });
|
|
@@ -46880,7 +47959,9 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
46880
47959
|
return makePlan("string", "string", field, path, required, constraints);
|
|
46881
47960
|
}
|
|
46882
47961
|
case "number": {
|
|
46883
|
-
const constraints = commonConstraints(required, {
|
|
47962
|
+
const constraints = commonConstraints(required, {
|
|
47963
|
+
kind: "numberType"
|
|
47964
|
+
});
|
|
46884
47965
|
if (typeof field.min === "number") constraints.push({ kind: "numberMin", minimum: field.min });
|
|
46885
47966
|
if (typeof field.max === "number") constraints.push({ kind: "numberMax", maximum: field.max });
|
|
46886
47967
|
return makePlan("number", "number", field, path, required, constraints);
|
|
@@ -46891,23 +47972,42 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
46891
47972
|
return makePlan("string", "string", field, path, required, constraints);
|
|
46892
47973
|
}
|
|
46893
47974
|
case "url":
|
|
46894
|
-
return makePlan(
|
|
47975
|
+
return makePlan(
|
|
47976
|
+
"string",
|
|
47977
|
+
"string",
|
|
47978
|
+
field,
|
|
47979
|
+
path,
|
|
46895
47980
|
required,
|
|
46896
|
-
{ kind: "textType" },
|
|
46897
|
-
|
|
46898
|
-
));
|
|
47981
|
+
commonConstraints(required, { kind: "textType" }, { kind: "urlFormat", allowRelative: Boolean(field.allowRelative) })
|
|
47982
|
+
);
|
|
46899
47983
|
case "reference":
|
|
46900
47984
|
return makePlan("string", "string", field, path, required, commonConstraints(required, { kind: "referenceText" }));
|
|
46901
47985
|
case "date":
|
|
47986
|
+
return makePlan("string", "string", field, path, required, commonConstraints(required, { kind: "textType" }, { kind: "dateFormat" }));
|
|
46902
47987
|
case "time":
|
|
47988
|
+
return makePlan("string", "string", field, path, required, commonConstraints(required, { kind: "textType" }, { kind: "timeFormat" }));
|
|
46903
47989
|
case "datetime":
|
|
46904
|
-
return makePlan(
|
|
47990
|
+
return makePlan(
|
|
47991
|
+
"string",
|
|
47992
|
+
"string",
|
|
47993
|
+
field,
|
|
47994
|
+
path,
|
|
47995
|
+
required,
|
|
47996
|
+
commonConstraints(required, { kind: "textType" }, { kind: "datetimeFormat" })
|
|
47997
|
+
);
|
|
46905
47998
|
case "select":
|
|
46906
|
-
return makePlan(
|
|
46907
|
-
|
|
46908
|
-
|
|
46909
|
-
|
|
46910
|
-
|
|
47999
|
+
return makePlan(
|
|
48000
|
+
"select",
|
|
48001
|
+
"select",
|
|
48002
|
+
field,
|
|
48003
|
+
path,
|
|
48004
|
+
required,
|
|
48005
|
+
commonConstraints(required, {
|
|
48006
|
+
kind: "selectOption",
|
|
48007
|
+
source: resolveSelectConstraintSource(field),
|
|
48008
|
+
multiple: Boolean(field.multiple)
|
|
48009
|
+
})
|
|
48010
|
+
);
|
|
46911
48011
|
case "richText":
|
|
46912
48012
|
return makePlan("richText", "object", field, path, required, commonConstraints(required, { kind: "richTextDoc" }));
|
|
46913
48013
|
case "media":
|
|
@@ -46920,7 +48020,11 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
46920
48020
|
case "repeater":
|
|
46921
48021
|
return {
|
|
46922
48022
|
...makePlan("repeater", "array", field, path, required, commonConstraints(required, { kind: "arrayType" })),
|
|
46923
|
-
...field.polymorphic && field.itemTypes ? {
|
|
48023
|
+
...field.polymorphic && field.itemTypes ? {
|
|
48024
|
+
repeatedItemVariants: deriveRepeatedItemVariants(field, [...path, 0])
|
|
48025
|
+
} : {
|
|
48026
|
+
repeatedItemPlan: deriveNestedFieldPlans(getRepeaterFields(field), [...path, 0])
|
|
48027
|
+
},
|
|
46924
48028
|
constraints: withRepeaterItemConstraints(field, commonConstraints(required, { kind: "arrayType" }))
|
|
46925
48029
|
};
|
|
46926
48030
|
case "group":
|
|
@@ -47005,7 +48109,10 @@ function resolveSelectConstraintSource(field) {
|
|
|
47005
48109
|
const source = normalizeSelectSource(field);
|
|
47006
48110
|
switch (source.kind) {
|
|
47007
48111
|
case "static":
|
|
47008
|
-
return {
|
|
48112
|
+
return {
|
|
48113
|
+
kind: "static",
|
|
48114
|
+
values: field.options.map((option) => option.value)
|
|
48115
|
+
};
|
|
47009
48116
|
case "site":
|
|
47010
48117
|
case "sdk":
|
|
47011
48118
|
return { kind: "runtime", source: source.kind };
|
|
@@ -47101,7 +48208,9 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
47101
48208
|
}
|
|
47102
48209
|
function normalizeObjectChildren(children, value, ctx) {
|
|
47103
48210
|
if (!value || typeof value !== "object" || Array.isArray(value)) return value;
|
|
47104
|
-
const normalized = {
|
|
48211
|
+
const normalized = {
|
|
48212
|
+
...value
|
|
48213
|
+
};
|
|
47105
48214
|
for (const child of children) {
|
|
47106
48215
|
normalized[child.fieldId] = normalizeFieldValue(child, normalized[child.fieldId], ctx);
|
|
47107
48216
|
}
|
|
@@ -47195,6 +48304,12 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
47195
48304
|
}
|
|
47196
48305
|
case "urlFormat":
|
|
47197
48306
|
return isValidUrl(value, constraint.allowRelative) ? [] : [issue(plan, "invalidUrl")];
|
|
48307
|
+
case "dateFormat":
|
|
48308
|
+
return isValidDateString(value) ? [] : [issue(plan, "invalidDate")];
|
|
48309
|
+
case "timeFormat":
|
|
48310
|
+
return isValidTimeString(value) ? [] : [issue(plan, "invalidTime")];
|
|
48311
|
+
case "datetimeFormat":
|
|
48312
|
+
return isValidDateTimeInstantString(value) ? [] : [issue(plan, "invalidDateTime")];
|
|
47198
48313
|
case "slugFormat":
|
|
47199
48314
|
return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
|
|
47200
48315
|
default:
|
|
@@ -47231,17 +48346,24 @@ function validateRepeaterPlan(plan, value, ctx) {
|
|
|
47231
48346
|
case "arrayType":
|
|
47232
48347
|
return [];
|
|
47233
48348
|
case "minItems":
|
|
47234
|
-
return value.length < constraint.minimum ? [
|
|
48349
|
+
return value.length < constraint.minimum ? [
|
|
48350
|
+
issue(plan, "tooFewItems", {
|
|
48351
|
+
minimum: constraint.minimum,
|
|
48352
|
+
itemLabel: "item"
|
|
48353
|
+
})
|
|
48354
|
+
] : [];
|
|
47235
48355
|
case "maxItems":
|
|
47236
|
-
return value.length > constraint.maximum ? [
|
|
48356
|
+
return value.length > constraint.maximum ? [
|
|
48357
|
+
issue(plan, "tooManyItems", {
|
|
48358
|
+
maximum: constraint.maximum,
|
|
48359
|
+
itemLabel: "item"
|
|
48360
|
+
})
|
|
48361
|
+
] : [];
|
|
47237
48362
|
default:
|
|
47238
48363
|
return assertNever6(constraint);
|
|
47239
48364
|
}
|
|
47240
48365
|
});
|
|
47241
|
-
return [
|
|
47242
|
-
...constraintIssues,
|
|
47243
|
-
...value.flatMap((item, index) => validateRepeaterItem(plan, item, index, ctx))
|
|
47244
|
-
];
|
|
48366
|
+
return [...constraintIssues, ...value.flatMap((item, index) => validateRepeaterItem(plan, item, index, ctx))];
|
|
47245
48367
|
}
|
|
47246
48368
|
function validateRepeaterItem(plan, item, index, ctx) {
|
|
47247
48369
|
if (!isPlainObject(item)) return [];
|
|
@@ -47284,9 +48406,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
|
47284
48406
|
}))
|
|
47285
48407
|
} : {},
|
|
47286
48408
|
...plan.repeatedItemPlan ? {
|
|
47287
|
-
repeatedItemPlan: plan.repeatedItemPlan.map(
|
|
47288
|
-
(fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix)
|
|
47289
|
-
)
|
|
48409
|
+
repeatedItemPlan: plan.repeatedItemPlan.map((fieldPlan) => rebaseFieldPlanPath(fieldPlan, fromPrefix, toPrefix))
|
|
47290
48410
|
} : {}
|
|
47291
48411
|
};
|
|
47292
48412
|
case "string":
|
|
@@ -47373,6 +48493,9 @@ function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
|
47373
48493
|
case "invalidPhone":
|
|
47374
48494
|
case "invalidPattern":
|
|
47375
48495
|
case "invalidUrl":
|
|
48496
|
+
case "invalidDate":
|
|
48497
|
+
case "invalidTime":
|
|
48498
|
+
case "invalidDateTime":
|
|
47376
48499
|
case "invalidNumber":
|
|
47377
48500
|
case "tooSmall":
|
|
47378
48501
|
case "tooLarge":
|
|
@@ -47412,6 +48535,53 @@ function isValidUrl(value, allowRelative) {
|
|
|
47412
48535
|
return false;
|
|
47413
48536
|
}
|
|
47414
48537
|
}
|
|
48538
|
+
function isValidDateString(value) {
|
|
48539
|
+
const match = DATE_PATTERN.exec(value);
|
|
48540
|
+
if (!match?.groups) return false;
|
|
48541
|
+
const year = Number(match.groups.year);
|
|
48542
|
+
const month = Number(match.groups.month);
|
|
48543
|
+
const day = Number(match.groups.day);
|
|
48544
|
+
return isValidCalendarDate(year, month, day);
|
|
48545
|
+
}
|
|
48546
|
+
function isValidTimeString(value) {
|
|
48547
|
+
return TIME_PATTERN.test(value);
|
|
48548
|
+
}
|
|
48549
|
+
function isValidDateTimeInstantString(value) {
|
|
48550
|
+
const match = DATETIME_PATTERN.exec(value);
|
|
48551
|
+
if (!match?.groups) return false;
|
|
48552
|
+
const datePart = match.groups.date;
|
|
48553
|
+
if (!datePart || !isValidDateString(datePart)) return false;
|
|
48554
|
+
return !Number.isNaN(Date.parse(value));
|
|
48555
|
+
}
|
|
48556
|
+
function isValidCalendarDate(year, month, day) {
|
|
48557
|
+
if (!Number.isInteger(year) || !Number.isInteger(month) || !Number.isInteger(day)) return false;
|
|
48558
|
+
if (year < 1 || month < 1 || month > 12) return false;
|
|
48559
|
+
return day >= 1 && day <= daysInMonth(year, month);
|
|
48560
|
+
}
|
|
48561
|
+
function daysInMonth(year, month) {
|
|
48562
|
+
switch (month) {
|
|
48563
|
+
case 2:
|
|
48564
|
+
return isLeapYear(year) ? 29 : 28;
|
|
48565
|
+
case 4:
|
|
48566
|
+
case 6:
|
|
48567
|
+
case 9:
|
|
48568
|
+
case 11:
|
|
48569
|
+
return 30;
|
|
48570
|
+
case 1:
|
|
48571
|
+
case 3:
|
|
48572
|
+
case 5:
|
|
48573
|
+
case 7:
|
|
48574
|
+
case 8:
|
|
48575
|
+
case 10:
|
|
48576
|
+
case 12:
|
|
48577
|
+
return 31;
|
|
48578
|
+
default:
|
|
48579
|
+
return 0;
|
|
48580
|
+
}
|
|
48581
|
+
}
|
|
48582
|
+
function isLeapYear(year) {
|
|
48583
|
+
return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
|
|
48584
|
+
}
|
|
47415
48585
|
function isValidSelectValue(value, values, multiple) {
|
|
47416
48586
|
if (multiple) {
|
|
47417
48587
|
return Array.isArray(value) && value.every((item) => typeof item === "string" && values.includes(item));
|
|
@@ -47731,6 +48901,342 @@ var heroBlockDefinition = {
|
|
|
47731
48901
|
manifest: heroManifest
|
|
47732
48902
|
};
|
|
47733
48903
|
|
|
48904
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
48905
|
+
init_defineBlock();
|
|
48906
|
+
|
|
48907
|
+
// ../blocks/src/system/fields/aspectRatio.ts
|
|
48908
|
+
var standardAspectRatioOptions = [
|
|
48909
|
+
{ value: "auto", label: "Auto (original)" },
|
|
48910
|
+
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
48911
|
+
{ value: "4/3", label: "4:3 (Standard)" },
|
|
48912
|
+
{ value: "1/1", label: "1:1 (Square)" },
|
|
48913
|
+
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
48914
|
+
];
|
|
48915
|
+
function createAspectRatioField(options = {}) {
|
|
48916
|
+
return {
|
|
48917
|
+
id: options.id ?? "aspectRatio",
|
|
48918
|
+
type: "select",
|
|
48919
|
+
label: options.label ?? "Aspect ratio",
|
|
48920
|
+
...options.description ? { description: options.description } : {},
|
|
48921
|
+
required: false,
|
|
48922
|
+
defaultValue: options.defaultValue ?? "auto",
|
|
48923
|
+
multiple: false,
|
|
48924
|
+
options: [...standardAspectRatioOptions],
|
|
48925
|
+
ui: {
|
|
48926
|
+
intent: options.uiIntent ?? "display",
|
|
48927
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
48928
|
+
}
|
|
48929
|
+
};
|
|
48930
|
+
}
|
|
48931
|
+
|
|
48932
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
48933
|
+
init_ctas();
|
|
48934
|
+
|
|
48935
|
+
// ../blocks/src/system/fields/imageLayout.ts
|
|
48936
|
+
function createImageColSizeField(options = {}) {
|
|
48937
|
+
const {
|
|
48938
|
+
id = "imageColSize",
|
|
48939
|
+
label = "Image column size",
|
|
48940
|
+
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
48941
|
+
defaultValue = "1/3",
|
|
48942
|
+
uiIntent = "display",
|
|
48943
|
+
visibleWhen
|
|
48944
|
+
} = options;
|
|
48945
|
+
return {
|
|
48946
|
+
id,
|
|
48947
|
+
type: "select",
|
|
48948
|
+
label,
|
|
48949
|
+
description,
|
|
48950
|
+
required: false,
|
|
48951
|
+
defaultValue,
|
|
48952
|
+
multiple: false,
|
|
48953
|
+
options: [
|
|
48954
|
+
{ value: "1/4", label: "Small (1/4)" },
|
|
48955
|
+
{ value: "1/3", label: "Medium (1/3)" },
|
|
48956
|
+
{ value: "2/5", label: "Large (2/5)" },
|
|
48957
|
+
{ value: "1/2", label: "Extra large (1/2)" },
|
|
48958
|
+
{ value: "2/3", label: "Huge (2/3)" }
|
|
48959
|
+
],
|
|
48960
|
+
ui: {
|
|
48961
|
+
intent: uiIntent,
|
|
48962
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
48963
|
+
}
|
|
48964
|
+
};
|
|
48965
|
+
}
|
|
48966
|
+
function createImagePositionField(options = {}) {
|
|
48967
|
+
const {
|
|
48968
|
+
id = "imagePosition",
|
|
48969
|
+
label = "Image position",
|
|
48970
|
+
description = "Choose which side the image appears on.",
|
|
48971
|
+
defaultValue = "left",
|
|
48972
|
+
includeAlternate = false,
|
|
48973
|
+
uiIntent = "display",
|
|
48974
|
+
visibleWhen
|
|
48975
|
+
} = options;
|
|
48976
|
+
const positionOptions = [
|
|
48977
|
+
{ value: "left", label: "Left" },
|
|
48978
|
+
{ value: "right", label: "Right" },
|
|
48979
|
+
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
48980
|
+
];
|
|
48981
|
+
return {
|
|
48982
|
+
id,
|
|
48983
|
+
type: "select",
|
|
48984
|
+
label,
|
|
48985
|
+
description,
|
|
48986
|
+
required: false,
|
|
48987
|
+
defaultValue,
|
|
48988
|
+
multiple: false,
|
|
48989
|
+
// Spread to get a mutable array type without unsafe casts.
|
|
48990
|
+
options: [...positionOptions],
|
|
48991
|
+
ui: {
|
|
48992
|
+
intent: uiIntent,
|
|
48993
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
48994
|
+
}
|
|
48995
|
+
};
|
|
48996
|
+
}
|
|
48997
|
+
|
|
48998
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
48999
|
+
init_builder();
|
|
49000
|
+
init_fragments();
|
|
49001
|
+
function introHeading(className) {
|
|
49002
|
+
return text(
|
|
49003
|
+
{
|
|
49004
|
+
as: "h2",
|
|
49005
|
+
className
|
|
49006
|
+
},
|
|
49007
|
+
when("content.title"),
|
|
49008
|
+
bind("content.title")
|
|
49009
|
+
);
|
|
49010
|
+
}
|
|
49011
|
+
function introBody(className = "rb-prose rb-max-w-none") {
|
|
49012
|
+
return richText({ className }, bind("content.body"));
|
|
49013
|
+
}
|
|
49014
|
+
function introCtas(justify = "start") {
|
|
49015
|
+
return ctaRow({
|
|
49016
|
+
justify,
|
|
49017
|
+
gap: "md",
|
|
49018
|
+
containerClassName: "rb-mt-2"
|
|
49019
|
+
});
|
|
49020
|
+
}
|
|
49021
|
+
function introCopyStack(options = {}) {
|
|
49022
|
+
return stack(
|
|
49023
|
+
{
|
|
49024
|
+
gap: "md",
|
|
49025
|
+
className: options.className ?? "rb-intro-copy"
|
|
49026
|
+
},
|
|
49027
|
+
[
|
|
49028
|
+
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
49029
|
+
introBody(options.bodyClassName),
|
|
49030
|
+
introCtas(options.ctaJustify)
|
|
49031
|
+
]
|
|
49032
|
+
);
|
|
49033
|
+
}
|
|
49034
|
+
var introMedia = media(
|
|
49035
|
+
{
|
|
49036
|
+
className: "rb-intro-media rb-w-full rb-h-auto rb-object-cover",
|
|
49037
|
+
style: {
|
|
49038
|
+
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
49039
|
+
}
|
|
49040
|
+
},
|
|
49041
|
+
bind("content.media")
|
|
49042
|
+
);
|
|
49043
|
+
var centeredCopyLayout = styledSection({
|
|
49044
|
+
children: styledContainer({
|
|
49045
|
+
rootType: "stack",
|
|
49046
|
+
rootProps: { gap: "lg" },
|
|
49047
|
+
children: [
|
|
49048
|
+
introCopyStack({
|
|
49049
|
+
className: "rb-intro-copy rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
49050
|
+
headingClassName: "rb-intro-title rb-text-center",
|
|
49051
|
+
bodyClassName: "rb-prose rb-mx-auto rb-max-w-none",
|
|
49052
|
+
ctaJustify: "center"
|
|
49053
|
+
})
|
|
49054
|
+
]
|
|
49055
|
+
}),
|
|
49056
|
+
baseClass: "",
|
|
49057
|
+
spacing: "medium"
|
|
49058
|
+
});
|
|
49059
|
+
var statementCopyLayout = styledSection({
|
|
49060
|
+
children: styledContainer({
|
|
49061
|
+
children: [
|
|
49062
|
+
el(
|
|
49063
|
+
"div",
|
|
49064
|
+
{
|
|
49065
|
+
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
49066
|
+
},
|
|
49067
|
+
[
|
|
49068
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
49069
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
49070
|
+
introBody(),
|
|
49071
|
+
introCtas("start")
|
|
49072
|
+
])
|
|
49073
|
+
]
|
|
49074
|
+
)
|
|
49075
|
+
]
|
|
49076
|
+
}),
|
|
49077
|
+
baseClass: "",
|
|
49078
|
+
spacing: "medium"
|
|
49079
|
+
});
|
|
49080
|
+
var statementMediaLayout = styledSection({
|
|
49081
|
+
children: styledContainer({
|
|
49082
|
+
children: [
|
|
49083
|
+
el(
|
|
49084
|
+
"div",
|
|
49085
|
+
{
|
|
49086
|
+
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"
|
|
49087
|
+
},
|
|
49088
|
+
[
|
|
49089
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
49090
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
49091
|
+
introBody(),
|
|
49092
|
+
introCtas("start")
|
|
49093
|
+
]),
|
|
49094
|
+
el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia], when("content.media"))
|
|
49095
|
+
]
|
|
49096
|
+
)
|
|
49097
|
+
]
|
|
49098
|
+
}),
|
|
49099
|
+
baseClass: "",
|
|
49100
|
+
spacing: "medium"
|
|
49101
|
+
});
|
|
49102
|
+
var mediaCopyLayout = styledSection({
|
|
49103
|
+
children: styledContainer({
|
|
49104
|
+
children: [
|
|
49105
|
+
responsiveTwoColumn({
|
|
49106
|
+
image: el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia]),
|
|
49107
|
+
text: introCopyStack({
|
|
49108
|
+
className: "rb-intro-copy rb-max-w-xl",
|
|
49109
|
+
headingClassName: "rb-intro-title"
|
|
49110
|
+
}),
|
|
49111
|
+
ratioFrom: "content.ratio",
|
|
49112
|
+
imagePositionFrom: "content.imagePosition",
|
|
49113
|
+
gapFrom: "content.gap",
|
|
49114
|
+
gapFallback: "comfortable",
|
|
49115
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
49116
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-center"
|
|
49117
|
+
})
|
|
49118
|
+
]
|
|
49119
|
+
}),
|
|
49120
|
+
baseClass: "",
|
|
49121
|
+
spacing: "medium"
|
|
49122
|
+
});
|
|
49123
|
+
var introConfig = {
|
|
49124
|
+
id: "block.intro",
|
|
49125
|
+
title: "Intro",
|
|
49126
|
+
category: "layout",
|
|
49127
|
+
includeContainerStyles: true,
|
|
49128
|
+
titleSource: "title",
|
|
49129
|
+
additionalFields: [
|
|
49130
|
+
{
|
|
49131
|
+
id: "title",
|
|
49132
|
+
type: "text",
|
|
49133
|
+
label: "Statement",
|
|
49134
|
+
required: false,
|
|
49135
|
+
multiline: true,
|
|
49136
|
+
maxLength: 160
|
|
49137
|
+
},
|
|
49138
|
+
{
|
|
49139
|
+
id: "body",
|
|
49140
|
+
type: "richText",
|
|
49141
|
+
label: "Text",
|
|
49142
|
+
required: true,
|
|
49143
|
+
ui: {
|
|
49144
|
+
richTextVariant: "limited"
|
|
49145
|
+
}
|
|
49146
|
+
},
|
|
49147
|
+
{
|
|
49148
|
+
id: "media",
|
|
49149
|
+
type: "media",
|
|
49150
|
+
label: "Media",
|
|
49151
|
+
required: false,
|
|
49152
|
+
mediaKinds: ["image"],
|
|
49153
|
+
ui: {
|
|
49154
|
+
intent: "content",
|
|
49155
|
+
visibleWhen: { field: "variant", notEquals: "statement-copy" }
|
|
49156
|
+
}
|
|
49157
|
+
},
|
|
49158
|
+
createImagePositionField({
|
|
49159
|
+
id: "imagePosition",
|
|
49160
|
+
label: "Image position",
|
|
49161
|
+
defaultValue: "left",
|
|
49162
|
+
uiIntent: "display",
|
|
49163
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
49164
|
+
}),
|
|
49165
|
+
{
|
|
49166
|
+
id: "gap",
|
|
49167
|
+
type: "select",
|
|
49168
|
+
label: "Gap between media and text",
|
|
49169
|
+
required: false,
|
|
49170
|
+
defaultValue: "comfortable",
|
|
49171
|
+
multiple: false,
|
|
49172
|
+
options: [
|
|
49173
|
+
{ value: "none", label: "None" },
|
|
49174
|
+
{ value: "compact", label: "Compact" },
|
|
49175
|
+
{ value: "cozy", label: "Cozy" },
|
|
49176
|
+
{ value: "medium", label: "Medium" },
|
|
49177
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
49178
|
+
{ value: "spacious", label: "Spacious" }
|
|
49179
|
+
],
|
|
49180
|
+
ui: {
|
|
49181
|
+
intent: "display",
|
|
49182
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
49183
|
+
}
|
|
49184
|
+
},
|
|
49185
|
+
createImageColSizeField({
|
|
49186
|
+
id: "ratio",
|
|
49187
|
+
label: "Media column size",
|
|
49188
|
+
defaultValue: "1/2",
|
|
49189
|
+
uiIntent: "display",
|
|
49190
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
49191
|
+
}),
|
|
49192
|
+
createAspectRatioField({
|
|
49193
|
+
id: "aspectRatio",
|
|
49194
|
+
label: "Media aspect ratio",
|
|
49195
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
49196
|
+
defaultValue: "auto",
|
|
49197
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
49198
|
+
}),
|
|
49199
|
+
createCtasRepeater({
|
|
49200
|
+
label: "Calls to action",
|
|
49201
|
+
itemLabel: "CTA",
|
|
49202
|
+
maxItems: 2
|
|
49203
|
+
})
|
|
49204
|
+
],
|
|
49205
|
+
layout: centeredCopyLayout,
|
|
49206
|
+
variants: {
|
|
49207
|
+
"centered-copy": centeredCopyLayout,
|
|
49208
|
+
"statement-copy": statementCopyLayout,
|
|
49209
|
+
"statement-media": statementMediaLayout,
|
|
49210
|
+
"media-copy": mediaCopyLayout
|
|
49211
|
+
},
|
|
49212
|
+
defaultVariant: "statement-copy",
|
|
49213
|
+
variantOptions: {
|
|
49214
|
+
"centered-copy": {
|
|
49215
|
+
label: "Centered copy",
|
|
49216
|
+
description: "A focused intro with centered text and optional calls to action."
|
|
49217
|
+
},
|
|
49218
|
+
"statement-copy": {
|
|
49219
|
+
label: "Statement and copy",
|
|
49220
|
+
description: "A large statement on the left with supporting copy on the right."
|
|
49221
|
+
},
|
|
49222
|
+
"statement-media": {
|
|
49223
|
+
label: "Statement, copy and media",
|
|
49224
|
+
description: "A three-part intro with statement, copy and a small image."
|
|
49225
|
+
},
|
|
49226
|
+
"media-copy": {
|
|
49227
|
+
label: "Media and copy",
|
|
49228
|
+
description: "A compact media/text intro for softer transitions after a hero."
|
|
49229
|
+
}
|
|
49230
|
+
},
|
|
49231
|
+
description: "A flexible introductory section for statement copy, supporting text, media, and CTAs.",
|
|
49232
|
+
tags: ["intro", "introduction", "about", "welcome", "statement", "media", "text"],
|
|
49233
|
+
icon: "PanelTopOpen"
|
|
49234
|
+
};
|
|
49235
|
+
var introManifest = createBlockManifest(introConfig);
|
|
49236
|
+
var introBlockDefinition = {
|
|
49237
|
+
manifest: introManifest
|
|
49238
|
+
};
|
|
49239
|
+
|
|
47734
49240
|
// ../blocks/src/system/blocks/body-text.ts
|
|
47735
49241
|
init_styledSection();
|
|
47736
49242
|
init_defineBlock();
|
|
@@ -48328,6 +49834,37 @@ var faqComposition = composeFragments([
|
|
|
48328
49834
|
{ fragment: faqHeadingFragment, fieldPriority: 0 },
|
|
48329
49835
|
{ fragment: faqAccordionFragment, fieldPriority: 1 }
|
|
48330
49836
|
]);
|
|
49837
|
+
function fragmentLayoutNode(layout) {
|
|
49838
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
49839
|
+
}
|
|
49840
|
+
function isNodeDefinitionArray(layout) {
|
|
49841
|
+
return Array.isArray(layout);
|
|
49842
|
+
}
|
|
49843
|
+
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
49844
|
+
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
49845
|
+
var defaultLayout = styledSection({
|
|
49846
|
+
children: styledContainer({
|
|
49847
|
+
baseClassName: "rb-relative rb-isolate",
|
|
49848
|
+
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, faqComposition.layout)
|
|
49849
|
+
}),
|
|
49850
|
+
baseClass: ""
|
|
49851
|
+
});
|
|
49852
|
+
var twoColumnLayout = styledSection({
|
|
49853
|
+
children: styledContainer({
|
|
49854
|
+
baseClassName: "rb-relative rb-isolate",
|
|
49855
|
+
children: el(
|
|
49856
|
+
"div",
|
|
49857
|
+
{
|
|
49858
|
+
className: "rb-faq-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
49859
|
+
},
|
|
49860
|
+
[
|
|
49861
|
+
el("div", { className: "rb-faq-two-column-heading" }, [headingLayout]),
|
|
49862
|
+
el("div", { className: "rb-faq-two-column-accordion" }, [accordionLayout])
|
|
49863
|
+
]
|
|
49864
|
+
)
|
|
49865
|
+
}),
|
|
49866
|
+
baseClass: ""
|
|
49867
|
+
});
|
|
48331
49868
|
var faqManifest = createBlockManifest({
|
|
48332
49869
|
id: "block.faq",
|
|
48333
49870
|
title: "FAQ",
|
|
@@ -48344,13 +49881,22 @@ var faqManifest = createBlockManifest({
|
|
|
48344
49881
|
label: "FAQ item styles"
|
|
48345
49882
|
})
|
|
48346
49883
|
],
|
|
48347
|
-
layout:
|
|
48348
|
-
|
|
48349
|
-
|
|
48350
|
-
|
|
48351
|
-
|
|
48352
|
-
|
|
48353
|
-
|
|
49884
|
+
layout: defaultLayout,
|
|
49885
|
+
variants: {
|
|
49886
|
+
default: defaultLayout,
|
|
49887
|
+
"two-column": twoColumnLayout
|
|
49888
|
+
},
|
|
49889
|
+
defaultVariant: "default",
|
|
49890
|
+
variantOptions: {
|
|
49891
|
+
default: {
|
|
49892
|
+
label: "Default",
|
|
49893
|
+
description: "A centered heading above one FAQ accordion."
|
|
49894
|
+
},
|
|
49895
|
+
"two-column": {
|
|
49896
|
+
label: "Two column",
|
|
49897
|
+
description: "A left heading column with FAQ items on the right."
|
|
49898
|
+
}
|
|
49899
|
+
},
|
|
48354
49900
|
description: "Accordion of frequently asked questions and answers.",
|
|
48355
49901
|
tags: ["faq", "questions", "answers", "help", "support", "accordion", "q&a"],
|
|
48356
49902
|
icon: "HelpCircle"
|
|
@@ -49012,7 +50558,8 @@ function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "
|
|
|
49012
50558
|
function resolveHeaderVisualStyles(header, tokens) {
|
|
49013
50559
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
49014
50560
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
49015
|
-
|
|
50561
|
+
const hasTransparentVariant = header?.variant === "transparent" || header?.variant === "floating";
|
|
50562
|
+
if (hasContainedNav || hasTransparentVariant) {
|
|
49016
50563
|
return {
|
|
49017
50564
|
backgroundToken: "transparent",
|
|
49018
50565
|
paletteHex: null,
|
|
@@ -49141,6 +50688,17 @@ var headerRootStyleTransform = {
|
|
|
49141
50688
|
return mergeStyles(...styleParts);
|
|
49142
50689
|
}
|
|
49143
50690
|
};
|
|
50691
|
+
var headerSectionBackgroundTransform = {
|
|
50692
|
+
id: "layout.headerSectionBackground",
|
|
50693
|
+
kind: "string",
|
|
50694
|
+
summary: "Resolve the inner site-header section background token",
|
|
50695
|
+
run: (value) => {
|
|
50696
|
+
const header = asPartialObject(value);
|
|
50697
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
50698
|
+
const usesTransparentRoot = header?.variant === "transparent" || header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill";
|
|
50699
|
+
return usesTransparentRoot ? "raw:transparent" : "background";
|
|
50700
|
+
}
|
|
50701
|
+
};
|
|
49144
50702
|
var footerRootStyleTransform = {
|
|
49145
50703
|
id: "layout.footerRootStyle",
|
|
49146
50704
|
kind: "formatter",
|
|
@@ -49399,6 +50957,7 @@ var layoutTransforms = [
|
|
|
49399
50957
|
headerRootClassTransform,
|
|
49400
50958
|
footerRootClassTransform,
|
|
49401
50959
|
headerRootStyleTransform,
|
|
50960
|
+
headerSectionBackgroundTransform,
|
|
49402
50961
|
footerRootStyleTransform,
|
|
49403
50962
|
footerBottomBarClassTransform,
|
|
49404
50963
|
footerBottomBarContainerClassTransform,
|
|
@@ -49938,7 +51497,10 @@ var editorialLayout = stack(
|
|
|
49938
51497
|
);
|
|
49939
51498
|
var headerLayout = headerSection(
|
|
49940
51499
|
{
|
|
49941
|
-
background: "
|
|
51500
|
+
background: bindProp("$root.theme.header", {
|
|
51501
|
+
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
51502
|
+
fallback: "background"
|
|
51503
|
+
}),
|
|
49942
51504
|
allowOverflow: true,
|
|
49943
51505
|
className: bindProp("$root.theme.header", {
|
|
49944
51506
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
@@ -50879,6 +52441,231 @@ var collectionBlockDefinition = {
|
|
|
50879
52441
|
manifest: collectionManifest
|
|
50880
52442
|
};
|
|
50881
52443
|
|
|
52444
|
+
// ../blocks/src/system/blocks/feature-cards.ts
|
|
52445
|
+
init_defineBlock();
|
|
52446
|
+
init_boxStyles2();
|
|
52447
|
+
init_ctas();
|
|
52448
|
+
init_builder();
|
|
52449
|
+
init_fragments();
|
|
52450
|
+
init_colorStyles();
|
|
52451
|
+
function grid3(props2, children) {
|
|
52452
|
+
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
52453
|
+
}
|
|
52454
|
+
var sectionHeading = stack(
|
|
52455
|
+
{ gap: "sm", className: "rb-feature-cards-heading rb-mx-auto rb-max-w-3xl rb-text-center" },
|
|
52456
|
+
[
|
|
52457
|
+
text(
|
|
52458
|
+
{
|
|
52459
|
+
as: "h2",
|
|
52460
|
+
className: "rb-feature-cards-title rb-text-center"
|
|
52461
|
+
},
|
|
52462
|
+
when("content.title"),
|
|
52463
|
+
bind("content.title")
|
|
52464
|
+
),
|
|
52465
|
+
richText(
|
|
52466
|
+
{
|
|
52467
|
+
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
52468
|
+
style: textColorStyle("mutedText")
|
|
52469
|
+
},
|
|
52470
|
+
when("content.description"),
|
|
52471
|
+
bind("content.description")
|
|
52472
|
+
)
|
|
52473
|
+
]
|
|
52474
|
+
);
|
|
52475
|
+
var featureCard = styledCard(
|
|
52476
|
+
[
|
|
52477
|
+
media(
|
|
52478
|
+
{
|
|
52479
|
+
className: "rb-feature-card-media rb-w-full rb-h-auto rb-object-cover",
|
|
52480
|
+
style: {
|
|
52481
|
+
aspectRatio: { $bind: { from: "card.aspectRatio" } }
|
|
52482
|
+
}
|
|
52483
|
+
},
|
|
52484
|
+
when("card.media"),
|
|
52485
|
+
bind("card.media")
|
|
52486
|
+
),
|
|
52487
|
+
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
52488
|
+
text(
|
|
52489
|
+
{
|
|
52490
|
+
as: "h3",
|
|
52491
|
+
className: "rb-feature-card-title"
|
|
52492
|
+
},
|
|
52493
|
+
bind("card.title")
|
|
52494
|
+
),
|
|
52495
|
+
richText(
|
|
52496
|
+
{
|
|
52497
|
+
className: "rb-feature-card-body rb-prose rb-max-w-none",
|
|
52498
|
+
style: textColorStyle("mutedText")
|
|
52499
|
+
},
|
|
52500
|
+
when("card.body"),
|
|
52501
|
+
bind("card.body")
|
|
52502
|
+
),
|
|
52503
|
+
ctaRow({
|
|
52504
|
+
collectionPath: "ctas",
|
|
52505
|
+
itemName: "cta",
|
|
52506
|
+
gap: "sm",
|
|
52507
|
+
justify: "start",
|
|
52508
|
+
containerClassName: "rb-mt-auto"
|
|
52509
|
+
})
|
|
52510
|
+
])
|
|
52511
|
+
],
|
|
52512
|
+
{
|
|
52513
|
+
stylesFrom: "content._cardStyles",
|
|
52514
|
+
backgroundFrom: "content._cardStyles.background",
|
|
52515
|
+
baseClassName: "rb-feature-card rb-relative rb-isolate rb-overflow-hidden rb-border rb-flex rb-h-full rb-flex-col"
|
|
52516
|
+
},
|
|
52517
|
+
repeat("content.cards", "card")
|
|
52518
|
+
);
|
|
52519
|
+
var cardsLayout = styledSection({
|
|
52520
|
+
children: styledContainer({
|
|
52521
|
+
rootType: "stack",
|
|
52522
|
+
rootProps: { gap: "xl" },
|
|
52523
|
+
children: [
|
|
52524
|
+
sectionHeading,
|
|
52525
|
+
grid3(
|
|
52526
|
+
{
|
|
52527
|
+
cols: {
|
|
52528
|
+
$bind: {
|
|
52529
|
+
from: "content.columns",
|
|
52530
|
+
fallback: 3,
|
|
52531
|
+
coerce: "number"
|
|
52532
|
+
}
|
|
52533
|
+
},
|
|
52534
|
+
gap: "lg"
|
|
52535
|
+
},
|
|
52536
|
+
[featureCard]
|
|
52537
|
+
)
|
|
52538
|
+
]
|
|
52539
|
+
}),
|
|
52540
|
+
baseClass: "",
|
|
52541
|
+
spacing: "medium"
|
|
52542
|
+
});
|
|
52543
|
+
var featureCardsConfig = {
|
|
52544
|
+
id: "block.feature-cards",
|
|
52545
|
+
title: "Feature Cards",
|
|
52546
|
+
category: "layout",
|
|
52547
|
+
includeContainerStyles: true,
|
|
52548
|
+
titleSource: "title",
|
|
52549
|
+
additionalFields: [
|
|
52550
|
+
{
|
|
52551
|
+
id: "title",
|
|
52552
|
+
type: "text",
|
|
52553
|
+
label: "Title",
|
|
52554
|
+
required: false,
|
|
52555
|
+
multiline: false,
|
|
52556
|
+
maxLength: 120
|
|
52557
|
+
},
|
|
52558
|
+
{
|
|
52559
|
+
id: "description",
|
|
52560
|
+
type: "richText",
|
|
52561
|
+
label: "Description",
|
|
52562
|
+
required: false,
|
|
52563
|
+
ui: {
|
|
52564
|
+
richTextVariant: "limited"
|
|
52565
|
+
}
|
|
52566
|
+
},
|
|
52567
|
+
{
|
|
52568
|
+
id: "columns",
|
|
52569
|
+
type: "select",
|
|
52570
|
+
label: "Columns",
|
|
52571
|
+
required: false,
|
|
52572
|
+
defaultValue: "3",
|
|
52573
|
+
multiple: false,
|
|
52574
|
+
options: [
|
|
52575
|
+
{ value: "2", label: "2 columns" },
|
|
52576
|
+
{ value: "3", label: "3 columns" },
|
|
52577
|
+
{ value: "4", label: "4 columns" }
|
|
52578
|
+
],
|
|
52579
|
+
ui: { intent: "display" }
|
|
52580
|
+
},
|
|
52581
|
+
{
|
|
52582
|
+
id: "cards",
|
|
52583
|
+
type: "repeater",
|
|
52584
|
+
label: "Cards",
|
|
52585
|
+
required: false,
|
|
52586
|
+
minItems: 1,
|
|
52587
|
+
maxItems: 8,
|
|
52588
|
+
itemLabel: "Card",
|
|
52589
|
+
itemLabelSource: "title",
|
|
52590
|
+
allowConversion: true,
|
|
52591
|
+
ui: {
|
|
52592
|
+
intent: "content"
|
|
52593
|
+
},
|
|
52594
|
+
schema: {
|
|
52595
|
+
fields: [
|
|
52596
|
+
{
|
|
52597
|
+
id: "media",
|
|
52598
|
+
type: "media",
|
|
52599
|
+
label: "Image",
|
|
52600
|
+
required: false,
|
|
52601
|
+
mediaKinds: ["image"]
|
|
52602
|
+
},
|
|
52603
|
+
createAspectRatioField({
|
|
52604
|
+
id: "aspectRatio",
|
|
52605
|
+
label: "Image aspect ratio",
|
|
52606
|
+
defaultValue: "4/3",
|
|
52607
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
52608
|
+
}),
|
|
52609
|
+
{
|
|
52610
|
+
id: "title",
|
|
52611
|
+
type: "text",
|
|
52612
|
+
label: "Title",
|
|
52613
|
+
required: true,
|
|
52614
|
+
multiline: false,
|
|
52615
|
+
maxLength: 120
|
|
52616
|
+
},
|
|
52617
|
+
{
|
|
52618
|
+
id: "body",
|
|
52619
|
+
type: "richText",
|
|
52620
|
+
label: "Text",
|
|
52621
|
+
required: false,
|
|
52622
|
+
ui: {
|
|
52623
|
+
richTextVariant: "limited"
|
|
52624
|
+
}
|
|
52625
|
+
},
|
|
52626
|
+
createCtasRepeater({
|
|
52627
|
+
label: "Calls to action",
|
|
52628
|
+
itemLabel: "CTA",
|
|
52629
|
+
maxItems: 1,
|
|
52630
|
+
button: {
|
|
52631
|
+
variants: [
|
|
52632
|
+
{ value: "primary", label: "Primary" },
|
|
52633
|
+
{ value: "secondary", label: "Secondary" },
|
|
52634
|
+
{ value: "outline", label: "Outline" },
|
|
52635
|
+
{ value: "ghost", label: "Ghost" },
|
|
52636
|
+
{ value: "link", label: "Link" }
|
|
52637
|
+
],
|
|
52638
|
+
defaultVariant: "ghost"
|
|
52639
|
+
}
|
|
52640
|
+
})
|
|
52641
|
+
]
|
|
52642
|
+
}
|
|
52643
|
+
},
|
|
52644
|
+
cardStylesField({
|
|
52645
|
+
id: "_cardStyles",
|
|
52646
|
+
label: "Card styles"
|
|
52647
|
+
})
|
|
52648
|
+
],
|
|
52649
|
+
layout: cardsLayout,
|
|
52650
|
+
variants: {
|
|
52651
|
+
cards: cardsLayout
|
|
52652
|
+
},
|
|
52653
|
+
defaultVariant: "cards",
|
|
52654
|
+
variantOptions: {
|
|
52655
|
+
cards: {
|
|
52656
|
+
label: "Cards",
|
|
52657
|
+
description: "A responsive grid of image cards with optional calls to action."
|
|
52658
|
+
}
|
|
52659
|
+
},
|
|
52660
|
+
description: "A card grid for offerings, services, classes, benefits, or featured links.",
|
|
52661
|
+
tags: ["cards", "features", "offerings", "services", "classes", "grid", "links"],
|
|
52662
|
+
icon: "PanelsTopLeft"
|
|
52663
|
+
};
|
|
52664
|
+
var featureCardsManifest = createBlockManifest(featureCardsConfig);
|
|
52665
|
+
var featureCardsBlockDefinition = {
|
|
52666
|
+
manifest: featureCardsManifest
|
|
52667
|
+
};
|
|
52668
|
+
|
|
50882
52669
|
// ../blocks/src/system/blocks/media-text.ts
|
|
50883
52670
|
init_defineBlock();
|
|
50884
52671
|
|
|
@@ -50975,69 +52762,6 @@ function createCarouselBehaviorFields(options = {}) {
|
|
|
50975
52762
|
return fields3;
|
|
50976
52763
|
}
|
|
50977
52764
|
|
|
50978
|
-
// ../blocks/src/system/fields/imageLayout.ts
|
|
50979
|
-
function createImageColSizeField(options = {}) {
|
|
50980
|
-
const {
|
|
50981
|
-
id = "imageColSize",
|
|
50982
|
-
label = "Image column size",
|
|
50983
|
-
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
50984
|
-
defaultValue = "1/3",
|
|
50985
|
-
uiIntent = "display",
|
|
50986
|
-
visibleWhen
|
|
50987
|
-
} = options;
|
|
50988
|
-
return {
|
|
50989
|
-
id,
|
|
50990
|
-
type: "select",
|
|
50991
|
-
label,
|
|
50992
|
-
description,
|
|
50993
|
-
required: false,
|
|
50994
|
-
defaultValue,
|
|
50995
|
-
multiple: false,
|
|
50996
|
-
options: [
|
|
50997
|
-
{ value: "1/4", label: "Small (1/4)" },
|
|
50998
|
-
{ value: "1/3", label: "Medium (1/3)" },
|
|
50999
|
-
{ value: "2/5", label: "Large (2/5)" },
|
|
51000
|
-
{ value: "1/2", label: "Extra large (1/2)" },
|
|
51001
|
-
{ value: "2/3", label: "Huge (2/3)" }
|
|
51002
|
-
],
|
|
51003
|
-
ui: {
|
|
51004
|
-
intent: uiIntent,
|
|
51005
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
51006
|
-
}
|
|
51007
|
-
};
|
|
51008
|
-
}
|
|
51009
|
-
function createImagePositionField(options = {}) {
|
|
51010
|
-
const {
|
|
51011
|
-
id = "imagePosition",
|
|
51012
|
-
label = "Image position",
|
|
51013
|
-
description = "Choose which side the image appears on.",
|
|
51014
|
-
defaultValue = "left",
|
|
51015
|
-
includeAlternate = false,
|
|
51016
|
-
uiIntent = "display",
|
|
51017
|
-
visibleWhen
|
|
51018
|
-
} = options;
|
|
51019
|
-
const positionOptions = [
|
|
51020
|
-
{ value: "left", label: "Left" },
|
|
51021
|
-
{ value: "right", label: "Right" },
|
|
51022
|
-
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
51023
|
-
];
|
|
51024
|
-
return {
|
|
51025
|
-
id,
|
|
51026
|
-
type: "select",
|
|
51027
|
-
label,
|
|
51028
|
-
description,
|
|
51029
|
-
required: false,
|
|
51030
|
-
defaultValue,
|
|
51031
|
-
multiple: false,
|
|
51032
|
-
// Spread to get a mutable array type without unsafe casts.
|
|
51033
|
-
options: [...positionOptions],
|
|
51034
|
-
ui: {
|
|
51035
|
-
intent: uiIntent,
|
|
51036
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
51037
|
-
}
|
|
51038
|
-
};
|
|
51039
|
-
}
|
|
51040
|
-
|
|
51041
52765
|
// ../blocks/src/system/blocks/media-text.ts
|
|
51042
52766
|
var mediaTextFrameCapability = defineFrameCapability([
|
|
51043
52767
|
"plain",
|
|
@@ -51161,26 +52885,13 @@ var mediaTextManifest = createBlockManifest({
|
|
|
51161
52885
|
},
|
|
51162
52886
|
ui: { intent: "behavior" }
|
|
51163
52887
|
}),
|
|
51164
|
-
{
|
|
52888
|
+
createAspectRatioField({
|
|
51165
52889
|
id: "aspectRatio",
|
|
51166
|
-
type: "select",
|
|
51167
52890
|
label: "Media aspect ratio",
|
|
51168
52891
|
description: "Crop media to a consistent aspect ratio.",
|
|
51169
|
-
required: false,
|
|
51170
52892
|
defaultValue: "auto",
|
|
51171
|
-
|
|
51172
|
-
|
|
51173
|
-
{ value: "auto", label: "Auto (original)" },
|
|
51174
|
-
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
51175
|
-
{ value: "4/3", label: "4:3 (Standard)" },
|
|
51176
|
-
{ value: "1/1", label: "1:1 (Square)" },
|
|
51177
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
51178
|
-
],
|
|
51179
|
-
ui: {
|
|
51180
|
-
intent: "display",
|
|
51181
|
-
visibleWhen: { field: "images", notEquals: null }
|
|
51182
|
-
}
|
|
51183
|
-
},
|
|
52893
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
52894
|
+
}),
|
|
51184
52895
|
{
|
|
51185
52896
|
id: "text",
|
|
51186
52897
|
type: "richText",
|
|
@@ -51310,7 +53021,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
51310
53021
|
whenImagesLength(0)
|
|
51311
53022
|
);
|
|
51312
53023
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
51313
|
-
const
|
|
53024
|
+
const defaultLayout2 = styledSection({
|
|
51314
53025
|
children: styledContainer({
|
|
51315
53026
|
rootType: "stack",
|
|
51316
53027
|
rootProps: { gap: "lg" },
|
|
@@ -51342,9 +53053,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
51342
53053
|
spacing: "medium"
|
|
51343
53054
|
});
|
|
51344
53055
|
return {
|
|
51345
|
-
layout:
|
|
53056
|
+
layout: defaultLayout2,
|
|
51346
53057
|
variants: {
|
|
51347
|
-
default:
|
|
53058
|
+
default: defaultLayout2
|
|
51348
53059
|
},
|
|
51349
53060
|
defaultVariant: "default",
|
|
51350
53061
|
variantOptions: {
|
|
@@ -53373,7 +55084,7 @@ init_builder();
|
|
|
53373
55084
|
init_colorStyles();
|
|
53374
55085
|
init_defineBlock();
|
|
53375
55086
|
init_fragments();
|
|
53376
|
-
var
|
|
55087
|
+
var grid4 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
53377
55088
|
var galleryContainer = (children, opts) => {
|
|
53378
55089
|
const gap = opts?.gap ?? "md";
|
|
53379
55090
|
const withExtraClass = (baseClass) => opts?.className ? `${baseClass} ${opts.className}` : baseClass;
|
|
@@ -53453,7 +55164,7 @@ var galleryItem = (options) => stack(
|
|
|
53453
55164
|
],
|
|
53454
55165
|
repeat("content.images", "item")
|
|
53455
55166
|
);
|
|
53456
|
-
var gridLayout3 =
|
|
55167
|
+
var gridLayout3 = grid4(
|
|
53457
55168
|
{
|
|
53458
55169
|
className: "rb-grid rb-grid-cols-1 rb-gap-4 rb-sm-grid-cols-2 rb-md-grid-cols-3"
|
|
53459
55170
|
},
|
|
@@ -54061,7 +55772,7 @@ init_builder();
|
|
|
54061
55772
|
init_fragments();
|
|
54062
55773
|
init_colorStyles();
|
|
54063
55774
|
init_defineBlock();
|
|
54064
|
-
var
|
|
55775
|
+
var grid5 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
54065
55776
|
var videoItem = (options) => stack(
|
|
54066
55777
|
{ gap: "xs", className: options.containerClassName },
|
|
54067
55778
|
[
|
|
@@ -54111,7 +55822,7 @@ var gridColumnsClass = (columns) => {
|
|
|
54111
55822
|
return "rb-grid rb-grid-cols-1 rb-gap-6 rb-sm-grid-cols-2 rb-md-grid-cols-3";
|
|
54112
55823
|
}
|
|
54113
55824
|
};
|
|
54114
|
-
var createGridLayout = (columns) =>
|
|
55825
|
+
var createGridLayout = (columns) => grid5(
|
|
54115
55826
|
{
|
|
54116
55827
|
className: gridColumnsClass(columns)
|
|
54117
55828
|
},
|
|
@@ -56200,6 +57911,40 @@ var systemBlockDefinitionsRaw = [
|
|
|
56200
57911
|
})
|
|
56201
57912
|
]
|
|
56202
57913
|
})),
|
|
57914
|
+
withDesignCapability("block.intro", introBlockDefinition, declareBlockDesignCapability({
|
|
57915
|
+
sectionSurfaces: "supported",
|
|
57916
|
+
contentFrames: ["plain", "panel"],
|
|
57917
|
+
itemSurfaces: "unsupported",
|
|
57918
|
+
headingDecorations: ["organic-squiggle"]
|
|
57919
|
+
}), defineBlockDesignMetadata({
|
|
57920
|
+
flow: bodyFlow,
|
|
57921
|
+
layoutProfiles: [
|
|
57922
|
+
layoutProfile({
|
|
57923
|
+
variantKey: "centered-copy",
|
|
57924
|
+
family: "centered",
|
|
57925
|
+
weight: "featured",
|
|
57926
|
+
bias: "soft"
|
|
57927
|
+
}),
|
|
57928
|
+
layoutProfile({
|
|
57929
|
+
variantKey: "statement-copy",
|
|
57930
|
+
family: "split",
|
|
57931
|
+
weight: "featured",
|
|
57932
|
+
bias: "merge"
|
|
57933
|
+
}),
|
|
57934
|
+
layoutProfile({
|
|
57935
|
+
variantKey: "statement-media",
|
|
57936
|
+
family: "media-text",
|
|
57937
|
+
weight: "featured",
|
|
57938
|
+
bias: "soft"
|
|
57939
|
+
}),
|
|
57940
|
+
layoutProfile({
|
|
57941
|
+
variantKey: "media-copy",
|
|
57942
|
+
family: "media-text",
|
|
57943
|
+
weight: "featured",
|
|
57944
|
+
bias: "soft"
|
|
57945
|
+
})
|
|
57946
|
+
]
|
|
57947
|
+
})),
|
|
56203
57948
|
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
56204
57949
|
flow: bodyFlow,
|
|
56205
57950
|
layoutProfiles: [
|
|
@@ -56260,9 +58005,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
56260
58005
|
flow: conversionFlow,
|
|
56261
58006
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
56262
58007
|
})),
|
|
56263
|
-
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(
|
|
58008
|
+
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
58009
|
+
sectionSurfaces: "supported",
|
|
58010
|
+
contentFrames: ["plain", "panel"],
|
|
58011
|
+
itemSurfaces: "supported",
|
|
58012
|
+
accordionIconSets: ["plus", "chevron", "caret", "minimal-cross"]
|
|
58013
|
+
}), standardEyebrowTreatments), defineBlockDesignMetadata({
|
|
56264
58014
|
flow: bodyFlow,
|
|
56265
|
-
layoutProfiles: [
|
|
58015
|
+
layoutProfiles: [
|
|
58016
|
+
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
58017
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
58018
|
+
]
|
|
56266
58019
|
})),
|
|
56267
58020
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
56268
58021
|
flow: siteChromeFlow,
|
|
@@ -56276,7 +58029,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
56276
58029
|
sectionSurfaces: "supported",
|
|
56277
58030
|
contentFrames: ["plain", "panel"],
|
|
56278
58031
|
itemSurfaces: "supported",
|
|
56279
|
-
testimonialCardTreatments: ["default", "accent-quote"]
|
|
58032
|
+
testimonialCardTreatments: ["default", "accent-quote"],
|
|
58033
|
+
headingDecorations: ["short-center-rule"]
|
|
56280
58034
|
}), defineBlockDesignMetadata({
|
|
56281
58035
|
flow: proofFlow,
|
|
56282
58036
|
layoutProfiles: [
|
|
@@ -56302,6 +58056,22 @@ var systemBlockDefinitionsRaw = [
|
|
|
56302
58056
|
flow: offeringsFlow,
|
|
56303
58057
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "grid", weight: "standard" })]
|
|
56304
58058
|
})),
|
|
58059
|
+
withDesignCapability("block.feature-cards", featureCardsBlockDefinition, declareBlockDesignCapability({
|
|
58060
|
+
sectionSurfaces: "supported",
|
|
58061
|
+
contentFrames: ["plain", "panel"],
|
|
58062
|
+
itemSurfaces: "supported",
|
|
58063
|
+
headingDecorations: ["short-center-rule"]
|
|
58064
|
+
}), defineBlockDesignMetadata({
|
|
58065
|
+
flow: offeringsFlow,
|
|
58066
|
+
layoutProfiles: [
|
|
58067
|
+
layoutProfile({
|
|
58068
|
+
variantKey: "cards",
|
|
58069
|
+
family: "grid",
|
|
58070
|
+
weight: "standard",
|
|
58071
|
+
bias: "soft"
|
|
58072
|
+
})
|
|
58073
|
+
]
|
|
58074
|
+
})),
|
|
56305
58075
|
withDesignCapability("block.media-text", mediaTextBlockDefinition, mediaPanelCapable(), defineBlockDesignMetadata({
|
|
56306
58076
|
flow: mediaFlow,
|
|
56307
58077
|
layoutProfiles: [
|
|
@@ -57956,6 +59726,46 @@ init_RichText();
|
|
|
57956
59726
|
init_richText_coerce();
|
|
57957
59727
|
init_lucide_react();
|
|
57958
59728
|
init_types8();
|
|
59729
|
+
|
|
59730
|
+
// ../blocks/src/system/runtime/nodes/accordionIconTreatment.ts
|
|
59731
|
+
init_types8();
|
|
59732
|
+
init_colorStyles();
|
|
59733
|
+
function resolveAccordionIconStyle(iconStyle, iconTreatment) {
|
|
59734
|
+
if (iconTreatment) {
|
|
59735
|
+
switch (iconTreatment.iconSet) {
|
|
59736
|
+
case "plus":
|
|
59737
|
+
return "plus-minus";
|
|
59738
|
+
case "chevron":
|
|
59739
|
+
return "chevron";
|
|
59740
|
+
case "caret":
|
|
59741
|
+
return "caret";
|
|
59742
|
+
case "minimal-cross":
|
|
59743
|
+
return "plus-minus";
|
|
59744
|
+
default:
|
|
59745
|
+
return assertNever7(iconTreatment.iconSet);
|
|
59746
|
+
}
|
|
59747
|
+
}
|
|
59748
|
+
return iconStyle && iconStyle in ICON_CONFIG ? iconStyle : "chevron";
|
|
59749
|
+
}
|
|
59750
|
+
function accordionIconColorStyle(iconTreatment) {
|
|
59751
|
+
const token = iconTreatment?.colorToken;
|
|
59752
|
+
if (!token || token === "current") return void 0;
|
|
59753
|
+
const themeToken = resolveIconColorToken(token);
|
|
59754
|
+
return {
|
|
59755
|
+
color: rgbColorValue(themeToken),
|
|
59756
|
+
...iconTreatment.openColorToken && iconTreatment.openColorToken !== "current" ? {
|
|
59757
|
+
"--accordion-icon-open-color": rgbColorValue(resolveIconColorToken(iconTreatment.openColorToken))
|
|
59758
|
+
} : {}
|
|
59759
|
+
};
|
|
59760
|
+
}
|
|
59761
|
+
function resolveIconColorToken(token) {
|
|
59762
|
+
return token === "muted" ? "mutedText" : token;
|
|
59763
|
+
}
|
|
59764
|
+
function assertNever7(value) {
|
|
59765
|
+
throw new Error(`Unhandled accordion icon set: ${String(value)}`);
|
|
59766
|
+
}
|
|
59767
|
+
|
|
59768
|
+
// ../blocks/src/system/runtime/nodes/accordion.server.tsx
|
|
57959
59769
|
import { jsx as jsx125, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
57960
59770
|
var ACCORDION_ICONS = {
|
|
57961
59771
|
Plus,
|
|
@@ -57994,15 +59804,17 @@ var AccordionItemNodeSSR = ({
|
|
|
57994
59804
|
content,
|
|
57995
59805
|
question,
|
|
57996
59806
|
answer,
|
|
57997
|
-
iconStyle
|
|
59807
|
+
iconStyle,
|
|
59808
|
+
iconTreatment
|
|
57998
59809
|
}) => {
|
|
57999
59810
|
const resolvedValue = value !== void 0 && value !== null ? String(value) : void 0;
|
|
58000
59811
|
const triggerSource = trigger ?? question;
|
|
58001
59812
|
const contentSource = content ?? answer;
|
|
58002
|
-
const resolvedIconStyle = iconStyle
|
|
59813
|
+
const resolvedIconStyle = resolveAccordionIconStyle(iconStyle, iconTreatment);
|
|
58003
59814
|
const iconConfig = ICON_CONFIG[resolvedIconStyle];
|
|
58004
59815
|
const ClosedIconComponent = ACCORDION_ICONS[iconConfig.closedIcon];
|
|
58005
59816
|
const OpenIconComponent = iconConfig.openIcon ? ACCORDION_ICONS[iconConfig.openIcon] : null;
|
|
59817
|
+
const iconColorStyle = accordionIconColorStyle(iconTreatment);
|
|
58006
59818
|
return /* @__PURE__ */ jsxs71(
|
|
58007
59819
|
"div",
|
|
58008
59820
|
{
|
|
@@ -58012,10 +59824,20 @@ var AccordionItemNodeSSR = ({
|
|
|
58012
59824
|
children: [
|
|
58013
59825
|
/* @__PURE__ */ jsxs71("div", { className: "accordion-trigger", role: "button", tabIndex: 0, "aria-expanded": "false", children: [
|
|
58014
59826
|
/* @__PURE__ */ jsx125("span", { className: "accordion-trigger-text", children: resolveNode(triggerSource) }),
|
|
58015
|
-
/* @__PURE__ */ jsxs71(
|
|
58016
|
-
|
|
58017
|
-
|
|
58018
|
-
|
|
59827
|
+
/* @__PURE__ */ jsxs71(
|
|
59828
|
+
"span",
|
|
59829
|
+
{
|
|
59830
|
+
className: "accordion-icon",
|
|
59831
|
+
"aria-hidden": "true",
|
|
59832
|
+
"data-accordion-icon-set": iconTreatment?.iconSet,
|
|
59833
|
+
"data-accordion-icon-motion": iconTreatment?.motion,
|
|
59834
|
+
style: iconColorStyle,
|
|
59835
|
+
children: [
|
|
59836
|
+
ClosedIconComponent && /* @__PURE__ */ jsx125(ClosedIconComponent, { className: "accordion-icon-closed" }),
|
|
59837
|
+
OpenIconComponent && /* @__PURE__ */ jsx125(OpenIconComponent, { className: "accordion-icon-open" })
|
|
59838
|
+
]
|
|
59839
|
+
}
|
|
59840
|
+
)
|
|
58019
59841
|
] }),
|
|
58020
59842
|
/* @__PURE__ */ jsx125(
|
|
58021
59843
|
"div",
|
|
@@ -64285,6 +66107,67 @@ function transformSdkBlockToDefinition(sdkBlock) {
|
|
|
64285
66107
|
};
|
|
64286
66108
|
}
|
|
64287
66109
|
|
|
66110
|
+
// ../blocks/src/customBlockRegistry.ts
|
|
66111
|
+
function isCustomBlockKind(blockKind) {
|
|
66112
|
+
return blockKind.startsWith("custom.");
|
|
66113
|
+
}
|
|
66114
|
+
function transformToBlockDescriptor(sdkBlock, source = "sdk") {
|
|
66115
|
+
return {
|
|
66116
|
+
name: sdkBlock.id,
|
|
66117
|
+
title: sdkBlock.title,
|
|
66118
|
+
description: sdkBlock.description,
|
|
66119
|
+
category: sdkBlock.category,
|
|
66120
|
+
tags: sdkBlock.tags,
|
|
66121
|
+
icon: sdkBlock.icon,
|
|
66122
|
+
definition: transformSdkBlockToDefinition(sdkBlock),
|
|
66123
|
+
source
|
|
66124
|
+
};
|
|
66125
|
+
}
|
|
66126
|
+
function toResolvedCustomBlock(manifest, source) {
|
|
66127
|
+
return {
|
|
66128
|
+
blockKind: manifest.id,
|
|
66129
|
+
manifest: transformSdkBlockToManifest(manifest),
|
|
66130
|
+
source,
|
|
66131
|
+
descriptor: transformToBlockDescriptor(
|
|
66132
|
+
manifest,
|
|
66133
|
+
source.kind === "managed-database" ? "database" : "sdk"
|
|
66134
|
+
)
|
|
66135
|
+
};
|
|
66136
|
+
}
|
|
66137
|
+
function createCustomBlockRegistry({
|
|
66138
|
+
sdkConfig,
|
|
66139
|
+
customBlocks = [],
|
|
66140
|
+
onConflict
|
|
66141
|
+
}) {
|
|
66142
|
+
const entriesByKind = /* @__PURE__ */ new Map();
|
|
66143
|
+
for (const sdkBlock of sdkConfig?.customBlocks ?? []) {
|
|
66144
|
+
entriesByKind.set(
|
|
66145
|
+
sdkBlock.id,
|
|
66146
|
+
toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" })
|
|
66147
|
+
);
|
|
66148
|
+
}
|
|
66149
|
+
for (const customBlock of customBlocks) {
|
|
66150
|
+
const existing = entriesByKind.get(customBlock.manifest.id);
|
|
66151
|
+
if (existing) {
|
|
66152
|
+
onConflict?.(
|
|
66153
|
+
`Skipping DB custom block "${customBlock.manifest.id}" - conflicts with SDK config block`
|
|
66154
|
+
);
|
|
66155
|
+
continue;
|
|
66156
|
+
}
|
|
66157
|
+
entriesByKind.set(
|
|
66158
|
+
customBlock.manifest.id,
|
|
66159
|
+
toResolvedCustomBlock(customBlock.manifest, customBlock.source)
|
|
66160
|
+
);
|
|
66161
|
+
}
|
|
66162
|
+
return {
|
|
66163
|
+
entries: Array.from(entriesByKind.values()),
|
|
66164
|
+
findManifest: (blockKind) => {
|
|
66165
|
+
if (!isCustomBlockKind(blockKind)) return void 0;
|
|
66166
|
+
return entriesByKind.get(blockKind);
|
|
66167
|
+
}
|
|
66168
|
+
};
|
|
66169
|
+
}
|
|
66170
|
+
|
|
64288
66171
|
// ../blocks/src/PageRenderer.tsx
|
|
64289
66172
|
init_typeGuards2();
|
|
64290
66173
|
init_media3();
|
|
@@ -64454,17 +66337,14 @@ var MemoBlockSection = React34.memo(
|
|
|
64454
66337
|
}
|
|
64455
66338
|
const OverrideComponent = getBlockOverride(block.kind, blockOverrides);
|
|
64456
66339
|
let definition = getBlockDefinition(block.kind);
|
|
64457
|
-
if (!definition && block.kind.startsWith("custom.")
|
|
64458
|
-
|
|
64459
|
-
|
|
64460
|
-
|
|
64461
|
-
|
|
64462
|
-
|
|
64463
|
-
|
|
64464
|
-
|
|
64465
|
-
if (dbBlock) {
|
|
64466
|
-
definition = transformSdkBlockToDefinition(dbBlock);
|
|
64467
|
-
}
|
|
66340
|
+
if (!definition && block.kind.startsWith("custom.")) {
|
|
66341
|
+
definition = createCustomBlockRegistry({
|
|
66342
|
+
sdkConfig,
|
|
66343
|
+
customBlocks: (customBlocks ?? []).map((manifest) => ({
|
|
66344
|
+
manifest,
|
|
66345
|
+
source: { kind: "managed-database" }
|
|
66346
|
+
}))
|
|
66347
|
+
}).findManifest(block.kind)?.descriptor.definition;
|
|
64468
66348
|
}
|
|
64469
66349
|
if (!definition) {
|
|
64470
66350
|
if (OverrideComponent) {
|
|
@@ -64491,13 +66371,16 @@ var MemoBlockSection = React34.memo(
|
|
|
64491
66371
|
}
|
|
64492
66372
|
if (block.kind.startsWith("custom.") && shouldDebugCustomBlocks()) {
|
|
64493
66373
|
try {
|
|
64494
|
-
console.warn(
|
|
64495
|
-
|
|
64496
|
-
|
|
64497
|
-
|
|
64498
|
-
|
|
64499
|
-
|
|
64500
|
-
|
|
66374
|
+
console.warn(
|
|
66375
|
+
"[blocks:PageRenderer] custom block definition missing",
|
|
66376
|
+
{
|
|
66377
|
+
blockId: block.id ?? null,
|
|
66378
|
+
blockKind: block.kind,
|
|
66379
|
+
hasOverride: Boolean(OverrideComponent),
|
|
66380
|
+
sdkCustomBlocksCount: sdkConfig?.customBlocks?.length ?? 0,
|
|
66381
|
+
dbCustomBlocksCount: customBlocks?.length ?? 0
|
|
66382
|
+
}
|
|
66383
|
+
);
|
|
64501
66384
|
} catch {
|
|
64502
66385
|
}
|
|
64503
66386
|
}
|
|
@@ -64511,12 +66394,15 @@ var MemoBlockSection = React34.memo(
|
|
|
64511
66394
|
if (!OverrideComponent && !manifestHasLayout) {
|
|
64512
66395
|
if (block.kind.startsWith("custom.") && shouldDebugCustomBlocks()) {
|
|
64513
66396
|
try {
|
|
64514
|
-
console.warn(
|
|
64515
|
-
|
|
64516
|
-
|
|
64517
|
-
|
|
64518
|
-
|
|
64519
|
-
|
|
66397
|
+
console.warn(
|
|
66398
|
+
"[blocks:PageRenderer] custom block has no layout/variants and no override",
|
|
66399
|
+
{
|
|
66400
|
+
blockId: block.id ?? null,
|
|
66401
|
+
blockKind: block.kind,
|
|
66402
|
+
hasOverride: false,
|
|
66403
|
+
manifestKeys: Object.keys(definition.manifest ?? {}).sort()
|
|
66404
|
+
}
|
|
66405
|
+
);
|
|
64520
66406
|
} catch {
|
|
64521
66407
|
}
|
|
64522
66408
|
}
|
|
@@ -64550,9 +66436,10 @@ var MemoBlockSection = React34.memo(
|
|
|
64550
66436
|
if (parsed.success) {
|
|
64551
66437
|
data = parsed.data;
|
|
64552
66438
|
} else if (usePlaceholders) {
|
|
64553
|
-
const relaxed = getCachedValidator(
|
|
64554
|
-
|
|
64555
|
-
|
|
66439
|
+
const relaxed = getCachedValidator(
|
|
66440
|
+
definition.manifest,
|
|
66441
|
+
"relaxed"
|
|
66442
|
+
).safeParse(content);
|
|
64556
66443
|
if (relaxed.success) {
|
|
64557
66444
|
data = relaxed.data;
|
|
64558
66445
|
} else {
|