@riverbankcms/sdk 0.79.0 → 0.80.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-QZG37QIF.mjs +2655 -0
- package/dist/{PreviewEditorUI-27KJVEET.mjs → PreviewEditorUI-AXIKSMZA.mjs} +27 -4
- package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +20 -0
- package/dist/_dts/api/src/endpoints.d.ts +24 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
- package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +10 -1
- package/dist/_dts/block-form/src/client/index.d.ts +2 -0
- package/dist/_dts/block-form/src/index.d.ts +2 -0
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
- package/dist/_dts/blocks/src/client/header.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +12 -12
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -1
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +21 -12
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -2
- package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -7
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +9 -3
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +6 -4
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
- package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +34 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +56 -0
- package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +6 -3
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
- package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
- package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
- package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
- package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +105 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +156 -18
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +446 -52
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +86 -17
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +86 -17
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +110 -1
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +286 -6
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -8
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -7
- package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +7 -29
- package/dist/{PreviewEditorSidebar-56NMJMIK.mjs → chunk-5NZGBSJF.mjs} +1423 -2451
- package/dist/{chunk-4HCW7FHJ.mjs → chunk-7PCYG6YV.mjs} +215 -137
- package/dist/{chunk-K2IIF34C.mjs → chunk-BBLZSQEY.mjs} +24 -0
- package/dist/{chunk-V47ZU33I.mjs → chunk-GYXKAUFV.mjs} +2785 -785
- package/dist/{chunk-GP555I66.mjs → chunk-HTB4BMKD.mjs} +94 -46
- package/dist/{chunk-A3HHFKVT.mjs → chunk-MPBNEVPB.mjs} +1 -1
- package/dist/cli/index.mjs +2100 -545
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +16 -4
- package/dist/client/{accordion-QLA7KBYO.mjs → accordion-QFZMNB7O.mjs} +1 -1
- package/dist/client/{bookingForm-PYZIPA5G.mjs → bookingForm-NCIXFWIG.mjs} +3 -3
- package/dist/client/bookings.mjs +1144 -329
- package/dist/client/{carousel-5EIULWBI.mjs → carousel-EO4BJMWD.mjs} +2 -2
- package/dist/client/{cart-DOP3FNI4.mjs → cart-FTYCLYUW.mjs} +5 -5
- package/dist/client/{checkout-BVMF6FBV.mjs → checkout-NFGLVCOX.mjs} +5 -5
- package/dist/client/{chunk-TYONZMST.mjs → chunk-4W66ALYT.mjs} +1 -1
- package/dist/client/{chunk-44K2U3QI.mjs → chunk-6GVVWSPU.mjs} +4 -4
- package/dist/client/{chunk-UDS3NTWA.mjs → chunk-IWFZSQNZ.mjs} +1 -1
- package/dist/client/{chunk-R5ESWNKX.mjs → chunk-PUOELU4O.mjs} +89 -5
- package/dist/client/{chunk-YLDYVRZL.mjs → chunk-PYRBIURC.mjs} +4 -4
- package/dist/client/{chunk-GG4M2NP6.mjs → chunk-T6UIP6UZ.mjs} +1 -1
- package/dist/client/{chunk-V6M5FCR5.mjs → chunk-VDS5YFLX.mjs} +1 -1
- package/dist/client/{chunk-CCNTDRCF.mjs → chunk-Y37KDO7P.mjs} +1 -1
- package/dist/client/client.mjs +4205 -2324
- package/dist/client/{courseRegistration-E6EAA6NL.mjs → courseRegistration-2EORROPS.mjs} +3 -3
- package/dist/client/{eventCalendar-HBG3HAK6.mjs → eventCalendar-WZI4VL6N.mjs} +5 -5
- package/dist/client/{eventCombined-6K5ZZWAK.mjs → eventCombined-QCB2TCNL.mjs} +5 -5
- package/dist/client/{eventDetails-Q75ICXLT.mjs → eventDetails-TFTATAPH.mjs} +5 -5
- package/dist/client/{eventListing-27P5F7DZ.mjs → eventListing-A2CQEHEQ.mjs} +5 -5
- package/dist/client/{eventRegistration-IQ7AMASR.mjs → eventRegistration-OELPVLUY.mjs} +5 -5
- package/dist/client/{form-JRTD65FN.mjs → form-NTIFD6WQ.mjs} +1 -1
- package/dist/client/{headerSection-7FPSSZHS.mjs → headerSection-7TBNKCLA.mjs} +65 -24
- package/dist/client/hooks.mjs +3354 -2006
- package/dist/client/{locationMap-7NGFNYBH.mjs → locationMap-LRLB5A3H.mjs} +1 -1
- package/dist/client/{newsletterForm-F3BADCI2.mjs → newsletterForm-XI52RZSN.mjs} +1 -1
- package/dist/client/{productDetail-V3HP7ITJ.mjs → productDetail-GSNKBFLY.mjs} +5 -5
- package/dist/client/{productList-L3EGJUF2.mjs → productList-BGCGT4KZ.mjs} +5 -5
- package/dist/client/rendering/client.mjs +2570 -1657
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +4275 -2394
- package/dist/client/{shop-DQUB5E2C.mjs → shop-RQHUCLNY.mjs} +5 -5
- package/dist/preview-next/before-render.mjs +24 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +24 -0
- package/dist/{sdk-runtime-AF6KXJU4.mjs → sdk-runtime-A4LHT2RS.mjs} +6 -6
- package/dist/server/components.mjs +4063 -2293
- package/dist/server/config-validation.mjs +3525 -2176
- package/dist/server/config.mjs +3525 -2176
- package/dist/server/data.mjs +3354 -2006
- package/dist/server/index.mjs +25 -1
- package/dist/server/next.mjs +4006 -2236
- package/dist/server/page-converter.mjs +2747 -1816
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4063 -2293
- package/dist/server/rendering.mjs +4063 -2293
- package/dist/server/routing.mjs +3508 -2111
- package/dist/server/server.mjs +3372 -2024
- package/dist/server/theme-bridge.mjs +1436 -310
- package/dist/server/theme.mjs +409 -219
- package/dist/styles/index.css +300 -33
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +0 -8
- package/dist/chunk-LCY32PXF.mjs +0 -1175
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as React2 from "react";
|
|
3
3
|
|
|
4
4
|
// ../theme-core/src/schema.ts
|
|
5
|
-
import { z as
|
|
5
|
+
import { z as z17 } from "zod";
|
|
6
6
|
|
|
7
7
|
// ../theme-core/src/lib/media.ts
|
|
8
8
|
import z from "zod";
|
|
@@ -1221,8 +1221,15 @@ function getDefaultButtonVariants() {
|
|
|
1221
1221
|
|
|
1222
1222
|
// ../theme-core/src/cards/types.ts
|
|
1223
1223
|
import { z as z6 } from "zod";
|
|
1224
|
+
var cardVariantRoleValues = ["default", "alternative"];
|
|
1225
|
+
var boxlessCardVariantValue = "none";
|
|
1224
1226
|
var cardSpacingSchema = z6.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
|
|
1225
1227
|
var gradientDirectionSchema2 = z6.enum(["to-r", "to-l", "to-t", "to-b", "to-tr", "to-tl", "to-br", "to-bl"]);
|
|
1228
|
+
var cardVariantRoleSchema = z6.enum(cardVariantRoleValues);
|
|
1229
|
+
var boxStylesCardVariantSchema = z6.enum([
|
|
1230
|
+
...cardVariantRoleValues,
|
|
1231
|
+
boxlessCardVariantValue
|
|
1232
|
+
]);
|
|
1226
1233
|
var cardBackgroundSchema = z6.discriminatedUnion("type", [
|
|
1227
1234
|
z6.object({ type: z6.literal("solid"), colorToken: themeColorTokenSchema }),
|
|
1228
1235
|
z6.object({
|
|
@@ -1237,6 +1244,24 @@ var cardBorderSchema = z6.object({
|
|
|
1237
1244
|
widthClass: z6.string(),
|
|
1238
1245
|
colorToken: themeColorTokenSchema
|
|
1239
1246
|
});
|
|
1247
|
+
var cardCornerValueSchema = z6.enum([
|
|
1248
|
+
"square",
|
|
1249
|
+
"soft",
|
|
1250
|
+
"rounded",
|
|
1251
|
+
"pill",
|
|
1252
|
+
"expressive"
|
|
1253
|
+
]);
|
|
1254
|
+
var cardAccentEdgeSchema = z6.object({
|
|
1255
|
+
edge: z6.enum(["left", "top", "right", "bottom"]),
|
|
1256
|
+
colorToken: themeColorTokenSchema,
|
|
1257
|
+
width: z6.enum(["thin", "medium", "thick", "heavy"])
|
|
1258
|
+
});
|
|
1259
|
+
var cardCornerRadiiSchema = z6.object({
|
|
1260
|
+
topLeft: cardCornerValueSchema.optional(),
|
|
1261
|
+
topRight: cardCornerValueSchema.optional(),
|
|
1262
|
+
bottomLeft: cardCornerValueSchema.optional(),
|
|
1263
|
+
bottomRight: cardCornerValueSchema.optional()
|
|
1264
|
+
});
|
|
1240
1265
|
var cardVariantSchema = z6.object({
|
|
1241
1266
|
id: z6.string(),
|
|
1242
1267
|
name: z6.string().min(1).max(20),
|
|
@@ -1245,6 +1270,8 @@ var cardVariantSchema = z6.object({
|
|
|
1245
1270
|
// Appearance (token-based)
|
|
1246
1271
|
background: cardBackgroundSchema,
|
|
1247
1272
|
spacing: cardSpacingSchema,
|
|
1273
|
+
// Optional foreground (card text) color, for cards on a strong fill.
|
|
1274
|
+
foregroundToken: themeColorTokenSchema.optional(),
|
|
1248
1275
|
// Optional overrides (uses theme defaults if not specified)
|
|
1249
1276
|
shadow: z6.object({
|
|
1250
1277
|
elevation: z6.enum(["none", "low", "medium", "high"]),
|
|
@@ -1252,8 +1279,12 @@ var cardVariantSchema = z6.object({
|
|
|
1252
1279
|
position: z6.enum(["bottom", "bottom-right"]).default("bottom")
|
|
1253
1280
|
}).optional(),
|
|
1254
1281
|
corners: z6.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
1282
|
+
// Per-corner radius override; wins over `corners` when set.
|
|
1283
|
+
cornerRadii: cardCornerRadiiSchema.optional(),
|
|
1255
1284
|
// Border (optional)
|
|
1256
|
-
border: cardBorderSchema.optional()
|
|
1285
|
+
border: cardBorderSchema.optional(),
|
|
1286
|
+
// Single accent edge; replaces `border` when set.
|
|
1287
|
+
accentEdge: cardAccentEdgeSchema.optional()
|
|
1257
1288
|
});
|
|
1258
1289
|
var cardSystemSchema = z6.object({
|
|
1259
1290
|
variants: z6.array(cardVariantSchema).min(1).max(3)
|
|
@@ -1272,6 +1303,33 @@ var BORDER_WIDTH_MAP3 = {
|
|
|
1272
1303
|
medium: "2px",
|
|
1273
1304
|
thick: "4px"
|
|
1274
1305
|
};
|
|
1306
|
+
var PER_CORNER_RADIUS_MAP = {
|
|
1307
|
+
square: "0",
|
|
1308
|
+
soft: "0.5rem",
|
|
1309
|
+
rounded: "1rem",
|
|
1310
|
+
pill: "1.5rem",
|
|
1311
|
+
// A large block-radius multiple for expressive, asymmetric card corners.
|
|
1312
|
+
expressive: "calc(var(--rb-block-radius) * 3)"
|
|
1313
|
+
};
|
|
1314
|
+
var ACCENT_EDGE_WIDTH_MAP = {
|
|
1315
|
+
thin: "2px",
|
|
1316
|
+
medium: "3px",
|
|
1317
|
+
thick: "4px",
|
|
1318
|
+
heavy: "5px"
|
|
1319
|
+
};
|
|
1320
|
+
var ACCENT_EDGE_SIDE_MAP = {
|
|
1321
|
+
left: "border-left",
|
|
1322
|
+
top: "border-top",
|
|
1323
|
+
right: "border-right",
|
|
1324
|
+
bottom: "border-bottom"
|
|
1325
|
+
};
|
|
1326
|
+
function resolveCornerRadiiCss(cornerRadii, fallback) {
|
|
1327
|
+
const fallbackValue = CORNER_RADIUS_MAP3[fallback];
|
|
1328
|
+
const at = (value) => value ? PER_CORNER_RADIUS_MAP[value] : fallbackValue;
|
|
1329
|
+
return `${at(cornerRadii.topLeft)} ${at(cornerRadii.topRight)} ${at(
|
|
1330
|
+
cornerRadii.bottomRight
|
|
1331
|
+
)} ${at(cornerRadii.bottomLeft)}`;
|
|
1332
|
+
}
|
|
1275
1333
|
var GRADIENT_DIRECTION_MAP4 = {
|
|
1276
1334
|
"to-r": "to right",
|
|
1277
1335
|
"to-l": "to left",
|
|
@@ -1319,11 +1377,25 @@ function generateVariantCss2(scopeId, variant, settings) {
|
|
|
1319
1377
|
} else {
|
|
1320
1378
|
containerRules.push("background: transparent");
|
|
1321
1379
|
}
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
containerRules.push(`border: ${borderWidth} solid rgb(var(--tb-${variant.borderToken}))`);
|
|
1380
|
+
if (variant.foregroundToken) {
|
|
1381
|
+
containerRules.push(`color: rgb(var(--tb-${variant.foregroundToken}))`);
|
|
1325
1382
|
}
|
|
1326
|
-
|
|
1383
|
+
if (variant.accentEdge) {
|
|
1384
|
+
const side = ACCENT_EDGE_SIDE_MAP[variant.accentEdge.edge];
|
|
1385
|
+
const width = ACCENT_EDGE_WIDTH_MAP[variant.accentEdge.width];
|
|
1386
|
+
containerRules.push("border: 0");
|
|
1387
|
+
containerRules.push(
|
|
1388
|
+
`${side}: ${width} solid rgb(var(--tb-${variant.accentEdge.colorToken}))`
|
|
1389
|
+
);
|
|
1390
|
+
} else {
|
|
1391
|
+
const borderWidth = variant.borderWidth ? BORDER_WIDTH_MAP3[variant.borderWidth] : variant.borderToken ? BORDER_WIDTH_MAP3[settings.borderWidth] : "0";
|
|
1392
|
+
if (variant.borderToken && borderWidth !== "0") {
|
|
1393
|
+
containerRules.push(`border: ${borderWidth} solid rgb(var(--tb-${variant.borderToken}))`);
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
containerRules.push(
|
|
1397
|
+
`border-radius: ${variant.cornerRadii ? resolveCornerRadiiCss(variant.cornerRadii, settings.corners) : CORNER_RADIUS_MAP3[settings.corners]}`
|
|
1398
|
+
);
|
|
1327
1399
|
if (settings.shadow !== "none") {
|
|
1328
1400
|
containerRules.push(`box-shadow: ${SHADOW_VALUES2[settings.shadow]}`);
|
|
1329
1401
|
}
|
|
@@ -1392,11 +1464,13 @@ var accordionIconSchema = z7.enum([
|
|
|
1392
1464
|
// ⊕ becomes ⊖ (swap with fade)
|
|
1393
1465
|
]);
|
|
1394
1466
|
var accordionSystemSchema = z7.object({
|
|
1395
|
-
// Visual styling (solid color only - gradients can be added later if needed)
|
|
1467
|
+
// Visual styling (solid color only - gradients can be added later if needed).
|
|
1468
|
+
// null = no fill, so the accordion sits transparently on the section
|
|
1469
|
+
// surface (used by open, boxless "divided" looks).
|
|
1396
1470
|
background: z7.object({
|
|
1397
1471
|
type: z7.literal("solid"),
|
|
1398
1472
|
colorToken: themeColorTokenSchema
|
|
1399
|
-
}),
|
|
1473
|
+
}).nullable(),
|
|
1400
1474
|
// Spacing (padding inside items)
|
|
1401
1475
|
spacing: z7.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]),
|
|
1402
1476
|
// Border radius (null = inherit from theme.corners)
|
|
@@ -1423,8 +1497,16 @@ var accordionSystemSchema = z7.object({
|
|
|
1423
1497
|
// Trigger (question) styling
|
|
1424
1498
|
trigger: z7.object({
|
|
1425
1499
|
textColorToken: themeColorTokenSchema,
|
|
1426
|
-
fontWeight: z7.enum(["regular", "medium", "semibold", "bold"]).nullable()
|
|
1500
|
+
fontWeight: z7.enum(["regular", "medium", "semibold", "bold"]).nullable(),
|
|
1427
1501
|
// null = inherit from theme
|
|
1502
|
+
// Question typography. Defaults keep the historical body-font look; set
|
|
1503
|
+
// fontFamily 'heading' + a larger scale to give questions real presence.
|
|
1504
|
+
fontFamily: z7.enum(["body", "heading"]).optional(),
|
|
1505
|
+
// default 'body'
|
|
1506
|
+
fontScale: z7.enum(["body", "md", "lg"]).optional(),
|
|
1507
|
+
// default 'body'
|
|
1508
|
+
letterSpacing: z7.enum(["normal", "tight", "wide"]).optional(),
|
|
1509
|
+
textTransform: z7.enum(["none", "uppercase"]).optional()
|
|
1428
1510
|
}),
|
|
1429
1511
|
// Hover state styling
|
|
1430
1512
|
hover: z7.object({
|
|
@@ -1432,6 +1514,17 @@ var accordionSystemSchema = z7.object({
|
|
|
1432
1514
|
textColorToken: themeColorTokenSchema.optional(),
|
|
1433
1515
|
borderColorToken: themeColorTokenSchema.optional()
|
|
1434
1516
|
}),
|
|
1517
|
+
// Open-state emphasis: how an expanded item is visually rewarded. All
|
|
1518
|
+
// optional; omit for the historical "only the text recolors" behaviour.
|
|
1519
|
+
openState: z7.object({
|
|
1520
|
+
backgroundColorToken: themeColorTokenSchema.optional(),
|
|
1521
|
+
triggerColorToken: themeColorTokenSchema.optional(),
|
|
1522
|
+
accent: z7.object({
|
|
1523
|
+
edge: z7.enum(["left", "top", "bottom"]),
|
|
1524
|
+
colorToken: themeColorTokenSchema,
|
|
1525
|
+
thickness: z7.enum(["thin", "medium", "thick"])
|
|
1526
|
+
}).optional()
|
|
1527
|
+
}).optional(),
|
|
1435
1528
|
// Content (answer) styling
|
|
1436
1529
|
content: z7.object({
|
|
1437
1530
|
textColorToken: themeColorTokenSchema
|
|
@@ -1837,14 +1930,8 @@ var visibleHeadingDecorationFamilyValues = [
|
|
|
1837
1930
|
"organic-squiggle",
|
|
1838
1931
|
"short-center-rule"
|
|
1839
1932
|
];
|
|
1840
|
-
var visibleHeadingDecorationPlacementValues = [
|
|
1841
|
-
"after-heading",
|
|
1842
|
-
"between-heading-and-body",
|
|
1843
|
-
"under-centered-heading"
|
|
1844
|
-
];
|
|
1845
1933
|
var headingDecorationOverrideValues = [
|
|
1846
1934
|
"site-default",
|
|
1847
|
-
"on",
|
|
1848
1935
|
"off"
|
|
1849
1936
|
];
|
|
1850
1937
|
var headingDecorationColorTokenValues = [
|
|
@@ -1855,6 +1942,9 @@ var headingDecorationColorTokenValues = [
|
|
|
1855
1942
|
"border",
|
|
1856
1943
|
"muted"
|
|
1857
1944
|
];
|
|
1945
|
+
var noHeadingDecoration = {
|
|
1946
|
+
family: "none"
|
|
1947
|
+
};
|
|
1858
1948
|
var accordionIconSetValues = [
|
|
1859
1949
|
"plus",
|
|
1860
1950
|
"chevron",
|
|
@@ -1875,79 +1965,219 @@ var accordionIconMotionValues = [
|
|
|
1875
1965
|
"swap"
|
|
1876
1966
|
];
|
|
1877
1967
|
|
|
1878
|
-
// ../theme-core/src/
|
|
1968
|
+
// ../theme-core/src/site-styles/logoBranding.ts
|
|
1879
1969
|
import { z as z15 } from "zod";
|
|
1880
|
-
var
|
|
1970
|
+
var logoTextConfidenceValues = ["low", "medium", "high"];
|
|
1971
|
+
var logoAssetShapeValues = [
|
|
1972
|
+
"none",
|
|
1973
|
+
"horizontal",
|
|
1974
|
+
"square",
|
|
1975
|
+
"portrait",
|
|
1976
|
+
"tall"
|
|
1977
|
+
];
|
|
1978
|
+
var logoKindValues = [
|
|
1979
|
+
"mark",
|
|
1980
|
+
"wordmark",
|
|
1981
|
+
"lockup",
|
|
1982
|
+
"badge",
|
|
1983
|
+
"stacked-wordmark",
|
|
1984
|
+
"unknown"
|
|
1985
|
+
];
|
|
1986
|
+
var logoDensityValues = ["simple", "detailed", "unknown"];
|
|
1987
|
+
var logoContainsTextSchema = z15.discriminatedUnion("kind", [
|
|
1988
|
+
z15.object({
|
|
1989
|
+
kind: z15.literal("contains-text"),
|
|
1990
|
+
confidence: z15.enum(logoTextConfidenceValues),
|
|
1991
|
+
text: z15.string().trim().min(1).max(200).optional()
|
|
1992
|
+
}),
|
|
1993
|
+
z15.object({
|
|
1994
|
+
kind: z15.literal("no-text"),
|
|
1995
|
+
confidence: z15.enum(logoTextConfidenceValues)
|
|
1996
|
+
}),
|
|
1997
|
+
z15.object({
|
|
1998
|
+
kind: z15.literal("unknown"),
|
|
1999
|
+
reason: z15.enum([
|
|
2000
|
+
"analysis-unavailable",
|
|
2001
|
+
"unsupported-file",
|
|
2002
|
+
"low-confidence"
|
|
2003
|
+
])
|
|
2004
|
+
})
|
|
2005
|
+
]);
|
|
2006
|
+
var logoAnalysisSourceSchema = z15.discriminatedUnion("kind", [
|
|
2007
|
+
z15.object({ kind: z15.literal("none") }),
|
|
2008
|
+
z15.object({
|
|
2009
|
+
kind: z15.literal("deterministic"),
|
|
2010
|
+
reason: z15.enum(["dimensions", "fallback"])
|
|
2011
|
+
}),
|
|
2012
|
+
z15.object({
|
|
2013
|
+
kind: z15.literal("llm"),
|
|
2014
|
+
model: z15.literal("gpt-5.4-mini"),
|
|
2015
|
+
analyzedAt: z15.string().trim().min(1).max(80).optional()
|
|
2016
|
+
}),
|
|
2017
|
+
z15.object({ kind: z15.literal("manual-override") })
|
|
2018
|
+
]);
|
|
2019
|
+
var logoFactsSchema = z15.object({
|
|
2020
|
+
shape: z15.enum(logoAssetShapeValues),
|
|
2021
|
+
containsText: logoContainsTextSchema,
|
|
2022
|
+
kind: z15.enum(logoKindValues),
|
|
2023
|
+
density: z15.enum(logoDensityValues),
|
|
2024
|
+
source: logoAnalysisSourceSchema
|
|
2025
|
+
});
|
|
2026
|
+
var brandDisplayModeValues = [
|
|
2027
|
+
"auto",
|
|
2028
|
+
"logo-only",
|
|
2029
|
+
"logo-plus-title",
|
|
2030
|
+
"title-only"
|
|
2031
|
+
];
|
|
2032
|
+
var logoAccommodationPatternValues = [
|
|
2033
|
+
"title-only",
|
|
2034
|
+
"inline-logo-only",
|
|
2035
|
+
"inline-wordmark",
|
|
2036
|
+
"inline-mark-with-title",
|
|
2037
|
+
"logo-plate",
|
|
2038
|
+
"centered-badge",
|
|
2039
|
+
"popout-badge",
|
|
2040
|
+
"centered-masthead",
|
|
2041
|
+
"hero-badge"
|
|
2042
|
+
];
|
|
2043
|
+
var logoSizePolicyValues = [
|
|
2044
|
+
"auto",
|
|
2045
|
+
"compact",
|
|
2046
|
+
"standard",
|
|
2047
|
+
"generous",
|
|
2048
|
+
"display"
|
|
2049
|
+
];
|
|
2050
|
+
|
|
2051
|
+
// ../theme-core/src/site-styles/rawStyleFields.ts
|
|
2052
|
+
var themeV2RuntimeStyleFieldNames = [
|
|
2053
|
+
"_frameStyles",
|
|
2054
|
+
"_sectionStyles",
|
|
2055
|
+
"_containerStyles",
|
|
2056
|
+
"_cardStyles",
|
|
2057
|
+
// styleGroup is legacy runtime transition wiring rather than a nested
|
|
2058
|
+
// override object, but normal editors should still never see it directly.
|
|
2059
|
+
"styleGroup"
|
|
2060
|
+
];
|
|
2061
|
+
var themeV2BlockSpecificRawStyleFieldNames = [
|
|
2062
|
+
"_contentCardStyles",
|
|
2063
|
+
"_heroLayoutStyles",
|
|
2064
|
+
"_textCardStyles"
|
|
2065
|
+
];
|
|
2066
|
+
var themeV2NormalEditorRawStyleFieldNames = [
|
|
2067
|
+
...themeV2RuntimeStyleFieldNames,
|
|
2068
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
2069
|
+
];
|
|
2070
|
+
var themeV2NormalEditorRawStyleFieldNameSet = new Set(
|
|
2071
|
+
themeV2NormalEditorRawStyleFieldNames
|
|
2072
|
+
);
|
|
2073
|
+
var themeV2CompilerOwnedFieldNames = [
|
|
2074
|
+
...themeV2RuntimeStyleFieldNames,
|
|
2075
|
+
...themeV2BlockSpecificRawStyleFieldNames
|
|
2076
|
+
];
|
|
2077
|
+
var pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
2078
|
+
|
|
2079
|
+
// ../theme-core/src/utils/tokenOrColor.ts
|
|
2080
|
+
import { z as z16 } from "zod";
|
|
2081
|
+
|
|
2082
|
+
// ../theme-core/src/utils/colorStyles.ts
|
|
2083
|
+
var COLOR_VAR_PREFIX = "--tb-";
|
|
2084
|
+
function parseToken(source) {
|
|
2085
|
+
const parts = parseColorTokenParts(source);
|
|
2086
|
+
if (parts.kind === "raw") {
|
|
2087
|
+
return { token: source, raw: parts.value };
|
|
2088
|
+
}
|
|
2089
|
+
if (parts.kind === "invalid") {
|
|
2090
|
+
return { token: source };
|
|
2091
|
+
}
|
|
2092
|
+
return {
|
|
2093
|
+
token: parts.token,
|
|
2094
|
+
alpha: parts.opacityPercent === null ? void 0 : parts.opacityPercent / 100
|
|
2095
|
+
};
|
|
2096
|
+
}
|
|
2097
|
+
function rgbColorValue(token) {
|
|
2098
|
+
const { token: baseToken, alpha, raw } = parseToken(token);
|
|
2099
|
+
if (raw) {
|
|
2100
|
+
return raw;
|
|
2101
|
+
}
|
|
2102
|
+
const cssVar = `${COLOR_VAR_PREFIX}${baseToken}`;
|
|
2103
|
+
if (alpha === void 0) {
|
|
2104
|
+
return `rgb(var(${cssVar}))`;
|
|
2105
|
+
}
|
|
2106
|
+
return `rgba(var(${cssVar}), ${alpha})`;
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
// ../theme-core/src/utils/tokenOrColor.ts
|
|
2110
|
+
var tokenOrCssColorValueSchema = z16.string();
|
|
1881
2111
|
|
|
1882
2112
|
// ../theme-core/src/schema.ts
|
|
1883
|
-
var axesSchema =
|
|
1884
|
-
tone:
|
|
1885
|
-
energy:
|
|
1886
|
-
density:
|
|
1887
|
-
mediaBias:
|
|
1888
|
-
conversionBias:
|
|
1889
|
-
motion:
|
|
2113
|
+
var axesSchema = z17.object({
|
|
2114
|
+
tone: z17.enum(["minimal", "classic", "bold"]),
|
|
2115
|
+
energy: z17.enum(["calm", "vibrant"]),
|
|
2116
|
+
density: z17.enum(["airy", "regular", "compact"]),
|
|
2117
|
+
mediaBias: z17.enum(["text", "media", "mixed"]),
|
|
2118
|
+
conversionBias: z17.enum(["low", "med", "high"]),
|
|
2119
|
+
motion: z17.enum(["subtle", "standard", "expressive"])
|
|
1890
2120
|
});
|
|
1891
|
-
var colourHexString =
|
|
1892
|
-
var paletteColorSchema =
|
|
1893
|
-
name:
|
|
2121
|
+
var colourHexString = z17.string().regex(/^#([0-9A-Fa-f]{3}){1,2}$/);
|
|
2122
|
+
var paletteColorSchema = z17.object({
|
|
2123
|
+
name: z17.string().min(1),
|
|
1894
2124
|
hex: colourHexString
|
|
1895
2125
|
});
|
|
1896
|
-
var paletteMetaSchema =
|
|
1897
|
-
mode:
|
|
2126
|
+
var paletteMetaSchema = z17.object({
|
|
2127
|
+
mode: z17.enum(["light", "dark"])
|
|
1898
2128
|
});
|
|
1899
|
-
var paletteSchema =
|
|
1900
|
-
colors:
|
|
2129
|
+
var paletteSchema = z17.object({
|
|
2130
|
+
colors: z17.array(paletteColorSchema),
|
|
1901
2131
|
meta: paletteMetaSchema
|
|
1902
2132
|
});
|
|
1903
|
-
var typographyStyleSchema =
|
|
1904
|
-
family:
|
|
1905
|
-
weight:
|
|
1906
|
-
letterSpacing:
|
|
1907
|
-
lineHeight:
|
|
2133
|
+
var typographyStyleSchema = z17.object({
|
|
2134
|
+
family: z17.string().min(1),
|
|
2135
|
+
weight: z17.enum(["light", "regular", "medium", "semibold", "bold"]),
|
|
2136
|
+
letterSpacing: z17.enum(["tight", "normal", "loose"]),
|
|
2137
|
+
lineHeight: z17.enum(["normal", "relaxed", "loose"])
|
|
1908
2138
|
});
|
|
1909
2139
|
var bodyTypographyStyleSchema = typographyStyleSchema.extend({
|
|
1910
|
-
size:
|
|
2140
|
+
size: z17.enum(["md", "lg", "xl"])
|
|
1911
2141
|
});
|
|
1912
|
-
var headingSizeSchema =
|
|
1913
|
-
var headingTypographyOverridesSchema =
|
|
1914
|
-
weight:
|
|
1915
|
-
letterSpacing:
|
|
2142
|
+
var headingSizeSchema = z17.enum(["xs", "sm", "md", "lg", "xl", "2xl"]);
|
|
2143
|
+
var headingTypographyOverridesSchema = z17.object({
|
|
2144
|
+
weight: z17.enum(["light", "regular", "medium", "semibold", "bold"]).nullable().optional(),
|
|
2145
|
+
letterSpacing: z17.enum(["tight", "normal", "loose"]).nullable().optional(),
|
|
1916
2146
|
size: headingSizeSchema.nullable().optional(),
|
|
1917
|
-
lineHeight:
|
|
1918
|
-
italic:
|
|
2147
|
+
lineHeight: z17.enum(["normal", "relaxed", "loose"]).nullable().optional(),
|
|
2148
|
+
italic: z17.boolean().nullable().optional(),
|
|
1919
2149
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
1920
2150
|
});
|
|
1921
2151
|
var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
1922
|
-
case:
|
|
1923
|
-
italic:
|
|
2152
|
+
case: z17.enum(["uppercase", "normal", "smallCaps"]).nullable(),
|
|
2153
|
+
italic: z17.boolean().nullable(),
|
|
1924
2154
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
1925
2155
|
});
|
|
1926
|
-
var proseLinkUnderlineStyleSchema =
|
|
1927
|
-
var proseLinkUnderlineThicknessSchema =
|
|
2156
|
+
var proseLinkUnderlineStyleSchema = z17.enum(["solid", "dotted", "dashed"]);
|
|
2157
|
+
var proseLinkUnderlineThicknessSchema = z17.enum([
|
|
1928
2158
|
"auto",
|
|
1929
2159
|
"fromFont",
|
|
1930
2160
|
"thin",
|
|
1931
2161
|
"medium",
|
|
1932
2162
|
"thick"
|
|
1933
2163
|
]);
|
|
1934
|
-
var proseLinkUnderlineOffsetSchema =
|
|
2164
|
+
var proseLinkUnderlineOffsetSchema = z17.enum([
|
|
1935
2165
|
"auto",
|
|
1936
2166
|
"tight",
|
|
1937
2167
|
"normal",
|
|
1938
2168
|
"loose"
|
|
1939
2169
|
]);
|
|
1940
|
-
var proseLinkStyleSchema =
|
|
2170
|
+
var proseLinkStyleSchema = z17.object({
|
|
1941
2171
|
colorToken: themeColorTokenSchema.optional(),
|
|
1942
2172
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
1943
|
-
underline:
|
|
2173
|
+
underline: z17.boolean().optional(),
|
|
1944
2174
|
decorationColorToken: themeColorTokenSchema.optional(),
|
|
1945
2175
|
hoverDecorationColorToken: themeColorTokenSchema.optional(),
|
|
1946
2176
|
underlineStyle: proseLinkUnderlineStyleSchema.optional(),
|
|
1947
2177
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
1948
2178
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
1949
2179
|
});
|
|
1950
|
-
var semanticSpacingSchema =
|
|
2180
|
+
var semanticSpacingSchema = z17.enum([
|
|
1951
2181
|
"none",
|
|
1952
2182
|
"compact",
|
|
1953
2183
|
"cozy",
|
|
@@ -1955,91 +2185,108 @@ var semanticSpacingSchema = z16.enum([
|
|
|
1955
2185
|
"comfortable",
|
|
1956
2186
|
"spacious"
|
|
1957
2187
|
]);
|
|
1958
|
-
var boxRoundedSchema =
|
|
1959
|
-
var boxBackgroundOverlaySchema =
|
|
1960
|
-
type:
|
|
2188
|
+
var boxRoundedSchema = z17.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
2189
|
+
var boxBackgroundOverlaySchema = z17.object({
|
|
2190
|
+
type: z17.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
1961
2191
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
1962
|
-
gradient:
|
|
1963
|
-
opacity:
|
|
2192
|
+
gradient: z17.string().nullable().optional(),
|
|
2193
|
+
opacity: z17.number().min(0).max(1).nullable().optional()
|
|
1964
2194
|
});
|
|
1965
|
-
var boxBackgroundSchema =
|
|
1966
|
-
type:
|
|
2195
|
+
var boxBackgroundSchema = z17.object({
|
|
2196
|
+
type: z17.enum(["color", "gradient", "image"]).optional(),
|
|
2197
|
+
contentOwner: z17.literal(pageDesignEditorBackgroundOverrideOwner).optional(),
|
|
1967
2198
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
1968
|
-
gradient:
|
|
2199
|
+
gradient: z17.string().nullable().optional(),
|
|
2200
|
+
gradientPresetId: z17.string().min(1).nullable().optional(),
|
|
1969
2201
|
image: mediaSchema.nullable().optional(),
|
|
1970
|
-
objectFit:
|
|
1971
|
-
scale:
|
|
1972
|
-
position:
|
|
1973
|
-
opacity:
|
|
1974
|
-
motion:
|
|
2202
|
+
objectFit: z17.enum(["fill", "fit", "original", "custom"]).nullable().optional(),
|
|
2203
|
+
scale: z17.string().nullable().optional(),
|
|
2204
|
+
position: z17.string().nullable().optional(),
|
|
2205
|
+
opacity: z17.number().min(0).max(1).nullable().optional(),
|
|
2206
|
+
motion: z17.enum(["static", "fixed-frame"]).nullable().optional(),
|
|
1975
2207
|
overlay: boxBackgroundOverlaySchema.nullable().optional(),
|
|
1976
2208
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
1977
2209
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
1978
2210
|
});
|
|
1979
|
-
var noHeadingDecorationSchema =
|
|
1980
|
-
family:
|
|
1981
|
-
placement: z16.literal("none")
|
|
2211
|
+
var noHeadingDecorationSchema = z17.object({
|
|
2212
|
+
family: z17.literal("none")
|
|
1982
2213
|
});
|
|
1983
|
-
var visibleHeadingDecorationSchema =
|
|
1984
|
-
family:
|
|
1985
|
-
|
|
1986
|
-
colorToken: z16.enum(headingDecorationColorTokenValues).optional()
|
|
2214
|
+
var visibleHeadingDecorationSchema = z17.object({
|
|
2215
|
+
family: z17.enum(visibleHeadingDecorationFamilyValues),
|
|
2216
|
+
colorToken: z17.enum(headingDecorationColorTokenValues).optional()
|
|
1987
2217
|
});
|
|
1988
|
-
var headingDecorationSchema =
|
|
2218
|
+
var headingDecorationSchema = z17.union([
|
|
1989
2219
|
noHeadingDecorationSchema,
|
|
1990
2220
|
visibleHeadingDecorationSchema
|
|
1991
2221
|
]);
|
|
1992
|
-
var
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
2222
|
+
var headingDecorationOverrideSchema = z17.union([
|
|
2223
|
+
z17.enum(headingDecorationOverrideValues),
|
|
2224
|
+
// Legacy authoring value from the earlier model. In the render-time model
|
|
2225
|
+
// "on" cannot force a fragment into a block, so it is equivalent to default.
|
|
2226
|
+
z17.literal("on").transform(() => "site-default")
|
|
2227
|
+
]);
|
|
2228
|
+
var accordionIconTreatmentSchema = z17.object({
|
|
2229
|
+
iconSet: z17.enum(accordionIconSetValues),
|
|
2230
|
+
colorToken: z17.enum(accordionIconColorTokenValues),
|
|
2231
|
+
openColorToken: z17.enum(accordionIconColorTokenValues).optional(),
|
|
2232
|
+
motion: z17.enum(accordionIconMotionValues)
|
|
1997
2233
|
});
|
|
1998
|
-
var sectionStylesOverrideSchema =
|
|
2234
|
+
var sectionStylesOverrideSchema = z17.object({
|
|
1999
2235
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2000
2236
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2001
|
-
minHeight:
|
|
2002
|
-
tileTreatment:
|
|
2003
|
-
eventListTreatment:
|
|
2004
|
-
eyebrowTreatment:
|
|
2237
|
+
minHeight: z17.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
2238
|
+
tileTreatment: z17.enum(tileTreatmentValues).nullable().optional(),
|
|
2239
|
+
eventListTreatment: z17.enum(eventListTreatmentValues).nullable().optional(),
|
|
2240
|
+
eyebrowTreatment: z17.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
2005
2241
|
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
2006
|
-
// Author-level
|
|
2007
|
-
//
|
|
2008
|
-
|
|
2242
|
+
// Author-level opt-out consumed by render-time theme projection. Persisted
|
|
2243
|
+
// content may also carry legacy `headingDecoration` / `on` values; those are
|
|
2244
|
+
// tolerated at the schema boundary but the renderer treats the compiled theme
|
|
2245
|
+
// as the only source of the resolved signature.
|
|
2246
|
+
headingDecorationOverride: headingDecorationOverrideSchema.nullable().optional(),
|
|
2009
2247
|
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
2010
2248
|
});
|
|
2011
|
-
var containerStylesOverrideSchema =
|
|
2249
|
+
var containerStylesOverrideSchema = z17.object({
|
|
2012
2250
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2013
2251
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2014
|
-
raised:
|
|
2252
|
+
raised: z17.boolean().nullable().optional(),
|
|
2015
2253
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
2016
|
-
fullWidth:
|
|
2254
|
+
fullWidth: z17.boolean().nullable().optional()
|
|
2017
2255
|
});
|
|
2018
|
-
var cardBorderOverrideSchema =
|
|
2019
|
-
enabled:
|
|
2020
|
-
width:
|
|
2256
|
+
var cardBorderOverrideSchema = z17.object({
|
|
2257
|
+
enabled: z17.boolean().nullable().optional(),
|
|
2258
|
+
width: z17.enum(["none", "1", "2", "3"]).nullable().optional(),
|
|
2021
2259
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
2022
2260
|
});
|
|
2023
|
-
var cardStylesOverrideSchema =
|
|
2261
|
+
var cardStylesOverrideSchema = z17.object({
|
|
2024
2262
|
background: boxBackgroundSchema.nullable().optional(),
|
|
2025
2263
|
border: cardBorderOverrideSchema.nullable().optional(),
|
|
2026
2264
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
2027
|
-
raised:
|
|
2265
|
+
raised: z17.boolean().nullable().optional(),
|
|
2028
2266
|
rounded: boxRoundedSchema.nullable().optional(),
|
|
2029
|
-
treatment:
|
|
2267
|
+
treatment: z17.enum([
|
|
2268
|
+
"accent-quote",
|
|
2269
|
+
"editorial-rule",
|
|
2270
|
+
"soft-panel",
|
|
2271
|
+
"editorial-serif-quote",
|
|
2272
|
+
"editorial-open"
|
|
2273
|
+
]).nullable().optional(),
|
|
2274
|
+
// Which site-style card variant the card adopts (emits a `.card-{id}` class).
|
|
2275
|
+
// 'none' is boxless. Driven by the block look via testimonialCardTreatment.
|
|
2276
|
+
cardVariant: boxStylesCardVariantSchema.nullable().optional()
|
|
2030
2277
|
});
|
|
2031
|
-
var blockStyleOverridesSchema =
|
|
2278
|
+
var blockStyleOverridesSchema = z17.object({
|
|
2032
2279
|
sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
|
|
2033
2280
|
containerStyles: containerStylesOverrideSchema.nullable().optional(),
|
|
2034
2281
|
cardStyles: cardStylesOverrideSchema.nullable().optional()
|
|
2035
2282
|
});
|
|
2036
|
-
var blockThemeOverrideSchema =
|
|
2037
|
-
typography:
|
|
2283
|
+
var blockThemeOverrideSchema = z17.object({
|
|
2284
|
+
typography: z17.object({
|
|
2038
2285
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
2039
2286
|
}).optional(),
|
|
2040
2287
|
styles: blockStyleOverridesSchema.optional()
|
|
2041
2288
|
});
|
|
2042
|
-
var typographyScaleSchema =
|
|
2289
|
+
var typographyScaleSchema = z17.enum([
|
|
2043
2290
|
// New intuitive names
|
|
2044
2291
|
"compact",
|
|
2045
2292
|
// ratio 1.2 (was minorThird)
|
|
@@ -2052,9 +2299,9 @@ var typographyScaleSchema = z16.enum([
|
|
|
2052
2299
|
"majorThird",
|
|
2053
2300
|
"perfectFourth"
|
|
2054
2301
|
]);
|
|
2055
|
-
var typographySchema =
|
|
2302
|
+
var typographySchema = z17.object({
|
|
2056
2303
|
body: bodyTypographyStyleSchema,
|
|
2057
|
-
headings:
|
|
2304
|
+
headings: z17.object({
|
|
2058
2305
|
default: headingTypographyStyleSchema,
|
|
2059
2306
|
h1: headingTypographyOverridesSchema,
|
|
2060
2307
|
h2: headingTypographyOverridesSchema,
|
|
@@ -2067,41 +2314,41 @@ var typographySchema = z16.object({
|
|
|
2067
2314
|
scale: typographyScaleSchema,
|
|
2068
2315
|
proseLinkStyle: proseLinkStyleSchema.optional()
|
|
2069
2316
|
});
|
|
2070
|
-
var spaceSchema =
|
|
2071
|
-
var corners =
|
|
2072
|
-
var shadow =
|
|
2073
|
-
elevation:
|
|
2074
|
-
softness:
|
|
2075
|
-
position:
|
|
2317
|
+
var spaceSchema = z17.enum(["comfortable", "standard", "dense"]);
|
|
2318
|
+
var corners = z17.enum(["square", "soft", "rounded", "pill"]);
|
|
2319
|
+
var shadow = z17.object({
|
|
2320
|
+
elevation: z17.enum(["none", "low", "medium", "high"]),
|
|
2321
|
+
softness: z17.enum(["crisp", "soft", "hard"]).nullable(),
|
|
2322
|
+
position: z17.enum(["bottom", "bottom-right"]).default("bottom")
|
|
2076
2323
|
});
|
|
2077
|
-
var border =
|
|
2078
|
-
width:
|
|
2079
|
-
style:
|
|
2324
|
+
var border = z17.object({
|
|
2325
|
+
width: z17.enum(["none", "hairline", "thin", "thick"]),
|
|
2326
|
+
style: z17.enum(["solid", "dashed"])
|
|
2080
2327
|
});
|
|
2081
|
-
var motion =
|
|
2082
|
-
level:
|
|
2083
|
-
easing:
|
|
2328
|
+
var motion = z17.object({
|
|
2329
|
+
level: z17.enum(["off", "low", "medium", "high"]),
|
|
2330
|
+
easing: z17.enum(["standard", "snappy", "gentle"]).nullable()
|
|
2084
2331
|
});
|
|
2085
|
-
var buttonStyle =
|
|
2332
|
+
var buttonStyle = z17.object({
|
|
2086
2333
|
shape: corners
|
|
2087
2334
|
// Used for --radius-control CSS variable
|
|
2088
2335
|
});
|
|
2089
|
-
var cardStyle =
|
|
2090
|
-
elevation:
|
|
2091
|
-
border:
|
|
2336
|
+
var cardStyle = z17.object({
|
|
2337
|
+
elevation: z17.enum(["none", "low", "medium", "high"]),
|
|
2338
|
+
border: z17.enum(["none", "subtle", "defined"]),
|
|
2092
2339
|
shape: corners,
|
|
2093
|
-
headerStyle:
|
|
2094
|
-
mediaTreatment:
|
|
2340
|
+
headerStyle: z17.enum(["plain", "accentBar", "subtleBg"]).nullable(),
|
|
2341
|
+
mediaTreatment: z17.enum(["square", "rounded", "bleed"]).nullable()
|
|
2095
2342
|
});
|
|
2096
|
-
var inputStyle =
|
|
2343
|
+
var inputStyle = z17.object({
|
|
2097
2344
|
shape: corners,
|
|
2098
|
-
border:
|
|
2099
|
-
focus:
|
|
2100
|
-
label:
|
|
2345
|
+
border: z17.enum(["subtle", "defined", "underline"]),
|
|
2346
|
+
focus: z17.enum(["glow", "ring", "underline"]),
|
|
2347
|
+
label: z17.enum(["inside", "above"])
|
|
2101
2348
|
});
|
|
2102
|
-
var headerVariant =
|
|
2103
|
-
var headerPositioning =
|
|
2104
|
-
var headerNavStyle =
|
|
2349
|
+
var headerVariant = z17.enum(["classic", "centered", "transparent", "floating"]);
|
|
2350
|
+
var headerPositioning = z17.enum(["static", "sticky", "fixed"]);
|
|
2351
|
+
var headerNavStyle = z17.enum([
|
|
2105
2352
|
"minimal",
|
|
2106
2353
|
"underline",
|
|
2107
2354
|
"underline-grow",
|
|
@@ -2110,54 +2357,57 @@ var headerNavStyle = z16.enum([
|
|
|
2110
2357
|
"frosted",
|
|
2111
2358
|
"solid"
|
|
2112
2359
|
]);
|
|
2113
|
-
var navFontWeight =
|
|
2114
|
-
var headerMaxWidth =
|
|
2115
|
-
var headerContainerSchema =
|
|
2116
|
-
rounded:
|
|
2117
|
-
border:
|
|
2118
|
-
shadow:
|
|
2119
|
-
padding:
|
|
2120
|
-
tint:
|
|
2121
|
-
opacity:
|
|
2360
|
+
var navFontWeight = z17.enum(["regular", "medium", "semibold", "bold"]);
|
|
2361
|
+
var headerMaxWidth = z17.enum(["container", "full"]);
|
|
2362
|
+
var headerContainerSchema = z17.object({
|
|
2363
|
+
rounded: z17.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("xl"),
|
|
2364
|
+
border: z17.boolean().default(true),
|
|
2365
|
+
shadow: z17.boolean().default(true),
|
|
2366
|
+
padding: z17.enum(["sm", "md", "lg"]).default("md"),
|
|
2367
|
+
tint: z17.string().nullable().optional(),
|
|
2368
|
+
opacity: z17.number().min(0).max(1).default(0.12)
|
|
2122
2369
|
}).optional();
|
|
2123
2370
|
var headerBorderSchema = componentBorderSchema.extend({
|
|
2124
|
-
position:
|
|
2371
|
+
position: z17.enum(["bottom", "top", "both", "none"]).default("bottom")
|
|
2125
2372
|
}).optional();
|
|
2126
|
-
var logoStyleSchema =
|
|
2127
|
-
fontFamily:
|
|
2128
|
-
letterSpacing:
|
|
2129
|
-
gradient:
|
|
2373
|
+
var logoStyleSchema = z17.object({
|
|
2374
|
+
fontFamily: z17.enum(["heading", "body"]).default("heading"),
|
|
2375
|
+
letterSpacing: z17.enum(["normal", "wide", "wider", "widest"]).default("normal"),
|
|
2376
|
+
gradient: z17.boolean().default(false),
|
|
2377
|
+
brandDisplay: z17.enum(brandDisplayModeValues).optional(),
|
|
2378
|
+
size: z17.enum(logoSizePolicyValues).optional(),
|
|
2379
|
+
accommodation: z17.enum(logoAccommodationPatternValues).optional()
|
|
2130
2380
|
}).optional();
|
|
2131
|
-
var headerLogoTextSchema =
|
|
2132
|
-
mobileWrapLines:
|
|
2133
|
-
mobileMaxWidth:
|
|
2134
|
-
hideOnShrink:
|
|
2381
|
+
var headerLogoTextSchema = z17.object({
|
|
2382
|
+
mobileWrapLines: z17.union([z17.literal(1), z17.literal(2)]).optional(),
|
|
2383
|
+
mobileMaxWidth: z17.enum(["xs", "sm", "md"]).optional(),
|
|
2384
|
+
hideOnShrink: z17.boolean().optional()
|
|
2135
2385
|
}).optional();
|
|
2136
|
-
var navEffectsSchema =
|
|
2137
|
-
underlineGradient:
|
|
2138
|
-
glow:
|
|
2139
|
-
glowColor:
|
|
2140
|
-
neumorphic:
|
|
2386
|
+
var navEffectsSchema = z17.object({
|
|
2387
|
+
underlineGradient: z17.boolean().default(false),
|
|
2388
|
+
glow: z17.boolean().default(false),
|
|
2389
|
+
glowColor: z17.string().optional(),
|
|
2390
|
+
neumorphic: z17.boolean().default(false)
|
|
2141
2391
|
}).optional();
|
|
2142
|
-
var dropdownStyleSchema =
|
|
2392
|
+
var dropdownStyleSchema = z17.object({
|
|
2143
2393
|
// Container styling
|
|
2144
2394
|
background: themeColorTokenSchema.default("surface"),
|
|
2145
2395
|
textColor: themeColorTokenSchema.default("text"),
|
|
2146
2396
|
borderColor: themeColorTokenSchema.nullable().default("border"),
|
|
2147
|
-
shadow:
|
|
2148
|
-
borderRadius:
|
|
2397
|
+
shadow: z17.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2398
|
+
borderRadius: z17.enum(["none", "sm", "md", "lg"]).default("md"),
|
|
2149
2399
|
// Link hover states (explicit control)
|
|
2150
2400
|
hoverBackground: themeColorTokenSchema.nullable().optional(),
|
|
2151
2401
|
hoverTextColor: themeColorTokenSchema.nullable().optional(),
|
|
2152
2402
|
// Typography
|
|
2153
|
-
textTransform:
|
|
2154
|
-
letterSpacing:
|
|
2155
|
-
fontWeight:
|
|
2403
|
+
textTransform: z17.enum(["none", "uppercase", "capitalize"]).default("none"),
|
|
2404
|
+
letterSpacing: z17.enum(["normal", "wide", "wider"]).default("normal"),
|
|
2405
|
+
fontWeight: z17.enum(["regular", "medium", "semibold", "bold"]).optional(),
|
|
2156
2406
|
// optional = inherit from navWeight
|
|
2157
|
-
textSize:
|
|
2407
|
+
textSize: z17.enum(["xs", "sm", "base", "lg"]).optional()
|
|
2158
2408
|
// optional = no override (browser default)
|
|
2159
2409
|
}).optional();
|
|
2160
|
-
var headerCtaGapSchema =
|
|
2410
|
+
var headerCtaGapSchema = z17.enum([
|
|
2161
2411
|
"none",
|
|
2162
2412
|
"tight",
|
|
2163
2413
|
"compact",
|
|
@@ -2165,7 +2415,7 @@ var headerCtaGapSchema = z16.enum([
|
|
|
2165
2415
|
"relaxed",
|
|
2166
2416
|
"spacious"
|
|
2167
2417
|
]);
|
|
2168
|
-
var headerCtaTreatmentSchema =
|
|
2418
|
+
var headerCtaTreatmentSchema = z17.enum([
|
|
2169
2419
|
"default",
|
|
2170
2420
|
"primary",
|
|
2171
2421
|
"secondary",
|
|
@@ -2173,22 +2423,22 @@ var headerCtaTreatmentSchema = z16.enum([
|
|
|
2173
2423
|
"outline",
|
|
2174
2424
|
"ghost"
|
|
2175
2425
|
]);
|
|
2176
|
-
var navContainerSchema =
|
|
2177
|
-
type:
|
|
2178
|
-
tint:
|
|
2179
|
-
opacity:
|
|
2426
|
+
var navContainerSchema = z17.object({
|
|
2427
|
+
type: z17.enum(["none", "pill", "glass"]).default("none"),
|
|
2428
|
+
tint: z17.string().nullable().optional(),
|
|
2429
|
+
opacity: z17.number().min(0).max(1).default(0.15)
|
|
2180
2430
|
}).default({ type: "none", tint: null, opacity: 0.15 });
|
|
2181
|
-
var headerBackgroundSchema =
|
|
2182
|
-
type:
|
|
2431
|
+
var headerBackgroundSchema = z17.object({
|
|
2432
|
+
type: z17.enum(["color", "gradient", "image"]),
|
|
2183
2433
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
2184
2434
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
2185
2435
|
image: mediaSchema.nullable().optional(),
|
|
2186
2436
|
textColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
2187
2437
|
});
|
|
2188
|
-
var headerSchema =
|
|
2438
|
+
var headerSchema = z17.object({
|
|
2189
2439
|
variant: headerVariant,
|
|
2190
2440
|
positioning: headerPositioning,
|
|
2191
|
-
shrinkOnScroll:
|
|
2441
|
+
shrinkOnScroll: z17.boolean(),
|
|
2192
2442
|
maxWidth: headerMaxWidth,
|
|
2193
2443
|
logoOverride: mediaSchema.nullable().optional(),
|
|
2194
2444
|
background: headerBackgroundSchema.default({
|
|
@@ -2218,16 +2468,16 @@ var headerSchema = z16.object({
|
|
|
2218
2468
|
// Optional theme-level CTA variant for header/nav CTA buttons.
|
|
2219
2469
|
// Internal runtime bridge for the block renderer; prefer ctaTreatment in
|
|
2220
2470
|
// authored Theme V2 concepts.
|
|
2221
|
-
ctaVariant:
|
|
2471
|
+
ctaVariant: z17.string().min(1).optional(),
|
|
2222
2472
|
// Dropdown menu styling (nav dropdowns and mobile drawer)
|
|
2223
2473
|
dropdownStyle: dropdownStyleSchema
|
|
2224
2474
|
});
|
|
2225
|
-
var footerVariant =
|
|
2226
|
-
var footerMaxWidth =
|
|
2227
|
-
var footerMode =
|
|
2228
|
-
var footerNavLayoutMode =
|
|
2229
|
-
var footerNavLayoutAlign =
|
|
2230
|
-
var footerSpacing =
|
|
2475
|
+
var footerVariant = z17.enum(["simple", "columns", "split"]);
|
|
2476
|
+
var footerMaxWidth = z17.enum(["container", "full"]);
|
|
2477
|
+
var footerMode = z17.enum(["default", "blocks", "default+blocks", "none"]);
|
|
2478
|
+
var footerNavLayoutMode = z17.enum(["stack", "inline", "inline-wrap"]);
|
|
2479
|
+
var footerNavLayoutAlign = z17.enum(["start", "center", "end", "space-between"]);
|
|
2480
|
+
var footerSpacing = z17.enum([
|
|
2231
2481
|
"none",
|
|
2232
2482
|
"tight",
|
|
2233
2483
|
"compact",
|
|
@@ -2235,44 +2485,44 @@ var footerSpacing = z16.enum([
|
|
|
2235
2485
|
"relaxed",
|
|
2236
2486
|
"spacious"
|
|
2237
2487
|
]);
|
|
2238
|
-
var footerLogoPlacement =
|
|
2239
|
-
var footerLogoSize =
|
|
2240
|
-
var footerLogoMaxHeight =
|
|
2241
|
-
var footerBottomTextLinkStyleSchema =
|
|
2488
|
+
var footerLogoPlacement = z17.enum(["left", "right", "above", "below"]);
|
|
2489
|
+
var footerLogoSize = z17.enum(["sm", "md", "lg", "xl"]);
|
|
2490
|
+
var footerLogoMaxHeight = z17.enum(["sm", "md", "lg", "xl"]);
|
|
2491
|
+
var footerBottomTextLinkStyleSchema = z17.object({
|
|
2242
2492
|
colorToken: themeColorTokenSchema.optional(),
|
|
2243
2493
|
hoverColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2244
2494
|
decorationColorToken: themeColorTokenSchema.nullable().optional(),
|
|
2245
|
-
underline:
|
|
2495
|
+
underline: z17.boolean().optional()
|
|
2246
2496
|
});
|
|
2247
|
-
var footerBottomBarSchema =
|
|
2248
|
-
enabled:
|
|
2249
|
-
fullBleed:
|
|
2497
|
+
var footerBottomBarSchema = z17.object({
|
|
2498
|
+
enabled: z17.boolean().optional(),
|
|
2499
|
+
fullBleed: z17.boolean().optional(),
|
|
2250
2500
|
background: headerBackgroundSchema.optional(),
|
|
2251
2501
|
textColor: themeColorTokenSchema.nullable().optional(),
|
|
2252
|
-
textAlign:
|
|
2502
|
+
textAlign: z17.enum(["left", "center", "right"]).optional(),
|
|
2253
2503
|
paddingY: footerSpacing.optional(),
|
|
2254
2504
|
paddingX: footerSpacing.optional(),
|
|
2255
|
-
borderTop:
|
|
2505
|
+
borderTop: z17.object({
|
|
2256
2506
|
colorToken: themeColorTokenSchema.nullable().optional(),
|
|
2257
|
-
width:
|
|
2507
|
+
width: z17.enum(["none", "thin", "medium", "thick"]).optional()
|
|
2258
2508
|
}).optional()
|
|
2259
2509
|
});
|
|
2260
|
-
var footerNavLayoutSchema =
|
|
2510
|
+
var footerNavLayoutSchema = z17.object({
|
|
2261
2511
|
layout: footerNavLayoutMode.optional(),
|
|
2262
2512
|
align: footerNavLayoutAlign.optional(),
|
|
2263
2513
|
gapX: footerSpacing.optional(),
|
|
2264
2514
|
gapY: footerSpacing.optional(),
|
|
2265
|
-
columns:
|
|
2515
|
+
columns: z17.number().int().min(1).max(6).optional()
|
|
2266
2516
|
});
|
|
2267
|
-
var footerLogoSchema =
|
|
2268
|
-
showLogo:
|
|
2269
|
-
showLogoText:
|
|
2517
|
+
var footerLogoSchema = z17.object({
|
|
2518
|
+
showLogo: z17.boolean().default(true),
|
|
2519
|
+
showLogoText: z17.boolean().optional(),
|
|
2270
2520
|
placement: footerLogoPlacement.optional(),
|
|
2271
2521
|
size: footerLogoSize.optional(),
|
|
2272
2522
|
maxHeight: footerLogoMaxHeight.optional(),
|
|
2273
|
-
align:
|
|
2523
|
+
align: z17.enum(["start", "center", "end"]).optional()
|
|
2274
2524
|
});
|
|
2275
|
-
var footerSchema =
|
|
2525
|
+
var footerSchema = z17.object({
|
|
2276
2526
|
/**
|
|
2277
2527
|
* SDK-only footer rendering mode.
|
|
2278
2528
|
*
|
|
@@ -2281,7 +2531,7 @@ var footerSchema = z16.object({
|
|
|
2281
2531
|
mode: footerMode.optional(),
|
|
2282
2532
|
variant: footerVariant,
|
|
2283
2533
|
maxWidth: footerMaxWidth,
|
|
2284
|
-
showLogoText:
|
|
2534
|
+
showLogoText: z17.boolean().optional(),
|
|
2285
2535
|
background: headerBackgroundSchema.default({
|
|
2286
2536
|
type: "color",
|
|
2287
2537
|
color: "surface"
|
|
@@ -2299,20 +2549,20 @@ var footerSchema = z16.object({
|
|
|
2299
2549
|
logo: footerLogoSchema.optional(),
|
|
2300
2550
|
bottomBar: footerBottomBarSchema.optional()
|
|
2301
2551
|
});
|
|
2302
|
-
var containerPaddingPresetSchema =
|
|
2552
|
+
var containerPaddingPresetSchema = z17.enum([
|
|
2303
2553
|
"tight",
|
|
2304
2554
|
"compact",
|
|
2305
2555
|
"default",
|
|
2306
2556
|
"relaxed"
|
|
2307
2557
|
]);
|
|
2308
|
-
var layoutSchema =
|
|
2309
|
-
containerPadding:
|
|
2558
|
+
var layoutSchema = z17.object({
|
|
2559
|
+
containerPadding: z17.object({
|
|
2310
2560
|
mobile: containerPaddingPresetSchema.optional(),
|
|
2311
2561
|
tablet: containerPaddingPresetSchema.optional(),
|
|
2312
2562
|
desktop: containerPaddingPresetSchema.optional()
|
|
2313
2563
|
}).optional()
|
|
2314
2564
|
}).optional();
|
|
2315
|
-
var heroTypographySizeSchema =
|
|
2565
|
+
var heroTypographySizeSchema = z17.enum([
|
|
2316
2566
|
"sm",
|
|
2317
2567
|
"base",
|
|
2318
2568
|
"lg",
|
|
@@ -2324,19 +2574,19 @@ var heroTypographySizeSchema = z16.enum([
|
|
|
2324
2574
|
"6xl",
|
|
2325
2575
|
"editorial"
|
|
2326
2576
|
]);
|
|
2327
|
-
var heroTypographyLineHeightSchema =
|
|
2577
|
+
var heroTypographyLineHeightSchema = z17.enum([
|
|
2328
2578
|
"tight",
|
|
2329
2579
|
"snug",
|
|
2330
2580
|
"normal",
|
|
2331
2581
|
"relaxed"
|
|
2332
2582
|
]);
|
|
2333
|
-
var heroResponsiveTypographySchema =
|
|
2583
|
+
var heroResponsiveTypographySchema = z17.object({
|
|
2334
2584
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
2335
2585
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2336
2586
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
2337
2587
|
subheadlineLineHeight: heroTypographyLineHeightSchema.optional()
|
|
2338
2588
|
});
|
|
2339
|
-
var heroTypographySchema =
|
|
2589
|
+
var heroTypographySchema = z17.object({
|
|
2340
2590
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
2341
2591
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2342
2592
|
subheadlineSize: heroTypographySizeSchema.optional(),
|
|
@@ -2345,31 +2595,38 @@ var heroTypographySchema = z16.object({
|
|
|
2345
2595
|
microHeadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2346
2596
|
microSubheadlineSize: heroTypographySizeSchema.optional(),
|
|
2347
2597
|
microSubheadlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
2348
|
-
responsive:
|
|
2598
|
+
responsive: z17.object({
|
|
2349
2599
|
tablet: heroResponsiveTypographySchema.optional(),
|
|
2350
2600
|
mobile: heroResponsiveTypographySchema.optional()
|
|
2351
2601
|
}).optional()
|
|
2352
2602
|
});
|
|
2353
|
-
var heroSchema =
|
|
2603
|
+
var heroSchema = z17.object({
|
|
2354
2604
|
typography: heroTypographySchema.optional()
|
|
2355
2605
|
}).optional();
|
|
2356
|
-
var bodyTextIntroTypographySizeSchema =
|
|
2357
|
-
var bodyTextSchema =
|
|
2358
|
-
intro:
|
|
2606
|
+
var bodyTextIntroTypographySizeSchema = z17.enum(["default", "editorial"]);
|
|
2607
|
+
var bodyTextSchema = z17.object({
|
|
2608
|
+
intro: z17.object({
|
|
2359
2609
|
paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
|
|
2360
2610
|
headingSize: bodyTextIntroTypographySizeSchema.optional()
|
|
2361
2611
|
}).optional()
|
|
2362
2612
|
}).optional();
|
|
2363
|
-
var gradientsSchema =
|
|
2364
|
-
button:
|
|
2365
|
-
hero:
|
|
2366
|
-
background:
|
|
2613
|
+
var gradientsSchema = z17.object({
|
|
2614
|
+
button: z17.string().min(1).nullable().optional(),
|
|
2615
|
+
hero: z17.string().min(1).nullable().optional(),
|
|
2616
|
+
background: z17.string().min(1).nullable().optional()
|
|
2617
|
+
});
|
|
2618
|
+
var testimonialQuoteTreatmentSchema = z17.object({
|
|
2619
|
+
style: z17.enum(["serif-display", "accent-glyph", "none"]),
|
|
2620
|
+
fontFamily: z17.enum(["heading", "body"]).optional(),
|
|
2621
|
+
scale: z17.enum(["sm", "md", "lg", "xl"]).optional(),
|
|
2622
|
+
colorToken: themeColorTokenSchema.optional(),
|
|
2623
|
+
opacity: z17.number().min(0).max(1).optional()
|
|
2367
2624
|
});
|
|
2368
|
-
var themeSchema =
|
|
2369
|
-
name:
|
|
2370
|
-
description:
|
|
2371
|
-
rationale:
|
|
2372
|
-
siteStyleId:
|
|
2625
|
+
var themeSchema = z17.object({
|
|
2626
|
+
name: z17.string().min(1).max(30),
|
|
2627
|
+
description: z17.string().min(1).max(400),
|
|
2628
|
+
rationale: z17.string().min(1).max(400),
|
|
2629
|
+
siteStyleId: z17.string().min(1).transform((value) => asSiteStyleId(value)).optional(),
|
|
2373
2630
|
axes: axesSchema,
|
|
2374
2631
|
palette: paletteSchema,
|
|
2375
2632
|
typography: typographySchema,
|
|
@@ -2390,6 +2647,8 @@ var themeSchema = z16.object({
|
|
|
2390
2647
|
// Card variant system (optional for backwards compatibility)
|
|
2391
2648
|
accordions: accordionSystemSchema.optional(),
|
|
2392
2649
|
// Accordion system (optional - generated if not provided)
|
|
2650
|
+
testimonialQuote: testimonialQuoteTreatmentSchema.optional(),
|
|
2651
|
+
// Testimonial quote-mark treatment (site-style-owned)
|
|
2393
2652
|
inputs: inputSystemSchema.optional(),
|
|
2394
2653
|
// Input system (optional - generated if not provided)
|
|
2395
2654
|
inputStyle: inputStyle.optional(),
|
|
@@ -2397,15 +2656,19 @@ var themeSchema = z16.object({
|
|
|
2397
2656
|
// Block-specific customization (Tier 3)
|
|
2398
2657
|
// blockCustomVars: Per-block CSS variable overrides as bare values
|
|
2399
2658
|
// Example: { "event-registration": { "--step-color": "#6d28d9" } }
|
|
2400
|
-
blockCustomVars:
|
|
2401
|
-
|
|
2659
|
+
blockCustomVars: z17.record(
|
|
2660
|
+
z17.string(),
|
|
2402
2661
|
// block kind (matches data-block attribute)
|
|
2403
|
-
|
|
2662
|
+
z17.record(z17.string(), z17.string())
|
|
2404
2663
|
// { '--var-name': 'value' }
|
|
2405
2664
|
).optional(),
|
|
2406
2665
|
// Structured block-kind theme overrides (v1: typography prose-link style only)
|
|
2407
2666
|
// Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
|
|
2408
|
-
blockOverrides:
|
|
2667
|
+
blockOverrides: z17.record(z17.string(), blockThemeOverrideSchema).optional(),
|
|
2668
|
+
// Site-wide heading decoration signature (family + colour). Set once per Look
|
|
2669
|
+
// and projected transiently onto eligible block headings at render time.
|
|
2670
|
+
// Alignment is inherited from the heading, so no placement is stored.
|
|
2671
|
+
headingDecoration: headingDecorationSchema.optional(),
|
|
2409
2672
|
// Structured custom CSS rules
|
|
2410
2673
|
// Validated, scoped, and safe by construction - no @import, remote url(), or global selectors
|
|
2411
2674
|
customCssRules: customCssRulesSchema,
|
|
@@ -2439,11 +2702,11 @@ var themeSchema = z16.object({
|
|
|
2439
2702
|
* }
|
|
2440
2703
|
* ```
|
|
2441
2704
|
*/
|
|
2442
|
-
styleGroups:
|
|
2705
|
+
styleGroups: z17.record(z17.string(), z17.array(z17.string())).optional()
|
|
2443
2706
|
});
|
|
2444
|
-
var themesTurnSchema =
|
|
2445
|
-
message:
|
|
2446
|
-
themes:
|
|
2707
|
+
var themesTurnSchema = z17.object({
|
|
2708
|
+
message: z17.string().min(1),
|
|
2709
|
+
themes: z17.array(themeSchema).length(3)
|
|
2447
2710
|
});
|
|
2448
2711
|
|
|
2449
2712
|
// ../theme-core/src/fonts/uploadFormat.ts
|
|
@@ -2511,26 +2774,26 @@ function generateShadowCssVars(theme) {
|
|
|
2511
2774
|
}
|
|
2512
2775
|
|
|
2513
2776
|
// ../theme-core/src/palette/variants/types.ts
|
|
2514
|
-
import { z as
|
|
2777
|
+
import { z as z18 } from "zod";
|
|
2515
2778
|
function asPaletteVariantId(value) {
|
|
2516
2779
|
if (value.length === 0) {
|
|
2517
2780
|
throw new Error("PaletteVariantId must be a non-empty string");
|
|
2518
2781
|
}
|
|
2519
2782
|
return value;
|
|
2520
2783
|
}
|
|
2521
|
-
var paletteVariantIdSchema =
|
|
2784
|
+
var paletteVariantIdSchema = z18.string().min(1).transform((value) => asPaletteVariantId(value));
|
|
2522
2785
|
var HEX_COLOR_REGEX = /^#[0-9a-f]{6}$/;
|
|
2523
|
-
var hexColorSchema =
|
|
2786
|
+
var hexColorSchema = z18.string().regex(HEX_COLOR_REGEX, "Hex must be #RRGGBB (lowercase)").transform((value) => value);
|
|
2524
2787
|
var variantPaletteColorSchema = paletteColorSchema.extend({
|
|
2525
2788
|
name: paletteTokenNameSchema
|
|
2526
2789
|
});
|
|
2527
|
-
var paletteVariantSchema =
|
|
2790
|
+
var paletteVariantSchema = z18.object({
|
|
2528
2791
|
id: paletteVariantIdSchema,
|
|
2529
|
-
name:
|
|
2530
|
-
description:
|
|
2792
|
+
name: z18.string().min(1),
|
|
2793
|
+
description: z18.string().min(1),
|
|
2531
2794
|
tags: styleTagsSchema,
|
|
2532
|
-
mode:
|
|
2533
|
-
colors:
|
|
2795
|
+
mode: z18.enum(["light", "dark"]),
|
|
2796
|
+
colors: z18.array(variantPaletteColorSchema).min(1)
|
|
2534
2797
|
});
|
|
2535
2798
|
function definePaletteVariant(input) {
|
|
2536
2799
|
return {
|
|
@@ -2542,7 +2805,7 @@ function definePaletteVariant(input) {
|
|
|
2542
2805
|
colors: input.colors
|
|
2543
2806
|
};
|
|
2544
2807
|
}
|
|
2545
|
-
var paletteOverridesSchema =
|
|
2808
|
+
var paletteOverridesSchema = z18.object({
|
|
2546
2809
|
primary: hexColorSchema.optional(),
|
|
2547
2810
|
primaryForeground: hexColorSchema.optional(),
|
|
2548
2811
|
secondary: hexColorSchema.optional(),
|
|
@@ -2783,6 +3046,28 @@ var softNaturalWatercolor = definePaletteVariant({
|
|
|
2783
3046
|
{ name: "border", hex: "#d8c9a8" }
|
|
2784
3047
|
]
|
|
2785
3048
|
});
|
|
3049
|
+
var softNaturalLilac = definePaletteVariant({
|
|
3050
|
+
id: "soft-natural-lilac",
|
|
3051
|
+
name: "Soft Natural \u2014 Lilac",
|
|
3052
|
+
description: "Watercolour periwinkle-lilac primary with warm ivory grounds and a sage accent.",
|
|
3053
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
3054
|
+
mode: "light",
|
|
3055
|
+
colors: [
|
|
3056
|
+
{ name: "primary", hex: "#5c68a8" },
|
|
3057
|
+
{ name: "secondary", hex: "#8189ad" },
|
|
3058
|
+
{ name: "accent", hex: "#75835a" },
|
|
3059
|
+
{ name: "success", hex: "#5f7d62" },
|
|
3060
|
+
{ name: "warning", hex: "#a8884f" },
|
|
3061
|
+
{ name: "destructive", hex: "#a3503e" },
|
|
3062
|
+
{ name: "background", hex: "#faf9f6" },
|
|
3063
|
+
{ name: "surface", hex: "#ffffff" },
|
|
3064
|
+
{ name: "surfaceAlt", hex: "#f1f0f7" },
|
|
3065
|
+
{ name: "muted", hex: "#e9e8f2" },
|
|
3066
|
+
{ name: "text", hex: "#262633" },
|
|
3067
|
+
{ name: "primaryForeground", hex: "#ffffff" },
|
|
3068
|
+
{ name: "border", hex: "#d6d5e3" }
|
|
3069
|
+
]
|
|
3070
|
+
});
|
|
2786
3071
|
|
|
2787
3072
|
// ../theme-core/src/palette/variants/warm-neutral.ts
|
|
2788
3073
|
var warmNeutralClay = definePaletteVariant({
|
|
@@ -2893,13 +3178,190 @@ var paletteVariants = [
|
|
|
2893
3178
|
// Soft-natural family
|
|
2894
3179
|
softNaturalSage,
|
|
2895
3180
|
softNaturalStone,
|
|
2896
|
-
softNaturalWatercolor
|
|
3181
|
+
softNaturalWatercolor,
|
|
3182
|
+
softNaturalLilac
|
|
2897
3183
|
];
|
|
2898
3184
|
var paletteVariantsById = new Map(
|
|
2899
3185
|
paletteVariants.map((v) => [v.id, v])
|
|
2900
3186
|
);
|
|
2901
3187
|
|
|
2902
3188
|
// ../theme-core/src/accordions/siteStyleDefaults.ts
|
|
3189
|
+
var editorialDividedAccordionSystem = {
|
|
3190
|
+
background: null,
|
|
3191
|
+
spacing: "comfortable",
|
|
3192
|
+
corners: "square",
|
|
3193
|
+
border: null,
|
|
3194
|
+
shadow: null,
|
|
3195
|
+
icon: {
|
|
3196
|
+
style: "plus-minus",
|
|
3197
|
+
position: "right",
|
|
3198
|
+
size: "md",
|
|
3199
|
+
colorToken: "primary"
|
|
3200
|
+
},
|
|
3201
|
+
trigger: {
|
|
3202
|
+
textColorToken: "text",
|
|
3203
|
+
fontWeight: "regular",
|
|
3204
|
+
fontFamily: "heading",
|
|
3205
|
+
fontScale: "lg"
|
|
3206
|
+
},
|
|
3207
|
+
hover: {
|
|
3208
|
+
textColorToken: "primary"
|
|
3209
|
+
},
|
|
3210
|
+
openState: {
|
|
3211
|
+
backgroundColorToken: "surfaceAlt",
|
|
3212
|
+
triggerColorToken: "primary",
|
|
3213
|
+
accent: {
|
|
3214
|
+
edge: "left",
|
|
3215
|
+
colorToken: "primary",
|
|
3216
|
+
thickness: "medium"
|
|
3217
|
+
}
|
|
3218
|
+
},
|
|
3219
|
+
content: {
|
|
3220
|
+
textColorToken: "neutral-700"
|
|
3221
|
+
}
|
|
3222
|
+
};
|
|
3223
|
+
var quietUnderlinedAccordionSystem = {
|
|
3224
|
+
background: null,
|
|
3225
|
+
spacing: "spacious",
|
|
3226
|
+
corners: "square",
|
|
3227
|
+
border: null,
|
|
3228
|
+
shadow: null,
|
|
3229
|
+
icon: {
|
|
3230
|
+
style: "chevron",
|
|
3231
|
+
position: "right",
|
|
3232
|
+
size: "sm",
|
|
3233
|
+
colorToken: "muted"
|
|
3234
|
+
},
|
|
3235
|
+
trigger: {
|
|
3236
|
+
textColorToken: "text",
|
|
3237
|
+
fontWeight: "regular",
|
|
3238
|
+
fontFamily: "heading",
|
|
3239
|
+
fontScale: "lg"
|
|
3240
|
+
},
|
|
3241
|
+
hover: {
|
|
3242
|
+
textColorToken: "primary"
|
|
3243
|
+
},
|
|
3244
|
+
openState: {
|
|
3245
|
+
triggerColorToken: "primary"
|
|
3246
|
+
},
|
|
3247
|
+
content: {
|
|
3248
|
+
textColorToken: "neutral-700"
|
|
3249
|
+
}
|
|
3250
|
+
};
|
|
3251
|
+
var calmPanelAccordionSystem = {
|
|
3252
|
+
background: {
|
|
3253
|
+
type: "solid",
|
|
3254
|
+
colorToken: "surface"
|
|
3255
|
+
},
|
|
3256
|
+
spacing: "comfortable",
|
|
3257
|
+
corners: "soft",
|
|
3258
|
+
border: {
|
|
3259
|
+
widthClass: "border",
|
|
3260
|
+
colorToken: "border"
|
|
3261
|
+
},
|
|
3262
|
+
shadow: {
|
|
3263
|
+
elevation: "low",
|
|
3264
|
+
softness: "soft",
|
|
3265
|
+
position: "bottom"
|
|
3266
|
+
},
|
|
3267
|
+
icon: {
|
|
3268
|
+
style: "chevron",
|
|
3269
|
+
position: "right",
|
|
3270
|
+
size: "md",
|
|
3271
|
+
colorToken: "primary"
|
|
3272
|
+
},
|
|
3273
|
+
trigger: {
|
|
3274
|
+
textColorToken: "text",
|
|
3275
|
+
fontWeight: "medium",
|
|
3276
|
+
fontFamily: "heading",
|
|
3277
|
+
fontScale: "md"
|
|
3278
|
+
},
|
|
3279
|
+
hover: {
|
|
3280
|
+
backgroundColorToken: "primary/5",
|
|
3281
|
+
textColorToken: "primary"
|
|
3282
|
+
},
|
|
3283
|
+
openState: {
|
|
3284
|
+
backgroundColorToken: "primary/5",
|
|
3285
|
+
triggerColorToken: "primary"
|
|
3286
|
+
},
|
|
3287
|
+
content: {
|
|
3288
|
+
textColorToken: "neutral-700"
|
|
3289
|
+
}
|
|
3290
|
+
};
|
|
3291
|
+
var boldBorderedAccordionSystem = {
|
|
3292
|
+
background: {
|
|
3293
|
+
type: "solid",
|
|
3294
|
+
colorToken: "surface"
|
|
3295
|
+
},
|
|
3296
|
+
spacing: "comfortable",
|
|
3297
|
+
corners: "soft",
|
|
3298
|
+
border: {
|
|
3299
|
+
widthClass: "border-2",
|
|
3300
|
+
colorToken: "border"
|
|
3301
|
+
},
|
|
3302
|
+
shadow: null,
|
|
3303
|
+
icon: {
|
|
3304
|
+
style: "plus-minus",
|
|
3305
|
+
position: "right",
|
|
3306
|
+
size: "lg",
|
|
3307
|
+
colorToken: "primary"
|
|
3308
|
+
},
|
|
3309
|
+
trigger: {
|
|
3310
|
+
textColorToken: "text",
|
|
3311
|
+
fontWeight: "bold",
|
|
3312
|
+
fontFamily: "heading",
|
|
3313
|
+
fontScale: "md"
|
|
3314
|
+
},
|
|
3315
|
+
hover: {
|
|
3316
|
+
backgroundColorToken: "primary/10",
|
|
3317
|
+
textColorToken: "primary"
|
|
3318
|
+
},
|
|
3319
|
+
openState: {
|
|
3320
|
+
backgroundColorToken: "primary/10",
|
|
3321
|
+
triggerColorToken: "primary",
|
|
3322
|
+
accent: {
|
|
3323
|
+
edge: "left",
|
|
3324
|
+
colorToken: "primary",
|
|
3325
|
+
thickness: "thick"
|
|
3326
|
+
}
|
|
3327
|
+
},
|
|
3328
|
+
content: {
|
|
3329
|
+
textColorToken: "neutral-700"
|
|
3330
|
+
}
|
|
3331
|
+
};
|
|
3332
|
+
var warmInsetAccordionSystem = {
|
|
3333
|
+
background: {
|
|
3334
|
+
type: "solid",
|
|
3335
|
+
colorToken: "surfaceAlt"
|
|
3336
|
+
},
|
|
3337
|
+
spacing: "comfortable",
|
|
3338
|
+
corners: "rounded",
|
|
3339
|
+
border: null,
|
|
3340
|
+
shadow: null,
|
|
3341
|
+
icon: {
|
|
3342
|
+
style: "circle-plus-minus",
|
|
3343
|
+
position: "right",
|
|
3344
|
+
size: "md",
|
|
3345
|
+
colorToken: "primary"
|
|
3346
|
+
},
|
|
3347
|
+
trigger: {
|
|
3348
|
+
textColorToken: "text",
|
|
3349
|
+
fontWeight: "semibold",
|
|
3350
|
+
fontFamily: "heading",
|
|
3351
|
+
fontScale: "md"
|
|
3352
|
+
},
|
|
3353
|
+
hover: {
|
|
3354
|
+
backgroundColorToken: "primary/5",
|
|
3355
|
+
textColorToken: "primary"
|
|
3356
|
+
},
|
|
3357
|
+
openState: {
|
|
3358
|
+
backgroundColorToken: "surface",
|
|
3359
|
+
triggerColorToken: "primary"
|
|
3360
|
+
},
|
|
3361
|
+
content: {
|
|
3362
|
+
textColorToken: "neutral-700"
|
|
3363
|
+
}
|
|
3364
|
+
};
|
|
2903
3365
|
var softEarthAccordionSystem = {
|
|
2904
3366
|
background: {
|
|
2905
3367
|
type: "solid",
|
|
@@ -2917,16 +3379,96 @@ var softEarthAccordionSystem = {
|
|
|
2917
3379
|
},
|
|
2918
3380
|
trigger: {
|
|
2919
3381
|
textColorToken: "text",
|
|
2920
|
-
fontWeight: "medium"
|
|
3382
|
+
fontWeight: "medium",
|
|
3383
|
+
fontFamily: "heading",
|
|
3384
|
+
fontScale: "md"
|
|
2921
3385
|
},
|
|
2922
3386
|
hover: {
|
|
2923
3387
|
textColorToken: "primary"
|
|
2924
3388
|
},
|
|
3389
|
+
openState: {
|
|
3390
|
+
triggerColorToken: "primary"
|
|
3391
|
+
},
|
|
2925
3392
|
content: {
|
|
2926
3393
|
textColorToken: "neutral-700"
|
|
2927
3394
|
}
|
|
2928
3395
|
};
|
|
2929
3396
|
|
|
3397
|
+
// ../theme-core/src/cards/siteStyleDefaults.ts
|
|
3398
|
+
var southWestCardSystem = {
|
|
3399
|
+
variants: [
|
|
3400
|
+
{
|
|
3401
|
+
id: "default",
|
|
3402
|
+
name: "Default",
|
|
3403
|
+
enabled: true,
|
|
3404
|
+
priority: 1,
|
|
3405
|
+
background: { type: "solid", colorToken: "surface" },
|
|
3406
|
+
foregroundToken: "text",
|
|
3407
|
+
spacing: "comfortable",
|
|
3408
|
+
corners: "soft",
|
|
3409
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" }
|
|
3410
|
+
},
|
|
3411
|
+
{
|
|
3412
|
+
id: "alternative",
|
|
3413
|
+
name: "Statement",
|
|
3414
|
+
enabled: true,
|
|
3415
|
+
priority: 2,
|
|
3416
|
+
background: { type: "solid", colorToken: "primary-700" },
|
|
3417
|
+
foregroundToken: "primaryForeground",
|
|
3418
|
+
spacing: "comfortable",
|
|
3419
|
+
// No shadow on the variant itself: the elevation comes from the look's
|
|
3420
|
+
// 'raised' item surface (rb-shadow-md = var(--shadow-md)), reproducing the
|
|
3421
|
+
// legacy accent-quote card's shadow exactly.
|
|
3422
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
3423
|
+
accentEdge: { edge: "left", colorToken: "secondary", width: "heavy" },
|
|
3424
|
+
cornerRadii: {
|
|
3425
|
+
topLeft: "square",
|
|
3426
|
+
topRight: "expressive",
|
|
3427
|
+
bottomLeft: "square",
|
|
3428
|
+
bottomRight: "square"
|
|
3429
|
+
}
|
|
3430
|
+
}
|
|
3431
|
+
]
|
|
3432
|
+
};
|
|
3433
|
+
var clarityZenCardSystem = {
|
|
3434
|
+
variants: [
|
|
3435
|
+
{
|
|
3436
|
+
id: "default",
|
|
3437
|
+
name: "Default",
|
|
3438
|
+
enabled: true,
|
|
3439
|
+
priority: 1,
|
|
3440
|
+
background: { type: "solid", colorToken: "surface" },
|
|
3441
|
+
// A filled card establishes its own text colour so it stays legible on a
|
|
3442
|
+
// coloured section band (which sets a contrasting section-text colour).
|
|
3443
|
+
foregroundToken: "text",
|
|
3444
|
+
spacing: "comfortable",
|
|
3445
|
+
corners: "rounded",
|
|
3446
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" }
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
id: "alternative",
|
|
3450
|
+
name: "Statement",
|
|
3451
|
+
enabled: true,
|
|
3452
|
+
priority: 2,
|
|
3453
|
+
// Themed surfaceAlt tint + a touch more elevation so an emphasised
|
|
3454
|
+
// section reads as a deliberate "statement" against the default card.
|
|
3455
|
+
background: { type: "solid", colorToken: "surfaceAlt" },
|
|
3456
|
+
foregroundToken: "text",
|
|
3457
|
+
spacing: "comfortable",
|
|
3458
|
+
corners: "rounded",
|
|
3459
|
+
shadow: { elevation: "medium", softness: "soft", position: "bottom" }
|
|
3460
|
+
}
|
|
3461
|
+
]
|
|
3462
|
+
};
|
|
3463
|
+
|
|
3464
|
+
// ../theme-core/src/site-styles/testimonialQuotePresets.ts
|
|
3465
|
+
var serifDisplayQuote = {
|
|
3466
|
+
style: "serif-display"
|
|
3467
|
+
};
|
|
3468
|
+
var accentGlyphQuote = {
|
|
3469
|
+
style: "accent-glyph"
|
|
3470
|
+
};
|
|
3471
|
+
|
|
2930
3472
|
// ../theme-core/src/site-styles/headerCtaVariants.ts
|
|
2931
3473
|
function hasButtonVariant(theme, variantId) {
|
|
2932
3474
|
return theme.buttons?.variants.some((variant) => variant.enabled && variant.id === variantId) ?? false;
|
|
@@ -2961,6 +3503,89 @@ function asHeaderLayoutId(value) {
|
|
|
2961
3503
|
function asHeaderStyleId(value) {
|
|
2962
3504
|
return value;
|
|
2963
3505
|
}
|
|
3506
|
+
var titleOnlyLogoAccommodation = {
|
|
3507
|
+
pattern: "title-only",
|
|
3508
|
+
supportedShapes: ["none", "horizontal", "square", "portrait", "tall"],
|
|
3509
|
+
supportedTextPresence: ["contains-text", "no-text", "unknown"],
|
|
3510
|
+
supportedDisplayModes: ["title-only"],
|
|
3511
|
+
size: "compact"
|
|
3512
|
+
};
|
|
3513
|
+
var inlineWordmarkLogoAccommodation = {
|
|
3514
|
+
pattern: "inline-wordmark",
|
|
3515
|
+
supportedShapes: ["horizontal"],
|
|
3516
|
+
supportedTextPresence: ["contains-text", "no-text", "unknown"],
|
|
3517
|
+
supportedDisplayModes: ["logo-only"],
|
|
3518
|
+
size: "standard",
|
|
3519
|
+
maxDensity: "detailed"
|
|
3520
|
+
};
|
|
3521
|
+
var inlineMarkWithTitleLogoAccommodation = {
|
|
3522
|
+
pattern: "inline-mark-with-title",
|
|
3523
|
+
supportedShapes: ["horizontal", "square", "portrait", "tall"],
|
|
3524
|
+
supportedTextPresence: ["no-text"],
|
|
3525
|
+
supportedDisplayModes: ["logo-plus-title"],
|
|
3526
|
+
size: "compact",
|
|
3527
|
+
maxDensity: "simple"
|
|
3528
|
+
};
|
|
3529
|
+
var logoPlateAccommodation = {
|
|
3530
|
+
pattern: "logo-plate",
|
|
3531
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3532
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3533
|
+
supportedDisplayModes: ["logo-only"],
|
|
3534
|
+
size: "display",
|
|
3535
|
+
providesBacking: true
|
|
3536
|
+
};
|
|
3537
|
+
var centeredBadgeAccommodation = {
|
|
3538
|
+
pattern: "centered-badge",
|
|
3539
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3540
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3541
|
+
supportedDisplayModes: ["logo-only"],
|
|
3542
|
+
size: "display",
|
|
3543
|
+
providesBacking: true
|
|
3544
|
+
};
|
|
3545
|
+
var popoutBadgeAccommodation = {
|
|
3546
|
+
pattern: "popout-badge",
|
|
3547
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3548
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3549
|
+
supportedDisplayModes: ["logo-only"],
|
|
3550
|
+
size: "display",
|
|
3551
|
+
providesBacking: true
|
|
3552
|
+
};
|
|
3553
|
+
var centeredMastheadAccommodation = {
|
|
3554
|
+
pattern: "centered-masthead",
|
|
3555
|
+
supportedShapes: ["square", "portrait", "tall"],
|
|
3556
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3557
|
+
supportedDisplayModes: ["logo-only"],
|
|
3558
|
+
size: "display",
|
|
3559
|
+
providesBacking: true
|
|
3560
|
+
};
|
|
3561
|
+
var unbackedOverlayLogoAccommodation = {
|
|
3562
|
+
pattern: "inline-logo-only",
|
|
3563
|
+
supportedShapes: ["square"],
|
|
3564
|
+
supportedTextPresence: ["contains-text", "unknown"],
|
|
3565
|
+
supportedDisplayModes: ["logo-only"],
|
|
3566
|
+
size: "compact",
|
|
3567
|
+
providesBacking: false
|
|
3568
|
+
};
|
|
3569
|
+
var inlineClassicLogoAccommodations = [
|
|
3570
|
+
titleOnlyLogoAccommodation,
|
|
3571
|
+
inlineWordmarkLogoAccommodation,
|
|
3572
|
+
inlineMarkWithTitleLogoAccommodation,
|
|
3573
|
+
popoutBadgeAccommodation,
|
|
3574
|
+
logoPlateAccommodation
|
|
3575
|
+
];
|
|
3576
|
+
var centeredLogoAccommodations = [
|
|
3577
|
+
titleOnlyLogoAccommodation,
|
|
3578
|
+
inlineWordmarkLogoAccommodation,
|
|
3579
|
+
inlineMarkWithTitleLogoAccommodation,
|
|
3580
|
+
centeredMastheadAccommodation,
|
|
3581
|
+
centeredBadgeAccommodation
|
|
3582
|
+
];
|
|
3583
|
+
var overlayLogoAccommodations = [
|
|
3584
|
+
titleOnlyLogoAccommodation,
|
|
3585
|
+
inlineWordmarkLogoAccommodation,
|
|
3586
|
+
inlineMarkWithTitleLogoAccommodation,
|
|
3587
|
+
unbackedOverlayLogoAccommodation
|
|
3588
|
+
];
|
|
2964
3589
|
function baseHeader(theme) {
|
|
2965
3590
|
const {
|
|
2966
3591
|
navLinkStyle: _navLinkStyle,
|
|
@@ -3630,6 +4255,7 @@ var headerLookCatalog = [
|
|
|
3630
4255
|
behavior: "sticky"
|
|
3631
4256
|
},
|
|
3632
4257
|
openingRequirement: "none",
|
|
4258
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3633
4259
|
compile: cleanBaseHeader
|
|
3634
4260
|
},
|
|
3635
4261
|
{
|
|
@@ -3643,6 +4269,7 @@ var headerLookCatalog = [
|
|
|
3643
4269
|
behavior: "sticky-shrink"
|
|
3644
4270
|
},
|
|
3645
4271
|
openingRequirement: "none",
|
|
4272
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3646
4273
|
compile: solidBrandHeader
|
|
3647
4274
|
},
|
|
3648
4275
|
{
|
|
@@ -3657,6 +4284,7 @@ var headerLookCatalog = [
|
|
|
3657
4284
|
},
|
|
3658
4285
|
openingRequirement: "none",
|
|
3659
4286
|
maxRecommendedNavItems: 6,
|
|
4287
|
+
logoAccommodations: centeredLogoAccommodations,
|
|
3660
4288
|
compile: serifLineHeader
|
|
3661
4289
|
},
|
|
3662
4290
|
{
|
|
@@ -3671,7 +4299,7 @@ var headerLookCatalog = [
|
|
|
3671
4299
|
},
|
|
3672
4300
|
openingRequirement: "none",
|
|
3673
4301
|
maxRecommendedNavItems: 5,
|
|
3674
|
-
|
|
4302
|
+
logoAccommodations: centeredLogoAccommodations,
|
|
3675
4303
|
compile: centeredCalmHeader
|
|
3676
4304
|
},
|
|
3677
4305
|
{
|
|
@@ -3686,6 +4314,7 @@ var headerLookCatalog = [
|
|
|
3686
4314
|
},
|
|
3687
4315
|
openingRequirement: "none",
|
|
3688
4316
|
requiresProminentCta: true,
|
|
4317
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3689
4318
|
compile: practicalUtilityHeader
|
|
3690
4319
|
},
|
|
3691
4320
|
{
|
|
@@ -3699,6 +4328,7 @@ var headerLookCatalog = [
|
|
|
3699
4328
|
behavior: "normal-flow"
|
|
3700
4329
|
},
|
|
3701
4330
|
openingRequirement: "reserved-space-ok",
|
|
4331
|
+
logoAccommodations: inlineClassicLogoAccommodations,
|
|
3702
4332
|
compile: minimalTransparentHeader
|
|
3703
4333
|
},
|
|
3704
4334
|
{
|
|
@@ -3713,7 +4343,7 @@ var headerLookCatalog = [
|
|
|
3713
4343
|
},
|
|
3714
4344
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
3715
4345
|
maxRecommendedNavItems: 5,
|
|
3716
|
-
|
|
4346
|
+
logoAccommodations: overlayLogoAccommodations,
|
|
3717
4347
|
compile: transparentOverlayHeader
|
|
3718
4348
|
},
|
|
3719
4349
|
{
|
|
@@ -3728,7 +4358,7 @@ var headerLookCatalog = [
|
|
|
3728
4358
|
},
|
|
3729
4359
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
3730
4360
|
maxRecommendedNavItems: 5,
|
|
3731
|
-
|
|
4361
|
+
logoAccommodations: overlayLogoAccommodations,
|
|
3732
4362
|
compile: floatingGlassHeader
|
|
3733
4363
|
}
|
|
3734
4364
|
];
|
|
@@ -3809,12 +4439,110 @@ function brandTwoBandFooter(theme) {
|
|
|
3809
4439
|
}
|
|
3810
4440
|
};
|
|
3811
4441
|
}
|
|
4442
|
+
function centeredCalmFooter(theme) {
|
|
4443
|
+
return {
|
|
4444
|
+
...theme.footer,
|
|
4445
|
+
variant: "simple",
|
|
4446
|
+
maxWidth: "container",
|
|
4447
|
+
background: {
|
|
4448
|
+
type: "color",
|
|
4449
|
+
color: "surfaceAlt"
|
|
4450
|
+
},
|
|
4451
|
+
navStyle: "minimal",
|
|
4452
|
+
navWeight: "regular",
|
|
4453
|
+
navColor: "text",
|
|
4454
|
+
navLinkStyle: {
|
|
4455
|
+
typography: "body",
|
|
4456
|
+
fontWeight: "regular",
|
|
4457
|
+
textTransform: "none",
|
|
4458
|
+
italic: false,
|
|
4459
|
+
colorToken: "text",
|
|
4460
|
+
hoverColorToken: "primary",
|
|
4461
|
+
padding: "none",
|
|
4462
|
+
borderRadius: "none"
|
|
4463
|
+
},
|
|
4464
|
+
navLayout: {
|
|
4465
|
+
layout: "inline-wrap",
|
|
4466
|
+
align: "center",
|
|
4467
|
+
gapX: "relaxed",
|
|
4468
|
+
gapY: "tight"
|
|
4469
|
+
},
|
|
4470
|
+
logo: {
|
|
4471
|
+
showLogo: true,
|
|
4472
|
+
showLogoText: false,
|
|
4473
|
+
placement: "above",
|
|
4474
|
+
size: "sm",
|
|
4475
|
+
align: "center"
|
|
4476
|
+
},
|
|
4477
|
+
bottomBar: {
|
|
4478
|
+
enabled: true,
|
|
4479
|
+
fullBleed: false,
|
|
4480
|
+
textAlign: "center",
|
|
4481
|
+
paddingX: "default",
|
|
4482
|
+
paddingY: "compact",
|
|
4483
|
+
borderTop: {
|
|
4484
|
+
width: "thin"
|
|
4485
|
+
}
|
|
4486
|
+
}
|
|
4487
|
+
};
|
|
4488
|
+
}
|
|
4489
|
+
function editorialColumnsFooter(theme) {
|
|
4490
|
+
return {
|
|
4491
|
+
...theme.footer,
|
|
4492
|
+
variant: "columns",
|
|
4493
|
+
maxWidth: "container",
|
|
4494
|
+
background: {
|
|
4495
|
+
type: "color",
|
|
4496
|
+
color: "surface"
|
|
4497
|
+
},
|
|
4498
|
+
navStyle: "minimal",
|
|
4499
|
+
navWeight: "regular",
|
|
4500
|
+
navColor: "text",
|
|
4501
|
+
navLinkStyle: {
|
|
4502
|
+
typography: "body",
|
|
4503
|
+
fontWeight: "regular",
|
|
4504
|
+
textTransform: "none",
|
|
4505
|
+
italic: false,
|
|
4506
|
+
colorToken: "text",
|
|
4507
|
+
hoverColorToken: "primary",
|
|
4508
|
+
padding: "none",
|
|
4509
|
+
borderRadius: "none"
|
|
4510
|
+
},
|
|
4511
|
+
logo: {
|
|
4512
|
+
showLogo: true,
|
|
4513
|
+
showLogoText: true,
|
|
4514
|
+
placement: "left",
|
|
4515
|
+
size: "sm",
|
|
4516
|
+
align: "start"
|
|
4517
|
+
},
|
|
4518
|
+
bottomBar: {
|
|
4519
|
+
enabled: true,
|
|
4520
|
+
fullBleed: false,
|
|
4521
|
+
textAlign: "center",
|
|
4522
|
+
paddingX: "default",
|
|
4523
|
+
paddingY: "compact",
|
|
4524
|
+
borderTop: {
|
|
4525
|
+
width: "thin"
|
|
4526
|
+
}
|
|
4527
|
+
}
|
|
4528
|
+
};
|
|
4529
|
+
}
|
|
3812
4530
|
var footerLookCatalog = [
|
|
3813
4531
|
{
|
|
3814
4532
|
id: asFooterLookId("footer-muted-grounding"),
|
|
3815
4533
|
label: "Muted grounding footer",
|
|
3816
4534
|
compile: mutedGroundingFooter
|
|
3817
4535
|
},
|
|
4536
|
+
{
|
|
4537
|
+
id: asFooterLookId("footer-centered-calm"),
|
|
4538
|
+
label: "Centered calm footer",
|
|
4539
|
+
compile: centeredCalmFooter
|
|
4540
|
+
},
|
|
4541
|
+
{
|
|
4542
|
+
id: asFooterLookId("footer-editorial-columns"),
|
|
4543
|
+
label: "Editorial columns footer",
|
|
4544
|
+
compile: editorialColumnsFooter
|
|
4545
|
+
},
|
|
3818
4546
|
{
|
|
3819
4547
|
id: asFooterLookId("site-footer-brand-two-band"),
|
|
3820
4548
|
label: "Two-band brand footer",
|
|
@@ -3844,7 +4572,7 @@ var generatedDesignOptionCatalog = {
|
|
|
3844
4572
|
source: "generated",
|
|
3845
4573
|
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
3846
4574
|
contentFrames: generatedContentFrames,
|
|
3847
|
-
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
4575
|
+
itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial"],
|
|
3848
4576
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
3849
4577
|
emphases: ["low", "medium", "high"],
|
|
3850
4578
|
detachedCustom: false
|
|
@@ -3853,11 +4581,7 @@ var userDesignOptionCatalog = {
|
|
|
3853
4581
|
source: "user",
|
|
3854
4582
|
sectionSurfaces: generatedDesignOptionCatalog.sectionSurfaces,
|
|
3855
4583
|
contentFrames: userContentFrames,
|
|
3856
|
-
itemSurfaces:
|
|
3857
|
-
...generatedDesignOptionCatalog.itemSurfaces,
|
|
3858
|
-
"inset",
|
|
3859
|
-
"editorial"
|
|
3860
|
-
],
|
|
4584
|
+
itemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
3861
4585
|
transitions: [
|
|
3862
4586
|
...generatedDesignOptionCatalog.transitions,
|
|
3863
4587
|
"wave-edge",
|
|
@@ -4250,6 +4974,10 @@ function defineCuratedSiteStyle(input) {
|
|
|
4250
4974
|
supportedItemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
|
|
4251
4975
|
supportedTransitions: generatedDesignOptionCatalog.transitions
|
|
4252
4976
|
},
|
|
4977
|
+
// Decoration is opt-in per style so it stays a distinguishing feature, not
|
|
4978
|
+
// wallpaper. Styles that want a mark set `headingDecoration` explicitly;
|
|
4979
|
+
// clean/minimal styles default to none.
|
|
4980
|
+
headingDecoration: input.headingDecoration ?? noHeadingDecoration,
|
|
4253
4981
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
4254
4982
|
...input.defaultBlockVariants ? { defaultBlockVariants: input.defaultBlockVariants } : {},
|
|
4255
4983
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
@@ -4436,6 +5164,11 @@ var curatedSiteStyles = [
|
|
|
4436
5164
|
defineCuratedSiteStyle({
|
|
4437
5165
|
id: "site-style:calm-studio",
|
|
4438
5166
|
name: "Calm Studio",
|
|
5167
|
+
themeOverrides: {
|
|
5168
|
+
accordions: calmPanelAccordionSystem,
|
|
5169
|
+
testimonialQuote: serifDisplayQuote
|
|
5170
|
+
},
|
|
5171
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4439
5172
|
description: "Soft, measured, and spacious for intimate appointment or class businesses.",
|
|
4440
5173
|
generationBrief: "Use calm pacing, concise copy, generous breathing room, and natural imagery. Keep calls to action steady rather than urgent.",
|
|
4441
5174
|
tokenRecipes: {
|
|
@@ -4469,6 +5202,10 @@ var curatedSiteStyles = [
|
|
|
4469
5202
|
defineCuratedSiteStyle({
|
|
4470
5203
|
id: "site-style:clear-professional",
|
|
4471
5204
|
name: "Clear Professional",
|
|
5205
|
+
themeOverrides: {
|
|
5206
|
+
accordions: calmPanelAccordionSystem,
|
|
5207
|
+
testimonialQuote: accentGlyphQuote
|
|
5208
|
+
},
|
|
4472
5209
|
description: "Crisp, trustworthy, and direct for local services and consultancies.",
|
|
4473
5210
|
generationBrief: "Prioritize clarity, proof, service detail, and easy next steps. Keep visuals polished and specific, with restrained decorative treatment.",
|
|
4474
5211
|
tokenRecipes: {
|
|
@@ -4500,6 +5237,11 @@ var curatedSiteStyles = [
|
|
|
4500
5237
|
defineCuratedSiteStyle({
|
|
4501
5238
|
id: "site-style:warm-editorial",
|
|
4502
5239
|
name: "Warm Editorial",
|
|
5240
|
+
themeOverrides: {
|
|
5241
|
+
accordions: editorialDividedAccordionSystem,
|
|
5242
|
+
testimonialQuote: serifDisplayQuote
|
|
5243
|
+
},
|
|
5244
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4503
5245
|
description: "Story-led and textured for educators, makers, venues, and retreats.",
|
|
4504
5246
|
generationBrief: "Let the copy feel thoughtful and grounded. Favor narrative sections, supporting media, and a small number of editorial panels.",
|
|
4505
5247
|
tokenRecipes: {
|
|
@@ -4532,6 +5274,11 @@ var curatedSiteStyles = [
|
|
|
4532
5274
|
defineCuratedSiteStyle({
|
|
4533
5275
|
id: "site-style:bright-community",
|
|
4534
5276
|
name: "Bright Community",
|
|
5277
|
+
themeOverrides: {
|
|
5278
|
+
accordions: warmInsetAccordionSystem,
|
|
5279
|
+
testimonialQuote: accentGlyphQuote
|
|
5280
|
+
},
|
|
5281
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4535
5282
|
description: "Friendly, welcoming, and active for groups, classes, and neighborhood offers.",
|
|
4536
5283
|
generationBrief: "Use welcoming language, clear event or booking routes, and optimistic imagery. Let accents appear, but avoid noisy decoration.",
|
|
4537
5284
|
tokenRecipes: {
|
|
@@ -4563,6 +5310,10 @@ var curatedSiteStyles = [
|
|
|
4563
5310
|
defineCuratedSiteStyle({
|
|
4564
5311
|
id: "site-style:quiet-luxury",
|
|
4565
5312
|
name: "Quiet Luxury",
|
|
5313
|
+
themeOverrides: {
|
|
5314
|
+
accordions: quietUnderlinedAccordionSystem,
|
|
5315
|
+
testimonialQuote: serifDisplayQuote
|
|
5316
|
+
},
|
|
4566
5317
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
4567
5318
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
4568
5319
|
siteCreatorSelection: {
|
|
@@ -4605,6 +5356,10 @@ var curatedSiteStyles = [
|
|
|
4605
5356
|
defineCuratedSiteStyle({
|
|
4606
5357
|
id: "site-style:practical-services",
|
|
4607
5358
|
name: "Practical Services",
|
|
5359
|
+
themeOverrides: {
|
|
5360
|
+
accordions: boldBorderedAccordionSystem,
|
|
5361
|
+
testimonialQuote: accentGlyphQuote
|
|
5362
|
+
},
|
|
4608
5363
|
description: "Efficient, plainspoken, and conversion-focused for trades and everyday services.",
|
|
4609
5364
|
generationBrief: "Make services, location, trust signals, and contact paths obvious. Keep copy brief and avoid ornate visual treatments.",
|
|
4610
5365
|
siteCreatorSelection: { kind: "primary_goal_support" },
|
|
@@ -4645,6 +5400,11 @@ var curatedSiteStyles = [
|
|
|
4645
5400
|
defineCuratedSiteStyle({
|
|
4646
5401
|
id: "site-style:modern-wellness",
|
|
4647
5402
|
name: "Modern Wellness",
|
|
5403
|
+
themeOverrides: {
|
|
5404
|
+
accordions: quietUnderlinedAccordionSystem,
|
|
5405
|
+
testimonialQuote: serifDisplayQuote
|
|
5406
|
+
},
|
|
5407
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4648
5408
|
description: "Natural, current, and reassuring for practitioners, studios, and wellbeing offers.",
|
|
4649
5409
|
generationBrief: "Keep the tone warm and practical. Use gentle section variation, natural materials, and inclusive copy without making medical claims.",
|
|
4650
5410
|
tokenRecipes: {
|
|
@@ -4676,6 +5436,10 @@ var curatedSiteStyles = [
|
|
|
4676
5436
|
defineCuratedSiteStyle({
|
|
4677
5437
|
id: "site-style:quiet-practice",
|
|
4678
5438
|
name: "Quiet Practice",
|
|
5439
|
+
themeOverrides: {
|
|
5440
|
+
accordions: quietUnderlinedAccordionSystem,
|
|
5441
|
+
testimonialQuote: serifDisplayQuote
|
|
5442
|
+
},
|
|
4679
5443
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
4680
5444
|
generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
|
|
4681
5445
|
siteCreatorSelection: {
|
|
@@ -4721,6 +5485,7 @@ var curatedSiteStyles = [
|
|
|
4721
5485
|
defineCuratedSiteStyle({
|
|
4722
5486
|
id: "site-style:clarity-zen-blue",
|
|
4723
5487
|
name: "Clarity Zen",
|
|
5488
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4724
5489
|
description: "Calm, editorial, and reassuring for therapy, counselling, and wellbeing support practices.",
|
|
4725
5490
|
generationBrief: "Use a calm, soft palette, editorial serif headings, warm grounded copy, rounded cards, calm proof sections, and clear booking routes. Keep the tone compassionate and straightforward, with professional trust rather than hard-sell wellness language.",
|
|
4726
5491
|
siteCreatorSelection: {
|
|
@@ -4744,17 +5509,22 @@ var curatedSiteStyles = [
|
|
|
4744
5509
|
},
|
|
4745
5510
|
compositionBudget: balancedBudget,
|
|
4746
5511
|
themeOverrides: {
|
|
5512
|
+
accordions: editorialDividedAccordionSystem,
|
|
5513
|
+
cards: clarityZenCardSystem,
|
|
5514
|
+
testimonialQuote: serifDisplayQuote,
|
|
4747
5515
|
typography: {
|
|
4748
5516
|
body: {
|
|
4749
|
-
family: "
|
|
5517
|
+
family: "Roboto, system-ui, sans-serif",
|
|
4750
5518
|
size: "md",
|
|
4751
5519
|
weight: "regular",
|
|
4752
5520
|
lineHeight: "relaxed",
|
|
4753
5521
|
letterSpacing: "normal"
|
|
4754
5522
|
},
|
|
4755
5523
|
headings: {
|
|
5524
|
+
// Forum ships a single 400 weight; keep every heading weight
|
|
5525
|
+
// 'regular' so the Google Fonts request stays valid.
|
|
4756
5526
|
default: {
|
|
4757
|
-
family:
|
|
5527
|
+
family: "Forum, Georgia, serif",
|
|
4758
5528
|
weight: "regular",
|
|
4759
5529
|
lineHeight: "normal",
|
|
4760
5530
|
letterSpacing: "normal",
|
|
@@ -4770,7 +5540,7 @@ var curatedSiteStyles = [
|
|
|
4770
5540
|
italic: null
|
|
4771
5541
|
},
|
|
4772
5542
|
h2: {
|
|
4773
|
-
size: "
|
|
5543
|
+
size: "xl",
|
|
4774
5544
|
weight: "regular",
|
|
4775
5545
|
lineHeight: "normal",
|
|
4776
5546
|
letterSpacing: "normal",
|
|
@@ -4798,10 +5568,13 @@ var curatedSiteStyles = [
|
|
|
4798
5568
|
},
|
|
4799
5569
|
recommendedAppearancePresetIds: [
|
|
4800
5570
|
"hero-split-editorial",
|
|
5571
|
+
"intro-portrait-bio",
|
|
4801
5572
|
"intro-organic-statement",
|
|
4802
|
-
"feature-cards-
|
|
5573
|
+
"feature-cards-soft-panels",
|
|
5574
|
+
"feature-cards-editorial-columns",
|
|
5575
|
+
"feature-cards-photo-tiles",
|
|
4803
5576
|
"media-text-quiet-story",
|
|
4804
|
-
"testimonials-
|
|
5577
|
+
"testimonials-non-carded",
|
|
4805
5578
|
"faq-contained-help",
|
|
4806
5579
|
"contact-form-panel"
|
|
4807
5580
|
],
|
|
@@ -4811,8 +5584,9 @@ var curatedSiteStyles = [
|
|
|
4811
5584
|
"minimal-transparent"
|
|
4812
5585
|
],
|
|
4813
5586
|
recommendedFooterLookIds: [
|
|
4814
|
-
"footer-
|
|
4815
|
-
"
|
|
5587
|
+
"footer-centered-calm",
|
|
5588
|
+
"footer-editorial-columns",
|
|
5589
|
+
"footer-muted-grounding"
|
|
4816
5590
|
],
|
|
4817
5591
|
buttonPersonalityChoices: [
|
|
4818
5592
|
buttonChoice("soft-pill"),
|
|
@@ -4820,7 +5594,7 @@ var curatedSiteStyles = [
|
|
|
4820
5594
|
buttonChoice("editorial-link")
|
|
4821
5595
|
],
|
|
4822
5596
|
paletteVariantChoices: [
|
|
4823
|
-
paletteChoice("
|
|
5597
|
+
paletteChoice("soft-natural-lilac"),
|
|
4824
5598
|
paletteChoice("soft-natural-watercolor"),
|
|
4825
5599
|
paletteChoice("soft-natural-stone"),
|
|
4826
5600
|
paletteChoice("warm-neutral-cream")
|
|
@@ -4829,6 +5603,11 @@ var curatedSiteStyles = [
|
|
|
4829
5603
|
defineCuratedSiteStyle({
|
|
4830
5604
|
id: "site-style:personal-retreat-journal",
|
|
4831
5605
|
name: "Personal Retreat Journal",
|
|
5606
|
+
themeOverrides: {
|
|
5607
|
+
accordions: editorialDividedAccordionSystem,
|
|
5608
|
+
testimonialQuote: serifDisplayQuote
|
|
5609
|
+
},
|
|
5610
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
4832
5611
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
4833
5612
|
generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
|
|
4834
5613
|
siteCreatorSelection: {
|
|
@@ -4873,6 +5652,11 @@ var curatedSiteStyles = [
|
|
|
4873
5652
|
defineCuratedSiteStyle({
|
|
4874
5653
|
id: "site-style:tactile-workshop",
|
|
4875
5654
|
name: "Tactile Workshop",
|
|
5655
|
+
themeOverrides: {
|
|
5656
|
+
accordions: warmInsetAccordionSystem,
|
|
5657
|
+
testimonialQuote: accentGlyphQuote
|
|
5658
|
+
},
|
|
5659
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
4876
5660
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
4877
5661
|
generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
|
|
4878
5662
|
siteCreatorSelection: {
|
|
@@ -4923,6 +5707,7 @@ var curatedSiteStyles = [
|
|
|
4923
5707
|
defineCuratedSiteStyle({
|
|
4924
5708
|
id: SOFT_EARTH_SITE_STYLE_ID,
|
|
4925
5709
|
name: "Soft Earth",
|
|
5710
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
4926
5711
|
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
4927
5712
|
generationBrief: "Use cream space, terracotta CTAs, olive quote bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community quotes, and an FAQ with a full-width intro above two columns of questions when content allows.",
|
|
4928
5713
|
siteCreatorSelection: {
|
|
@@ -4995,7 +5780,8 @@ var curatedSiteStyles = [
|
|
|
4995
5780
|
headingSize: "editorial"
|
|
4996
5781
|
}
|
|
4997
5782
|
},
|
|
4998
|
-
accordions: softEarthAccordionSystem
|
|
5783
|
+
accordions: softEarthAccordionSystem,
|
|
5784
|
+
testimonialQuote: accentGlyphQuote
|
|
4999
5785
|
},
|
|
5000
5786
|
defaultBlockVariants: {
|
|
5001
5787
|
"block.faq": "question-columns"
|
|
@@ -5005,7 +5791,7 @@ var curatedSiteStyles = [
|
|
|
5005
5791
|
"intro-organic-statement",
|
|
5006
5792
|
"feature-cards-raised-rule",
|
|
5007
5793
|
"events-lined-panel",
|
|
5008
|
-
"testimonials-
|
|
5794
|
+
"testimonials-non-carded",
|
|
5009
5795
|
"contact-form-panel"
|
|
5010
5796
|
],
|
|
5011
5797
|
recommendedHeaderLookIds: [
|
|
@@ -5033,6 +5819,11 @@ var curatedSiteStyles = [
|
|
|
5033
5819
|
defineCuratedSiteStyle({
|
|
5034
5820
|
id: "site-style:bold-launch",
|
|
5035
5821
|
name: "Bold Launch",
|
|
5822
|
+
themeOverrides: {
|
|
5823
|
+
accordions: boldBorderedAccordionSystem,
|
|
5824
|
+
testimonialQuote: accentGlyphQuote
|
|
5825
|
+
},
|
|
5826
|
+
headingDecoration: { family: "short-center-rule", colorToken: "primary" },
|
|
5036
5827
|
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
5037
5828
|
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
5038
5829
|
siteCreatorSelection: {
|
|
@@ -5078,6 +5869,7 @@ var curatedSiteStyles = [
|
|
|
5078
5869
|
defineCuratedSiteStyle({
|
|
5079
5870
|
id: "site-style:south-west-twerk-school",
|
|
5080
5871
|
name: "South West Twerk School",
|
|
5872
|
+
headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
|
|
5081
5873
|
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
5082
5874
|
generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
|
|
5083
5875
|
tokenRecipes: {
|
|
@@ -5097,6 +5889,9 @@ var curatedSiteStyles = [
|
|
|
5097
5889
|
],
|
|
5098
5890
|
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
5099
5891
|
themeOverrides: {
|
|
5892
|
+
accordions: boldBorderedAccordionSystem,
|
|
5893
|
+
cards: southWestCardSystem,
|
|
5894
|
+
testimonialQuote: accentGlyphQuote,
|
|
5100
5895
|
bodyText: {
|
|
5101
5896
|
intro: {
|
|
5102
5897
|
paragraphSize: "editorial",
|
|
@@ -5109,7 +5904,7 @@ var curatedSiteStyles = [
|
|
|
5109
5904
|
"hero-brand-scrim-fixed-frame",
|
|
5110
5905
|
"body-text-editorial-intro",
|
|
5111
5906
|
"schedule-details-brand-depth",
|
|
5112
|
-
"testimonials-
|
|
5907
|
+
"testimonials-statement-cards",
|
|
5113
5908
|
"contact-form-brand-depth-card"
|
|
5114
5909
|
],
|
|
5115
5910
|
recommendedHeaderLookIds: [
|
|
@@ -5812,14 +6607,77 @@ ${root} {
|
|
|
5812
6607
|
}
|
|
5813
6608
|
|
|
5814
6609
|
// ../theme-core/src/blocks/vars/testimonials.ts
|
|
5815
|
-
|
|
6610
|
+
var QUOTE_SCALE_SIZE = {
|
|
6611
|
+
sm: "2.5rem",
|
|
6612
|
+
md: "3.5rem",
|
|
6613
|
+
// 4.375rem == 3.5rem * 1.25, matching the legacy accent-quote mark size.
|
|
6614
|
+
lg: "4.375rem",
|
|
6615
|
+
xl: "clamp(3.5rem, 2rem + 4vw, 5.5rem)"
|
|
6616
|
+
};
|
|
6617
|
+
function resolveTestimonialQuoteVars(treatment) {
|
|
6618
|
+
if (!treatment) {
|
|
6619
|
+
return {
|
|
6620
|
+
size: QUOTE_SCALE_SIZE.md,
|
|
6621
|
+
opacity: "0.08",
|
|
6622
|
+
color: "rgb(var(--tb-primary))",
|
|
6623
|
+
font: "inherit",
|
|
6624
|
+
weight: "700",
|
|
6625
|
+
display: "block"
|
|
6626
|
+
};
|
|
6627
|
+
}
|
|
6628
|
+
if (treatment.style === "none") {
|
|
6629
|
+
return {
|
|
6630
|
+
size: QUOTE_SCALE_SIZE.md,
|
|
6631
|
+
opacity: "0",
|
|
6632
|
+
color: "rgb(var(--tb-primary))",
|
|
6633
|
+
font: "inherit",
|
|
6634
|
+
weight: "700",
|
|
6635
|
+
display: "none"
|
|
6636
|
+
};
|
|
6637
|
+
}
|
|
6638
|
+
const base = treatment.style === "serif-display" ? {
|
|
6639
|
+
fontFamily: "heading",
|
|
6640
|
+
scale: "xl",
|
|
6641
|
+
colorToken: "primary",
|
|
6642
|
+
opacity: 1
|
|
6643
|
+
} : {
|
|
6644
|
+
// accent-glyph
|
|
6645
|
+
fontFamily: "body",
|
|
6646
|
+
scale: "lg",
|
|
6647
|
+
colorToken: "secondary",
|
|
6648
|
+
opacity: 1
|
|
6649
|
+
};
|
|
6650
|
+
const fontFamily = treatment.fontFamily ?? base.fontFamily;
|
|
6651
|
+
const scale = treatment.scale ?? base.scale;
|
|
6652
|
+
const colorToken = treatment.colorToken ?? base.colorToken;
|
|
6653
|
+
const opacity = treatment.opacity ?? base.opacity;
|
|
6654
|
+
return {
|
|
6655
|
+
size: QUOTE_SCALE_SIZE[scale],
|
|
6656
|
+
opacity: String(opacity),
|
|
6657
|
+
color: rgbColorValue(colorToken),
|
|
6658
|
+
font: fontFamily === "heading" ? "var(--font-heading)" : "var(--font-body, inherit)",
|
|
6659
|
+
// Heading-font display marks render at the family's natural weight (Forum
|
|
6660
|
+
// ships a single 400) to avoid synthetic bold; glyph marks stay heavy.
|
|
6661
|
+
weight: fontFamily === "heading" ? "400" : "700",
|
|
6662
|
+
display: "block"
|
|
6663
|
+
};
|
|
6664
|
+
}
|
|
6665
|
+
function generateTestimonialsVars({
|
|
6666
|
+
themeId,
|
|
6667
|
+
theme
|
|
6668
|
+
}) {
|
|
5816
6669
|
const root = `:where([data-theme-scope="${themeId}"]) :where([data-block="testimonials"])`;
|
|
6670
|
+
const quote = resolveTestimonialQuoteVars(theme.testimonialQuote);
|
|
5817
6671
|
return `
|
|
5818
6672
|
${root} {
|
|
5819
6673
|
--rb-testimonial-avatar-size: 3rem;
|
|
5820
6674
|
--rb-testimonial-avatar-border-radius: 9999px;
|
|
5821
|
-
--rb-testimonial-quote-size:
|
|
5822
|
-
--rb-testimonial-quote-opacity:
|
|
6675
|
+
--rb-testimonial-quote-size: ${quote.size};
|
|
6676
|
+
--rb-testimonial-quote-opacity: ${quote.opacity};
|
|
6677
|
+
--rb-testimonial-quote-color: ${quote.color};
|
|
6678
|
+
--rb-testimonial-quote-font: ${quote.font};
|
|
6679
|
+
--rb-testimonial-quote-weight: ${quote.weight};
|
|
6680
|
+
--rb-testimonial-quote-display: ${quote.display};
|
|
5823
6681
|
|
|
5824
6682
|
/* Carousel arrows (defaults: primary background + onPrimary icon) */
|
|
5825
6683
|
--rb-testimonial-carousel-arrow-bg: rgb(var(--tb-primary));
|
|
@@ -7616,41 +8474,52 @@ var containerResponsiveThemeCss = `/*
|
|
|
7616
8474
|
}
|
|
7617
8475
|
|
|
7618
8476
|
.rb-container-pad-none {
|
|
7619
|
-
|
|
8477
|
+
--rb-card-pad: 0rem;
|
|
8478
|
+
padding: var(--rb-card-pad);
|
|
7620
8479
|
}
|
|
7621
8480
|
.rb-container-pad-compact {
|
|
7622
|
-
|
|
8481
|
+
--rb-card-pad: 1rem;
|
|
8482
|
+
padding: var(--rb-card-pad);
|
|
7623
8483
|
}
|
|
7624
8484
|
.rb-container-pad-cozy {
|
|
7625
|
-
|
|
8485
|
+
--rb-card-pad: 1.5rem;
|
|
8486
|
+
padding: var(--rb-card-pad);
|
|
7626
8487
|
}
|
|
7627
8488
|
.rb-container-pad-medium {
|
|
7628
|
-
|
|
8489
|
+
--rb-card-pad: 1.5rem;
|
|
8490
|
+
padding: var(--rb-card-pad);
|
|
7629
8491
|
}
|
|
7630
8492
|
.rb-container-pad-comfortable {
|
|
7631
|
-
|
|
8493
|
+
--rb-card-pad: 2rem;
|
|
8494
|
+
padding: var(--rb-card-pad);
|
|
7632
8495
|
}
|
|
7633
8496
|
.rb-container-pad-spacious {
|
|
7634
|
-
|
|
8497
|
+
--rb-card-pad: 2.5rem;
|
|
8498
|
+
padding: var(--rb-card-pad);
|
|
7635
8499
|
}
|
|
7636
8500
|
|
|
7637
8501
|
@container rb-site (min-width: 640px) {
|
|
7638
8502
|
|
|
7639
8503
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
7640
8504
|
.rb-container-pad-compact {
|
|
7641
|
-
|
|
8505
|
+
--rb-card-pad: 1.5rem;
|
|
8506
|
+
padding: var(--rb-card-pad);
|
|
7642
8507
|
}
|
|
7643
8508
|
.rb-container-pad-cozy {
|
|
7644
|
-
|
|
8509
|
+
--rb-card-pad: 2rem;
|
|
8510
|
+
padding: var(--rb-card-pad);
|
|
7645
8511
|
}
|
|
7646
8512
|
.rb-container-pad-medium {
|
|
7647
|
-
|
|
8513
|
+
--rb-card-pad: 2rem;
|
|
8514
|
+
padding: var(--rb-card-pad);
|
|
7648
8515
|
}
|
|
7649
8516
|
.rb-container-pad-comfortable {
|
|
7650
|
-
|
|
8517
|
+
--rb-card-pad: 2.5rem;
|
|
8518
|
+
padding: var(--rb-card-pad);
|
|
7651
8519
|
}
|
|
7652
8520
|
.rb-container-pad-spacious {
|
|
7653
|
-
|
|
8521
|
+
--rb-card-pad: 3.5rem;
|
|
8522
|
+
padding: var(--rb-card-pad);
|
|
7654
8523
|
}
|
|
7655
8524
|
}
|
|
7656
8525
|
|
|
@@ -7825,8 +8694,15 @@ var containerResponsiveThemeCss = `/*
|
|
|
7825
8694
|
/* Shared: Site document overlay header clearance */
|
|
7826
8695
|
/* -------------------------------------------------------------------------- */
|
|
7827
8696
|
|
|
7828
|
-
:where(.theme-scope)
|
|
7829
|
-
|
|
8697
|
+
:where(.theme-scope)
|
|
8698
|
+
:where([data-site-document-overlay-content='true'])
|
|
8699
|
+
:where([data-block]):first-of-type
|
|
8700
|
+
> :where([data-slot='section'])
|
|
8701
|
+
> :where(.rb-container) {
|
|
8702
|
+
padding-top: calc(
|
|
8703
|
+
var(--site-overlay-header-clearance, 0px) +
|
|
8704
|
+
var(--site-overlay-opening-content-extra-pad, 0px)
|
|
8705
|
+
);
|
|
7830
8706
|
}
|
|
7831
8707
|
|
|
7832
8708
|
/* -------------------------------------------------------------------------- */
|
|
@@ -7912,6 +8788,22 @@ var containerResponsiveThemeCss = `/*
|
|
|
7912
8788
|
}
|
|
7913
8789
|
}
|
|
7914
8790
|
|
|
8791
|
+
/* -------------------------------------------------------------------------- */
|
|
8792
|
+
/* Header: Mobile floating/glass backing */
|
|
8793
|
+
/* -------------------------------------------------------------------------- */
|
|
8794
|
+
|
|
8795
|
+
:where(.theme-scope) .header-variant-floating .header-mobile-bar {
|
|
8796
|
+
align-items: flex-start;
|
|
8797
|
+
margin-top: 0.75rem;
|
|
8798
|
+
}
|
|
8799
|
+
|
|
8800
|
+
:where(.theme-scope) .header-variant-floating .nav-mobile-toggle {
|
|
8801
|
+
border: 1px solid rgb(var(--tb-border) / 0.82);
|
|
8802
|
+
background: rgb(var(--tb-surface) / 0.96);
|
|
8803
|
+
color: rgb(var(--tb-text));
|
|
8804
|
+
box-shadow: 0 10px 28px rgb(var(--tb-neutral-950) / 0.12);
|
|
8805
|
+
}
|
|
8806
|
+
|
|
7915
8807
|
/*
|
|
7916
8808
|
* Theme Scope Styles
|
|
7917
8809
|
*
|
|
@@ -8848,6 +9740,56 @@ var containerResponsiveThemeCss = `/*
|
|
|
8848
9740
|
transition: height 300ms var(--motion-ease, ease);
|
|
8849
9741
|
}
|
|
8850
9742
|
|
|
9743
|
+
:where(.theme-scope) .header-logo-size-compact.rb-header-logo-sm {
|
|
9744
|
+
height: 2rem;
|
|
9745
|
+
}
|
|
9746
|
+
:where(.theme-scope) .header-logo-size-compact.rb-header-logo-lg {
|
|
9747
|
+
height: 2.5rem;
|
|
9748
|
+
}
|
|
9749
|
+
:where(.theme-scope) .header-logo-size-standard.rb-header-logo-sm {
|
|
9750
|
+
height: 2.5rem;
|
|
9751
|
+
}
|
|
9752
|
+
:where(.theme-scope) .header-logo-size-standard.rb-header-logo-lg {
|
|
9753
|
+
height: 3rem;
|
|
9754
|
+
}
|
|
9755
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-sm {
|
|
9756
|
+
height: 3.5rem;
|
|
9757
|
+
}
|
|
9758
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-lg {
|
|
9759
|
+
height: 4.5rem;
|
|
9760
|
+
}
|
|
9761
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-sm {
|
|
9762
|
+
height: 7.5rem;
|
|
9763
|
+
}
|
|
9764
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-lg {
|
|
9765
|
+
height: 8rem;
|
|
9766
|
+
}
|
|
9767
|
+
|
|
9768
|
+
:where(.theme-scope) .header-logo-accommodation-plate,
|
|
9769
|
+
:where(.theme-scope) .header-logo-accommodation-centered-badge,
|
|
9770
|
+
:where(.theme-scope) .header-logo-accommodation-popout-badge,
|
|
9771
|
+
:where(.theme-scope) .header-logo-accommodation-centered-masthead {
|
|
9772
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
9773
|
+
background: var(--color-surface, #fff);
|
|
9774
|
+
box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0 / 0.08));
|
|
9775
|
+
padding: 0.5rem;
|
|
9776
|
+
}
|
|
9777
|
+
|
|
9778
|
+
:where(.theme-scope) .header-logo-accommodation-popout-badge {
|
|
9779
|
+
position: relative;
|
|
9780
|
+
z-index: 1;
|
|
9781
|
+
margin-block: -0.35rem -0.9rem;
|
|
9782
|
+
}
|
|
9783
|
+
|
|
9784
|
+
:where(.theme-scope)
|
|
9785
|
+
.header-logo-size-display.header-logo-accommodation-popout-badge {
|
|
9786
|
+
margin-block: -0.75rem -2rem;
|
|
9787
|
+
}
|
|
9788
|
+
|
|
9789
|
+
:where(.theme-scope) .header-logo-accommodation-centered-masthead {
|
|
9790
|
+
padding: 0.75rem 1rem;
|
|
9791
|
+
}
|
|
9792
|
+
|
|
8851
9793
|
/* Site title base font size (replaces rb-text-lg / rb-text-xl utilities) */
|
|
8852
9794
|
:where(.theme-scope) .header-logo-text {
|
|
8853
9795
|
font-size: 1.125rem; /* matches rb-text-lg */
|
|
@@ -8886,13 +9828,45 @@ var containerResponsiveThemeCss = `/*
|
|
|
8886
9828
|
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-logo-lg {
|
|
8887
9829
|
height: 2.5rem;
|
|
8888
9830
|
}
|
|
9831
|
+
:where(.theme-scope)
|
|
9832
|
+
.rb-header-shrink.header-scrolled
|
|
9833
|
+
.header-logo-size-generous.rb-header-logo-sm {
|
|
9834
|
+
height: 2.75rem;
|
|
9835
|
+
}
|
|
9836
|
+
:where(.theme-scope)
|
|
9837
|
+
.rb-header-shrink.header-scrolled
|
|
9838
|
+
.header-logo-size-generous.rb-header-logo-lg {
|
|
9839
|
+
height: 3.25rem;
|
|
9840
|
+
}
|
|
9841
|
+
:where(.theme-scope)
|
|
9842
|
+
.rb-header-shrink.header-scrolled
|
|
9843
|
+
.header-logo-size-display.rb-header-logo-sm,
|
|
9844
|
+
:where(.theme-scope)
|
|
9845
|
+
.rb-header-shrink.header-scrolled
|
|
9846
|
+
.header-logo-size-display.rb-header-logo-lg {
|
|
9847
|
+
height: 5rem;
|
|
9848
|
+
}
|
|
8889
9849
|
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
8890
9850
|
font-size: 0.875rem;
|
|
8891
9851
|
}
|
|
8892
9852
|
|
|
8893
9853
|
@container rb-site (max-width: 767px) {
|
|
8894
9854
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
8895
|
-
:where(.theme-scope) .
|
|
9855
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-sm,
|
|
9856
|
+
:where(.theme-scope) .header-logo-size-generous.rb-header-logo-lg {
|
|
9857
|
+
height: 3rem;
|
|
9858
|
+
}
|
|
9859
|
+
|
|
9860
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-sm,
|
|
9861
|
+
:where(.theme-scope) .header-logo-size-display.rb-header-logo-lg {
|
|
9862
|
+
height: 5.5rem;
|
|
9863
|
+
}
|
|
9864
|
+
|
|
9865
|
+
:where(.theme-scope) .header-logo-accommodation-popout-badge {
|
|
9866
|
+
margin-block: 0;
|
|
9867
|
+
}
|
|
9868
|
+
|
|
9869
|
+
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
8896
9870
|
font-size: 0.75rem;
|
|
8897
9871
|
}
|
|
8898
9872
|
}
|
|
@@ -13682,11 +14656,13 @@ var containerResponsiveThemeCss = `/*
|
|
|
13682
14656
|
}
|
|
13683
14657
|
|
|
13684
14658
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-quote {
|
|
14659
|
+
display: var(--rb-testimonial-quote-display, block);
|
|
14660
|
+
font-family: var(--rb-testimonial-quote-font, inherit);
|
|
13685
14661
|
font-size: var(--rb-testimonial-quote-size);
|
|
13686
14662
|
line-height: 1;
|
|
13687
|
-
font-weight: 700;
|
|
14663
|
+
font-weight: var(--rb-testimonial-quote-weight, 700);
|
|
13688
14664
|
opacity: var(--rb-testimonial-quote-opacity);
|
|
13689
|
-
color: rgb(var(--tb-primary));
|
|
14665
|
+
color: var(--rb-testimonial-quote-color, rgb(var(--tb-primary)));
|
|
13690
14666
|
}
|
|
13691
14667
|
|
|
13692
14668
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-accent-quote .rb-testimonial-quote {
|
|
@@ -13695,6 +14671,61 @@ var containerResponsiveThemeCss = `/*
|
|
|
13695
14671
|
opacity: 1;
|
|
13696
14672
|
}
|
|
13697
14673
|
|
|
14674
|
+
/* Open editorial testimonial card: boxless, with a hairline rule before the
|
|
14675
|
+
* attribution, an accent ring on the avatar, and comfortable prose. The quote
|
|
14676
|
+
* mark itself is owned by the site-style quote treatment (see the
|
|
14677
|
+
* --rb-testimonial-quote-* vars), not by these rules.
|
|
14678
|
+
*
|
|
14679
|
+
* \`editorial-open\` is the current non-carded look; \`editorial-serif-quote\` is
|
|
14680
|
+
* retained for content saved before the decomposition. */
|
|
14681
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-card.rb-card-treatment-editorial-open,
|
|
14682
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-card.rb-card-treatment-editorial-serif-quote {
|
|
14683
|
+
background: transparent;
|
|
14684
|
+
border: 0;
|
|
14685
|
+
border-radius: 0;
|
|
14686
|
+
padding: 0.25rem clamp(0.5rem, 1.5vw, 1.5rem);
|
|
14687
|
+
}
|
|
14688
|
+
|
|
14689
|
+
/* styledCard always renders an inner white rb-bg-surface fill layer; a boxless
|
|
14690
|
+
* card must clear it so the section band shows through (otherwise: white box). */
|
|
14691
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open > .rb-bg-surface,
|
|
14692
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote > .rb-bg-surface {
|
|
14693
|
+
background: transparent;
|
|
14694
|
+
}
|
|
14695
|
+
|
|
14696
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open .rb-prose,
|
|
14697
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote .rb-prose {
|
|
14698
|
+
font-size: 1.0625rem;
|
|
14699
|
+
line-height: 1.7;
|
|
14700
|
+
}
|
|
14701
|
+
|
|
14702
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open .rb-testimonial-attribution,
|
|
14703
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote .rb-testimonial-attribution {
|
|
14704
|
+
margin-top: 1.25rem;
|
|
14705
|
+
padding-top: 1.25rem;
|
|
14706
|
+
border-top: 1px solid rgba(var(--tb-border), 0.75);
|
|
14707
|
+
}
|
|
14708
|
+
|
|
14709
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-open .rb-testimonial-avatar,
|
|
14710
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-editorial-serif-quote .rb-testimonial-avatar {
|
|
14711
|
+
box-shadow:
|
|
14712
|
+
0 0 0 2px rgb(var(--tb-surface)),
|
|
14713
|
+
0 0 0 4px rgba(var(--tb-primary), 0.3);
|
|
14714
|
+
}
|
|
14715
|
+
|
|
14716
|
+
|
|
14717
|
+
/* Split grid: title column + cards. On desktop the title takes one quarter and
|
|
14718
|
+
* the cards fill the remaining three quarters (so title + 3 cards each read as
|
|
14719
|
+
* a quarter). Stacks on mobile. */
|
|
14720
|
+
@container rb-site (min-width: 1024px) {
|
|
14721
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
14722
|
+
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-split-grid {
|
|
14723
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
14724
|
+
align-items: start;
|
|
14725
|
+
}
|
|
14726
|
+
}
|
|
14727
|
+
}
|
|
14728
|
+
|
|
13698
14729
|
|
|
13699
14730
|
/* Testimonials carousel tweaks: arrow styling + gutters + equal-height cards */
|
|
13700
14731
|
:where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-carousel.carousel-root .carousel-nav-btn {
|
|
@@ -15180,10 +16211,10 @@ var containerResponsiveThemeCss = `/*
|
|
|
15180
16211
|
|
|
15181
16212
|
:where(.theme-scope) .event-compact-row {
|
|
15182
16213
|
display: grid;
|
|
15183
|
-
grid-template-columns: clamp(
|
|
16214
|
+
grid-template-columns: clamp(5rem, 7vw, 7rem) minmax(0, 1fr) clamp(15rem, 24vw, 21rem);
|
|
15184
16215
|
align-items: center;
|
|
15185
|
-
min-height:
|
|
15186
|
-
padding: 1.
|
|
16216
|
+
min-height: 6.75rem;
|
|
16217
|
+
padding: 1.35rem clamp(1.5rem, 3vw, 2.6rem);
|
|
15187
16218
|
border-bottom: 1px solid var(--event-compact-divider-color);
|
|
15188
16219
|
transition: background-color 150ms ease;
|
|
15189
16220
|
}
|
|
@@ -15222,10 +16253,10 @@ var containerResponsiveThemeCss = `/*
|
|
|
15222
16253
|
:where(.theme-scope) .event-compact-row-date-day {
|
|
15223
16254
|
display: grid;
|
|
15224
16255
|
place-items: center;
|
|
15225
|
-
min-block-size: clamp(
|
|
16256
|
+
min-block-size: clamp(2rem, 3vw, 2.6rem);
|
|
15226
16257
|
color: rgb(var(--tb-text, 17 24 39));
|
|
15227
16258
|
font-family: var(--font-heading, var(--font-body, inherit));
|
|
15228
|
-
font-size: clamp(
|
|
16259
|
+
font-size: clamp(1.7rem, 1.35rem + 1.1vw, 2.35rem);
|
|
15229
16260
|
font-weight: 400;
|
|
15230
16261
|
line-height: 1;
|
|
15231
16262
|
}
|
|
@@ -15245,9 +16276,10 @@ var containerResponsiveThemeCss = `/*
|
|
|
15245
16276
|
margin: 0;
|
|
15246
16277
|
color: rgb(var(--tb-text, 17 24 39));
|
|
15247
16278
|
font-family: var(--font-heading, var(--font-body, inherit));
|
|
15248
|
-
|
|
16279
|
+
/* Row titles sit at the theme's h3 scale so section headings stay dominant */
|
|
16280
|
+
font-size: var(--fs-h3-fluid, clamp(1.1rem, 1rem + 0.7vw, 1.5rem));
|
|
15249
16281
|
font-weight: 400;
|
|
15250
|
-
line-height: 1.
|
|
16282
|
+
line-height: 1.2;
|
|
15251
16283
|
overflow: hidden;
|
|
15252
16284
|
text-overflow: ellipsis;
|
|
15253
16285
|
white-space: nowrap;
|
|
@@ -15360,7 +16392,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
15360
16392
|
}
|
|
15361
16393
|
|
|
15362
16394
|
:where(.theme-scope) .event-compact-row-date-day {
|
|
15363
|
-
font-size:
|
|
16395
|
+
font-size: 1.85rem;
|
|
15364
16396
|
}
|
|
15365
16397
|
|
|
15366
16398
|
:where(.theme-scope) .event-compact-row-content {
|
|
@@ -15370,7 +16402,7 @@ var containerResponsiveThemeCss = `/*
|
|
|
15370
16402
|
}
|
|
15371
16403
|
|
|
15372
16404
|
:where(.theme-scope) .event-compact-row-title {
|
|
15373
|
-
font-size: clamp(1.
|
|
16405
|
+
font-size: clamp(1.15rem, 5vw, 1.35rem);
|
|
15374
16406
|
white-space: normal;
|
|
15375
16407
|
}
|
|
15376
16408
|
|
|
@@ -15450,19 +16482,23 @@ var containerResponsiveThemeCss = `/*
|
|
|
15450
16482
|
* =============================================================================
|
|
15451
16483
|
*/
|
|
15452
16484
|
|
|
15453
|
-
|
|
16485
|
+
/*
|
|
16486
|
+
* The mark sits inside a full-width block row so it inherits the heading group's
|
|
16487
|
+
* \`text-align\`: a centred heading centres the mark, a left-aligned heading keeps
|
|
16488
|
+
* it at the start. The heading stacks are flexbox, where \`text-align\` positions
|
|
16489
|
+
* inline content but not flex items \u2014 so the row (a stretched block flex item)
|
|
16490
|
+
* is what carries the alignment, and the inline-block mark follows it. Alignment
|
|
16491
|
+
* is never configured directly; it follows the heading.
|
|
16492
|
+
*/
|
|
16493
|
+
:where(.theme-scope) .rb-heading-decoration-row {
|
|
15454
16494
|
display: block;
|
|
15455
|
-
|
|
15456
|
-
pointer-events: none;
|
|
15457
|
-
}
|
|
15458
|
-
|
|
15459
|
-
:where(.theme-scope) .rb-heading-decoration-placement-after-heading {
|
|
16495
|
+
width: 100%;
|
|
15460
16496
|
margin-top: 0.35rem;
|
|
16497
|
+
pointer-events: none;
|
|
15461
16498
|
}
|
|
15462
16499
|
|
|
15463
|
-
:where(.theme-scope) .rb-heading-decoration
|
|
15464
|
-
|
|
15465
|
-
margin-right: auto;
|
|
16500
|
+
:where(.theme-scope) .rb-heading-decoration {
|
|
16501
|
+
display: inline-block;
|
|
15466
16502
|
}
|
|
15467
16503
|
|
|
15468
16504
|
:where(.theme-scope) .rb-heading-decoration-organic-squiggle {
|
|
@@ -15558,6 +16594,96 @@ var containerResponsiveThemeCss = `/*
|
|
|
15558
16594
|
:where(.theme-scope) .rb-feature-card-icon-zone--plain .rb-feature-card-icon {
|
|
15559
16595
|
width: 1.5rem;
|
|
15560
16596
|
height: 1.5rem;
|
|
16597
|
+
}
|
|
16598
|
+
|
|
16599
|
+
/* =============================================================================
|
|
16600
|
+
* Shared: Card treatments
|
|
16601
|
+
*
|
|
16602
|
+
* Visual treatments referenced from \`_cardStyles.treatment\` (see
|
|
16603
|
+
* cardStylesOverrideSchema). Class names are emitted by the boxStyles
|
|
16604
|
+
* transform in @riverbankcms/blocks.
|
|
16605
|
+
*
|
|
16606
|
+
* Also contains feature-card media/padding behaviour shared by all looks:
|
|
16607
|
+
* - card images bleed to the card edges (flush photo tops)
|
|
16608
|
+
* - card-level padding replaces the content stack's fallback padding so the
|
|
16609
|
+
* two never stack up
|
|
16610
|
+
* ============================================================================= */
|
|
16611
|
+
|
|
16612
|
+
/* --- Feature card media + padding behaviour (all looks) -------------------- */
|
|
16613
|
+
|
|
16614
|
+
/*
|
|
16615
|
+
* When a look gives the card real padding (rb-container-pad-*), the image
|
|
16616
|
+
* bleeds to the card edges and the inner content stack drops its fallback
|
|
16617
|
+
* padding so insets don't double up.
|
|
16618
|
+
*/
|
|
16619
|
+
:where(.theme-scope) .rb-feature-card[class*="rb-container-pad-"]:not(.rb-container-pad-none) > .rb-feature-card-media {
|
|
16620
|
+
width: calc(100% + 2 * var(--rb-card-pad, 0rem));
|
|
16621
|
+
max-width: none;
|
|
16622
|
+
margin: calc(-1 * var(--rb-card-pad, 0rem)) calc(-1 * var(--rb-card-pad, 0rem)) 0;
|
|
16623
|
+
}
|
|
16624
|
+
|
|
16625
|
+
:where(.theme-scope) .rb-feature-card[class*="rb-container-pad-"]:not(.rb-container-pad-none) > .rb-feature-card-media + .rb-feature-card-content {
|
|
16626
|
+
margin-top: 1.4rem;
|
|
16627
|
+
}
|
|
16628
|
+
|
|
16629
|
+
:where(.theme-scope) .rb-feature-card[class*="rb-container-pad-"]:not(.rb-container-pad-none) > .rb-feature-card-content {
|
|
16630
|
+
padding: 0;
|
|
16631
|
+
}
|
|
16632
|
+
|
|
16633
|
+
/* --- Soft panel ------------------------------------------------------------ */
|
|
16634
|
+
|
|
16635
|
+
:where(.theme-scope) .rb-card-treatment-soft-panel {
|
|
16636
|
+
transition: transform 250ms ease, box-shadow 250ms ease;
|
|
16637
|
+
}
|
|
16638
|
+
|
|
16639
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
16640
|
+
:where(.theme-scope) .rb-card-treatment-soft-panel:hover {
|
|
16641
|
+
transform: translateY(-3px);
|
|
16642
|
+
box-shadow: 0 0.875rem 1.875rem rgba(var(--tb-shadow, 0 0 0), 0.1);
|
|
16643
|
+
}
|
|
16644
|
+
}
|
|
16645
|
+
|
|
16646
|
+
:where(.theme-scope) .rb-card-treatment-soft-panel .cta-row .button-ghost {
|
|
16647
|
+
padding-inline: 0;
|
|
16648
|
+
}
|
|
16649
|
+
|
|
16650
|
+
/* --- Editorial rule --------------------------------------------------------- */
|
|
16651
|
+
|
|
16652
|
+
/*
|
|
16653
|
+
* Boxless open column: no background, no border box, a short brand rule
|
|
16654
|
+
* sitting on a full-width hairline at the top of the column.
|
|
16655
|
+
*/
|
|
16656
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule {
|
|
16657
|
+
margin-top: 1rem;
|
|
16658
|
+
border-top: 1px solid
|
|
16659
|
+
color-mix(in oklab, rgb(var(--tb-border, 229 231 235)), transparent 25%);
|
|
16660
|
+
}
|
|
16661
|
+
|
|
16662
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule > .rb-bg-surface {
|
|
16663
|
+
background: transparent;
|
|
16664
|
+
}
|
|
16665
|
+
|
|
16666
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule::before {
|
|
16667
|
+
content: "";
|
|
16668
|
+
position: absolute;
|
|
16669
|
+
top: 0;
|
|
16670
|
+
left: 0;
|
|
16671
|
+
width: 2.75rem;
|
|
16672
|
+
height: 2px;
|
|
16673
|
+
background: rgb(var(--tb-primary, 0 0 0));
|
|
16674
|
+
}
|
|
16675
|
+
|
|
16676
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule > .rb-feature-card-media {
|
|
16677
|
+
margin-top: 1.6rem;
|
|
16678
|
+
border-radius: calc(var(--rb-block-radius, 0.75rem) * 0.5);
|
|
16679
|
+
}
|
|
16680
|
+
|
|
16681
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule > .rb-feature-card-content {
|
|
16682
|
+
padding: 1.6rem 0 0.25rem;
|
|
16683
|
+
}
|
|
16684
|
+
|
|
16685
|
+
:where(.theme-scope) .rb-card-treatment-editorial-rule .cta-row .button-ghost {
|
|
16686
|
+
padding-inline: 0;
|
|
15561
16687
|
}`;
|
|
15562
16688
|
|
|
15563
16689
|
// ../theme-core/src/ThemeScopeCore.tsx
|
|
@@ -15752,7 +16878,7 @@ var SITE_CHROME_VISIBLE_HEADER_SELECTOR = `[${SITE_CHROME_VISIBLE_HEADER_ATTR}="
|
|
|
15752
16878
|
import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
15753
16879
|
|
|
15754
16880
|
// ../theme-core/src/runtime/buildThemeRuntimeFromBridge.ts
|
|
15755
|
-
import { z as
|
|
16881
|
+
import { z as z19 } from "zod";
|
|
15756
16882
|
|
|
15757
16883
|
// ../theme-core/src/inputs/core.ts
|
|
15758
16884
|
var CORNER_RADIUS_MAP4 = {
|
|
@@ -15945,33 +17071,33 @@ var CSS_DECLARATION_PROPERTY_PATTERN = /^(?:-[a-zA-Z][a-zA-Z0-9-]*|[a-zA-Z][a-zA
|
|
|
15945
17071
|
var UNSAFE_CSS_MARKUP_PATTERN = /[{}<>]|<\/|<script/i;
|
|
15946
17072
|
var EXTERNAL_URL_PATTERN = /url\s*\(\s*['"]?(?:https?:|\/\/)/i;
|
|
15947
17073
|
var JAVASCRIPT_URL_PATTERN2 = /javascript\s*:/i;
|
|
15948
|
-
var themeBridgeConfigSchema =
|
|
15949
|
-
tokens:
|
|
15950
|
-
typography:
|
|
15951
|
-
headingFamily:
|
|
15952
|
-
bodyFamily:
|
|
15953
|
-
headingWeight:
|
|
15954
|
-
bodyWeight:
|
|
17074
|
+
var themeBridgeConfigSchema = z19.object({
|
|
17075
|
+
tokens: z19.record(z19.string(), z19.string()),
|
|
17076
|
+
typography: z19.object({
|
|
17077
|
+
headingFamily: z19.string().optional(),
|
|
17078
|
+
bodyFamily: z19.string().optional(),
|
|
17079
|
+
headingWeight: z19.number().optional(),
|
|
17080
|
+
bodyWeight: z19.number().optional()
|
|
15955
17081
|
}).optional(),
|
|
15956
|
-
spacing:
|
|
15957
|
-
corners:
|
|
15958
|
-
shadows:
|
|
15959
|
-
components:
|
|
15960
|
-
buttons:
|
|
15961
|
-
|
|
15962
|
-
|
|
15963
|
-
variants:
|
|
17082
|
+
spacing: z19.enum(["comfortable", "standard", "dense"]).optional(),
|
|
17083
|
+
corners: z19.enum(["square", "soft", "rounded", "pill"]).optional(),
|
|
17084
|
+
shadows: z19.enum(["none", "low", "medium", "high"]).optional(),
|
|
17085
|
+
components: z19.object({
|
|
17086
|
+
buttons: z19.union([
|
|
17087
|
+
z19.boolean(),
|
|
17088
|
+
z19.object({
|
|
17089
|
+
variants: z19.array(z19.enum(["primary", "secondary", "outline", "ghost"])).optional()
|
|
15964
17090
|
})
|
|
15965
17091
|
]).optional(),
|
|
15966
|
-
cards:
|
|
15967
|
-
|
|
15968
|
-
|
|
15969
|
-
variants:
|
|
17092
|
+
cards: z19.union([
|
|
17093
|
+
z19.boolean(),
|
|
17094
|
+
z19.object({
|
|
17095
|
+
variants: z19.array(z19.enum(["default", "elevated", "outlined"])).optional()
|
|
15970
17096
|
})
|
|
15971
17097
|
]).optional(),
|
|
15972
|
-
inputs:
|
|
17098
|
+
inputs: z19.boolean().optional()
|
|
15973
17099
|
}).optional(),
|
|
15974
|
-
overrides:
|
|
17100
|
+
overrides: z19.record(z19.string(), z19.string()).optional()
|
|
15975
17101
|
}).passthrough();
|
|
15976
17102
|
var TOKEN_ALIASES = [
|
|
15977
17103
|
{ source: "text", target: "foreground" },
|