@riverbankcms/sdk 0.77.0 → 0.77.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-DVUG7GK4.mjs} +2 -2
- package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-P7RN4CDS.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +40 -30
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
- package/dist/_dts/blocks/src/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
- package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -27
- package/dist/_dts/theme-core/src/schema.d.ts +26 -30
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +63 -33
- package/dist/{chunk-EAWHBECW.mjs → chunk-2SPENC5M.mjs} +5 -5
- package/dist/{chunk-GSQX43EZ.mjs → chunk-IENWFSLO.mjs} +22 -41
- package/dist/{chunk-WLQBJN2Z.mjs → chunk-KWJPDZH2.mjs} +1815 -1338
- package/dist/{chunk-ANKDYZ2E.mjs → chunk-ZYEJLCTN.mjs} +1 -1
- package/dist/cli/index.mjs +381 -176
- package/dist/client/client.mjs +1574 -1252
- package/dist/client/hooks.mjs +369 -170
- package/dist/client/rendering.mjs +1588 -1257
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-6UT2S7KZ.mjs} +4 -4
- package/dist/server/components.mjs +1561 -1239
- package/dist/server/config-validation.mjs +369 -170
- package/dist/server/config.mjs +369 -170
- package/dist/server/data.mjs +369 -170
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +1547 -1234
- package/dist/server/page-converter.mjs +362 -165
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1561 -1239
- package/dist/server/rendering.mjs +1561 -1239
- package/dist/server/routing.mjs +370 -171
- package/dist/server/server.mjs +370 -171
- package/dist/server/theme-bridge.mjs +1156 -1035
- package/dist/server/theme.mjs +79 -11
- package/dist/styles/index.css +1081 -1028
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
|
@@ -371,6 +371,11 @@ function toLocationCoordinates(value) {
|
|
|
371
371
|
};
|
|
372
372
|
}
|
|
373
373
|
|
|
374
|
+
// ../core/src/assert-never.ts
|
|
375
|
+
function assertNever(value, message = "Unexpected variant") {
|
|
376
|
+
throw new Error(`${message}: ${String(value)}`);
|
|
377
|
+
}
|
|
378
|
+
|
|
374
379
|
// ../core/src/planner.ts
|
|
375
380
|
var systemPlanningClock = {
|
|
376
381
|
now: () => Date.now()
|
|
@@ -1421,7 +1426,7 @@ var ALLOWED_URL_PROTOCOLS = ["http:", "https:"];
|
|
|
1421
1426
|
var DATE_PATTERN = /^(?<year>[1-9]\d{3})-(?<month>\d{2})-(?<day>\d{2})$/;
|
|
1422
1427
|
var TIME_PATTERN = /^(?<hours>[01]\d|2[0-3]):(?<minutes>[0-5]\d)$/;
|
|
1423
1428
|
var DATETIME_PATTERN = /^(?<date>[1-9]\d{3}-\d{2}-\d{2})T(?<time>(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d)(?:\.\d+)?(?<offset>Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;
|
|
1424
|
-
function
|
|
1429
|
+
function assertNever2(value) {
|
|
1425
1430
|
throw new Error(`Unhandled field validation variant: ${JSON.stringify(value)}`);
|
|
1426
1431
|
}
|
|
1427
1432
|
function validationContext(options = {}) {
|
|
@@ -1482,7 +1487,7 @@ function fieldIssueToMessage(issue2) {
|
|
|
1482
1487
|
case "invalidReference":
|
|
1483
1488
|
return `${issue2.label} must reference a valid item`;
|
|
1484
1489
|
default:
|
|
1485
|
-
return
|
|
1490
|
+
return assertNever2(issue2);
|
|
1486
1491
|
}
|
|
1487
1492
|
}
|
|
1488
1493
|
function pluralize(label, count) {
|
|
@@ -1597,7 +1602,7 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
1597
1602
|
case "entryPicker":
|
|
1598
1603
|
return makePlan("passthrough", "unknown", field, path, false, []);
|
|
1599
1604
|
default:
|
|
1600
|
-
return
|
|
1605
|
+
return assertNever2(field);
|
|
1601
1606
|
}
|
|
1602
1607
|
}
|
|
1603
1608
|
function deriveFieldValidationPlans(fields3, parentPath = []) {
|
|
@@ -1670,7 +1675,7 @@ function resolveSelectConstraintSource(field) {
|
|
|
1670
1675
|
case "sdk":
|
|
1671
1676
|
return { kind: "runtime", source: source.kind };
|
|
1672
1677
|
default:
|
|
1673
|
-
return
|
|
1678
|
+
return assertNever2(source);
|
|
1674
1679
|
}
|
|
1675
1680
|
}
|
|
1676
1681
|
function normalizeStoredContentValues(plans, content, options = {}) {
|
|
@@ -1705,7 +1710,7 @@ function normalizeStoredFieldValueWithContext(plan, value, ctx) {
|
|
|
1705
1710
|
case "passthrough":
|
|
1706
1711
|
return normalizeFieldValue(plan, value, ctx);
|
|
1707
1712
|
default:
|
|
1708
|
-
return
|
|
1713
|
+
return assertNever2(plan);
|
|
1709
1714
|
}
|
|
1710
1715
|
}
|
|
1711
1716
|
function normalizeStoredObjectChildren(children, value, ctx) {
|
|
@@ -1756,7 +1761,7 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
1756
1761
|
case "passthrough":
|
|
1757
1762
|
return value;
|
|
1758
1763
|
default:
|
|
1759
|
-
return
|
|
1764
|
+
return assertNever2(plan);
|
|
1760
1765
|
}
|
|
1761
1766
|
}
|
|
1762
1767
|
function normalizeObjectChildren(children, value, ctx) {
|
|
@@ -1817,7 +1822,7 @@ function validateNormalizedFieldValue(plan, value, ctx) {
|
|
|
1817
1822
|
case "passthrough":
|
|
1818
1823
|
return [];
|
|
1819
1824
|
default:
|
|
1820
|
-
return
|
|
1825
|
+
return assertNever2(plan);
|
|
1821
1826
|
}
|
|
1822
1827
|
}
|
|
1823
1828
|
function shouldRequireValue(plan, value, ctx) {
|
|
@@ -1848,15 +1853,15 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
1848
1853
|
case "maxLength":
|
|
1849
1854
|
return value.length > constraint.maximum ? [issue(plan, "tooLong", { maximum: constraint.maximum })] : [];
|
|
1850
1855
|
case "emailFormat":
|
|
1851
|
-
return
|
|
1856
|
+
return isCanonicalEmailValue(value) ? [] : [issue(plan, "invalidEmail")];
|
|
1852
1857
|
case "phoneFormat":
|
|
1853
|
-
return
|
|
1858
|
+
return isCanonicalPhoneValue(value) ? [] : [issue(plan, "invalidPhone")];
|
|
1854
1859
|
case "patternFormat": {
|
|
1855
1860
|
const re = compilePattern(constraint.pattern);
|
|
1856
1861
|
return re && !re.test(value) ? [issue(plan, "invalidPattern")] : [];
|
|
1857
1862
|
}
|
|
1858
1863
|
case "urlFormat":
|
|
1859
|
-
return
|
|
1864
|
+
return isCanonicalUrlValue(value, { allowRelative: constraint.allowRelative }) ? [] : [issue(plan, "invalidUrl")];
|
|
1860
1865
|
case "dateFormat":
|
|
1861
1866
|
return isValidDateString(value) ? [] : [issue(plan, "invalidDate")];
|
|
1862
1867
|
case "timeFormat":
|
|
@@ -1866,7 +1871,7 @@ function validateStringConstraint(plan, constraint, value) {
|
|
|
1866
1871
|
case "slugFormat":
|
|
1867
1872
|
return SLUG_PATTERN.test(value) ? [] : [issue(plan, "invalidSlug")];
|
|
1868
1873
|
default:
|
|
1869
|
-
return
|
|
1874
|
+
return assertNever2(constraint);
|
|
1870
1875
|
}
|
|
1871
1876
|
}
|
|
1872
1877
|
function validateNumberPlan(plan, value) {
|
|
@@ -1883,7 +1888,7 @@ function validateNumberConstraint(plan, constraint, value) {
|
|
|
1883
1888
|
case "numberMax":
|
|
1884
1889
|
return value > constraint.maximum ? [issue(plan, "tooLarge", { maximum: constraint.maximum })] : [];
|
|
1885
1890
|
default:
|
|
1886
|
-
return
|
|
1891
|
+
return assertNever2(constraint);
|
|
1887
1892
|
}
|
|
1888
1893
|
}
|
|
1889
1894
|
function validateSelectPlan(plan, value) {
|
|
@@ -1913,7 +1918,7 @@ function validateRepeaterPlan(plan, value, ctx) {
|
|
|
1913
1918
|
})
|
|
1914
1919
|
] : [];
|
|
1915
1920
|
default:
|
|
1916
|
-
return
|
|
1921
|
+
return assertNever2(constraint);
|
|
1917
1922
|
}
|
|
1918
1923
|
});
|
|
1919
1924
|
return [...constraintIssues, ...value.flatMap((item, index) => validateRepeaterItem(plan, item, index, ctx))];
|
|
@@ -1975,7 +1980,7 @@ function rebaseFieldPlanPath(plan, fromPrefix, toPrefix) {
|
|
|
1975
1980
|
path
|
|
1976
1981
|
};
|
|
1977
1982
|
default:
|
|
1978
|
-
return
|
|
1983
|
+
return assertNever2(plan);
|
|
1979
1984
|
}
|
|
1980
1985
|
}
|
|
1981
1986
|
function rebaseFieldPath(path, fromPrefix, toPrefix) {
|
|
@@ -2062,7 +2067,7 @@ function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
|
2062
2067
|
zodCtx.addIssue({ ...issuePath, code: "custom", message });
|
|
2063
2068
|
return;
|
|
2064
2069
|
default:
|
|
2065
|
-
|
|
2070
|
+
assertNever2(validationIssue);
|
|
2066
2071
|
}
|
|
2067
2072
|
}
|
|
2068
2073
|
function relativeZodIssuePath(path, rootPath) {
|
|
@@ -2078,9 +2083,15 @@ function compilePattern(pattern) {
|
|
|
2078
2083
|
function isValidNumber(value) {
|
|
2079
2084
|
return typeof value === "number" && Number.isFinite(value);
|
|
2080
2085
|
}
|
|
2081
|
-
function
|
|
2086
|
+
function isCanonicalEmailValue(value) {
|
|
2087
|
+
return z4.email().safeParse(value).success;
|
|
2088
|
+
}
|
|
2089
|
+
function isCanonicalPhoneValue(value) {
|
|
2090
|
+
return TEL_RE.test(value);
|
|
2091
|
+
}
|
|
2092
|
+
function isCanonicalUrlValue(value, options = {}) {
|
|
2082
2093
|
if (!value) return false;
|
|
2083
|
-
if (allowRelative && value.startsWith("/")) return true;
|
|
2094
|
+
if (options.allowRelative === true && value.startsWith("/")) return true;
|
|
2084
2095
|
try {
|
|
2085
2096
|
const parsed = new URL(value);
|
|
2086
2097
|
return ALLOWED_URL_PROTOCOLS.includes(parsed.protocol);
|
|
@@ -6952,8 +6963,19 @@ var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
|
6952
6963
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
6953
6964
|
});
|
|
6954
6965
|
var proseLinkUnderlineStyleSchema = z22.enum(["solid", "dotted", "dashed"]);
|
|
6955
|
-
var proseLinkUnderlineThicknessSchema = z22.enum([
|
|
6956
|
-
|
|
6966
|
+
var proseLinkUnderlineThicknessSchema = z22.enum([
|
|
6967
|
+
"auto",
|
|
6968
|
+
"fromFont",
|
|
6969
|
+
"thin",
|
|
6970
|
+
"medium",
|
|
6971
|
+
"thick"
|
|
6972
|
+
]);
|
|
6973
|
+
var proseLinkUnderlineOffsetSchema = z22.enum([
|
|
6974
|
+
"auto",
|
|
6975
|
+
"tight",
|
|
6976
|
+
"normal",
|
|
6977
|
+
"loose"
|
|
6978
|
+
]);
|
|
6957
6979
|
var proseLinkStyleSchema = z22.object({
|
|
6958
6980
|
colorToken: themeColorTokenSchema.optional(),
|
|
6959
6981
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
@@ -6964,7 +6986,14 @@ var proseLinkStyleSchema = z22.object({
|
|
|
6964
6986
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
6965
6987
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
6966
6988
|
});
|
|
6967
|
-
var semanticSpacingSchema = z22.enum([
|
|
6989
|
+
var semanticSpacingSchema = z22.enum([
|
|
6990
|
+
"none",
|
|
6991
|
+
"compact",
|
|
6992
|
+
"cozy",
|
|
6993
|
+
"medium",
|
|
6994
|
+
"comfortable",
|
|
6995
|
+
"spacious"
|
|
6996
|
+
]);
|
|
6968
6997
|
var boxRoundedSchema = z22.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
6969
6998
|
var boxBackgroundOverlaySchema = z22.object({
|
|
6970
6999
|
type: z22.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
@@ -7108,9 +7137,17 @@ var inputStyle = z22.object({
|
|
|
7108
7137
|
focus: z22.enum(["glow", "ring", "underline"]),
|
|
7109
7138
|
label: z22.enum(["inside", "above"])
|
|
7110
7139
|
});
|
|
7111
|
-
var headerVariant = z22.enum(["classic", "centered", "transparent", "floating"
|
|
7140
|
+
var headerVariant = z22.enum(["classic", "centered", "transparent", "floating"]);
|
|
7112
7141
|
var headerPositioning = z22.enum(["static", "sticky", "fixed"]);
|
|
7113
|
-
var headerNavStyle = z22.enum([
|
|
7142
|
+
var headerNavStyle = z22.enum([
|
|
7143
|
+
"minimal",
|
|
7144
|
+
"underline",
|
|
7145
|
+
"underline-grow",
|
|
7146
|
+
"capsule",
|
|
7147
|
+
"scale",
|
|
7148
|
+
"frosted",
|
|
7149
|
+
"solid"
|
|
7150
|
+
]);
|
|
7114
7151
|
var navFontWeight = z22.enum(["regular", "medium", "semibold", "bold"]);
|
|
7115
7152
|
var headerMaxWidth = z22.enum(["container", "full"]);
|
|
7116
7153
|
var headerContainerSchema = z22.object({
|
|
@@ -7158,8 +7195,22 @@ var dropdownStyleSchema = z22.object({
|
|
|
7158
7195
|
textSize: z22.enum(["xs", "sm", "base", "lg"]).optional()
|
|
7159
7196
|
// optional = no override (browser default)
|
|
7160
7197
|
}).optional();
|
|
7161
|
-
var headerCtaGapSchema = z22.enum([
|
|
7162
|
-
|
|
7198
|
+
var headerCtaGapSchema = z22.enum([
|
|
7199
|
+
"none",
|
|
7200
|
+
"tight",
|
|
7201
|
+
"compact",
|
|
7202
|
+
"default",
|
|
7203
|
+
"relaxed",
|
|
7204
|
+
"spacious"
|
|
7205
|
+
]);
|
|
7206
|
+
var headerCtaTreatmentSchema = z22.enum([
|
|
7207
|
+
"default",
|
|
7208
|
+
"primary",
|
|
7209
|
+
"secondary",
|
|
7210
|
+
"inverted",
|
|
7211
|
+
"outline",
|
|
7212
|
+
"ghost"
|
|
7213
|
+
]);
|
|
7163
7214
|
var navContainerSchema = z22.object({
|
|
7164
7215
|
type: z22.enum(["none", "pill", "glass"]).default("none"),
|
|
7165
7216
|
tint: z22.string().nullable().optional(),
|
|
@@ -7214,7 +7265,14 @@ var footerMaxWidth = z22.enum(["container", "full"]);
|
|
|
7214
7265
|
var footerMode = z22.enum(["default", "blocks", "default+blocks", "none"]);
|
|
7215
7266
|
var footerNavLayoutMode = z22.enum(["stack", "inline", "inline-wrap"]);
|
|
7216
7267
|
var footerNavLayoutAlign = z22.enum(["start", "center", "end", "space-between"]);
|
|
7217
|
-
var footerSpacing = z22.enum([
|
|
7268
|
+
var footerSpacing = z22.enum([
|
|
7269
|
+
"none",
|
|
7270
|
+
"tight",
|
|
7271
|
+
"compact",
|
|
7272
|
+
"default",
|
|
7273
|
+
"relaxed",
|
|
7274
|
+
"spacious"
|
|
7275
|
+
]);
|
|
7218
7276
|
var footerLogoPlacement = z22.enum(["left", "right", "above", "below"]);
|
|
7219
7277
|
var footerLogoSize = z22.enum(["sm", "md", "lg", "xl"]);
|
|
7220
7278
|
var footerLogoMaxHeight = z22.enum(["sm", "md", "lg", "xl"]);
|
|
@@ -7279,7 +7337,12 @@ var footerSchema = z22.object({
|
|
|
7279
7337
|
logo: footerLogoSchema.optional(),
|
|
7280
7338
|
bottomBar: footerBottomBarSchema.optional()
|
|
7281
7339
|
});
|
|
7282
|
-
var containerPaddingPresetSchema = z22.enum([
|
|
7340
|
+
var containerPaddingPresetSchema = z22.enum([
|
|
7341
|
+
"tight",
|
|
7342
|
+
"compact",
|
|
7343
|
+
"default",
|
|
7344
|
+
"relaxed"
|
|
7345
|
+
]);
|
|
7283
7346
|
var layoutSchema = z22.object({
|
|
7284
7347
|
containerPadding: z22.object({
|
|
7285
7348
|
mobile: containerPaddingPresetSchema.optional(),
|
|
@@ -7287,8 +7350,24 @@ var layoutSchema = z22.object({
|
|
|
7287
7350
|
desktop: containerPaddingPresetSchema.optional()
|
|
7288
7351
|
}).optional()
|
|
7289
7352
|
}).optional();
|
|
7290
|
-
var heroTypographySizeSchema = z22.enum([
|
|
7291
|
-
|
|
7353
|
+
var heroTypographySizeSchema = z22.enum([
|
|
7354
|
+
"sm",
|
|
7355
|
+
"base",
|
|
7356
|
+
"lg",
|
|
7357
|
+
"xl",
|
|
7358
|
+
"2xl",
|
|
7359
|
+
"3xl",
|
|
7360
|
+
"4xl",
|
|
7361
|
+
"5xl",
|
|
7362
|
+
"6xl",
|
|
7363
|
+
"editorial"
|
|
7364
|
+
]);
|
|
7365
|
+
var heroTypographyLineHeightSchema = z22.enum([
|
|
7366
|
+
"tight",
|
|
7367
|
+
"snug",
|
|
7368
|
+
"normal",
|
|
7369
|
+
"relaxed"
|
|
7370
|
+
]);
|
|
7292
7371
|
var heroResponsiveTypographySchema = z22.object({
|
|
7293
7372
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
7294
7373
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
@@ -7842,16 +7921,6 @@ var headerLayoutCatalog = [
|
|
|
7842
7921
|
maxRecommendedNavItems: 5,
|
|
7843
7922
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
7844
7923
|
},
|
|
7845
|
-
{
|
|
7846
|
-
id: asHeaderLayoutId("editorial"),
|
|
7847
|
-
label: "Editorial",
|
|
7848
|
-
description: "A composed, magazine-like stacked header treatment.",
|
|
7849
|
-
structure: "editorial-stack",
|
|
7850
|
-
variant: "editorial",
|
|
7851
|
-
defaultPositioning: "static",
|
|
7852
|
-
shrinkOnScroll: false,
|
|
7853
|
-
maxRecommendedNavItems: 6
|
|
7854
|
-
},
|
|
7855
7924
|
{
|
|
7856
7925
|
id: asHeaderLayoutId("floating"),
|
|
7857
7926
|
label: "Floating",
|
|
@@ -7872,17 +7941,19 @@ var headerStyleCatalog = [
|
|
|
7872
7941
|
id: asHeaderStyleId("minimal"),
|
|
7873
7942
|
label: "Minimal",
|
|
7874
7943
|
description: "Quiet surface with simple color-change navigation.",
|
|
7875
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
7944
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7876
7945
|
navInteraction: "color-change",
|
|
7877
|
-
surface: "neutral"
|
|
7946
|
+
surface: "neutral",
|
|
7947
|
+
navTypography: "plain"
|
|
7878
7948
|
},
|
|
7879
7949
|
{
|
|
7880
7950
|
id: asHeaderStyleId("fine-line"),
|
|
7881
7951
|
label: "Fine Line",
|
|
7882
7952
|
description: "Light surface with a crisp lower rule and underline hover.",
|
|
7883
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
7953
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7884
7954
|
navInteraction: "underline-grow",
|
|
7885
|
-
surface: "bordered"
|
|
7955
|
+
surface: "bordered",
|
|
7956
|
+
navTypography: "plain"
|
|
7886
7957
|
},
|
|
7887
7958
|
{
|
|
7888
7959
|
id: asHeaderStyleId("soft-bar"),
|
|
@@ -7890,7 +7961,8 @@ var headerStyleCatalog = [
|
|
|
7890
7961
|
description: "Soft tinted surface with gentle pill hover states.",
|
|
7891
7962
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7892
7963
|
navInteraction: "pill-background",
|
|
7893
|
-
surface: "soft"
|
|
7964
|
+
surface: "soft",
|
|
7965
|
+
navTypography: "plain"
|
|
7894
7966
|
},
|
|
7895
7967
|
{
|
|
7896
7968
|
id: asHeaderStyleId("pill-nav"),
|
|
@@ -7898,23 +7970,26 @@ var headerStyleCatalog = [
|
|
|
7898
7970
|
description: "A calm pill navigation rail over a neutral header.",
|
|
7899
7971
|
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7900
7972
|
navInteraction: "pill-background",
|
|
7901
|
-
surface: "soft"
|
|
7973
|
+
surface: "soft",
|
|
7974
|
+
navTypography: "plain"
|
|
7902
7975
|
},
|
|
7903
7976
|
{
|
|
7904
7977
|
id: asHeaderStyleId("brand-bar"),
|
|
7905
7978
|
label: "Brand Bar",
|
|
7906
7979
|
description: "Solid brand surface with high-contrast navigation.",
|
|
7907
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
7980
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7908
7981
|
navInteraction: "color-change",
|
|
7909
|
-
surface: "brand-solid"
|
|
7982
|
+
surface: "brand-solid",
|
|
7983
|
+
navTypography: "brand-caps"
|
|
7910
7984
|
},
|
|
7911
7985
|
{
|
|
7912
7986
|
id: asHeaderStyleId("brand-underline"),
|
|
7913
7987
|
label: "Brand Underline",
|
|
7914
7988
|
description: "Brand surface with underline-grow navigation.",
|
|
7915
|
-
supportedLayoutIds: supportedLayouts(["classic"
|
|
7989
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
7916
7990
|
navInteraction: "underline-grow",
|
|
7917
|
-
surface: "brand-solid"
|
|
7991
|
+
surface: "brand-solid",
|
|
7992
|
+
navTypography: "brand-caps"
|
|
7918
7993
|
},
|
|
7919
7994
|
{
|
|
7920
7995
|
id: asHeaderStyleId("brand-pill"),
|
|
@@ -7922,41 +7997,44 @@ var headerStyleCatalog = [
|
|
|
7922
7997
|
description: "Solid brand surface with rounded active and hover states.",
|
|
7923
7998
|
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
7924
7999
|
navInteraction: "pill-background",
|
|
7925
|
-
surface: "brand-solid"
|
|
8000
|
+
surface: "brand-solid",
|
|
8001
|
+
navTypography: "brand-caps"
|
|
7926
8002
|
},
|
|
7927
8003
|
{
|
|
7928
|
-
id: asHeaderStyleId("
|
|
7929
|
-
label: "
|
|
8004
|
+
id: asHeaderStyleId("serif-line"),
|
|
8005
|
+
label: "Serif Line",
|
|
7930
8006
|
description: "Typographic logo treatment with understated underline navigation.",
|
|
7931
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
8007
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7932
8008
|
navInteraction: "underline-grow",
|
|
7933
|
-
surface: "bordered"
|
|
8009
|
+
surface: "bordered",
|
|
8010
|
+
navTypography: "heading"
|
|
7934
8011
|
},
|
|
7935
8012
|
{
|
|
7936
8013
|
id: asHeaderStyleId("flat-tabs"),
|
|
7937
8014
|
label: "Flat Tabs",
|
|
7938
8015
|
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
7939
|
-
supportedLayoutIds: supportedLayouts(["classic", "centered"
|
|
8016
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
7940
8017
|
navInteraction: "flat-block",
|
|
7941
|
-
surface: "bordered"
|
|
8018
|
+
surface: "bordered",
|
|
8019
|
+
navTypography: "quiet-caps"
|
|
7942
8020
|
},
|
|
7943
8021
|
{
|
|
7944
8022
|
id: asHeaderStyleId("glass"),
|
|
7945
8023
|
label: "Glass",
|
|
7946
|
-
description: "
|
|
7947
|
-
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
8024
|
+
description: "Translucent chrome with frosted navigation backing.",
|
|
8025
|
+
supportedLayoutIds: supportedLayouts(["classic", "floating"]),
|
|
7948
8026
|
navInteraction: "glass-backed",
|
|
7949
8027
|
surface: "floating",
|
|
7950
|
-
|
|
8028
|
+
navTypography: "plain"
|
|
7951
8029
|
},
|
|
7952
8030
|
{
|
|
7953
8031
|
id: asHeaderStyleId("minimal-surface"),
|
|
7954
|
-
label: "
|
|
7955
|
-
description: "Floating
|
|
8032
|
+
label: "Clear Split",
|
|
8033
|
+
description: "Floating logo with transparent navigation and no shared shell.",
|
|
7956
8034
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
7957
8035
|
navInteraction: "color-change",
|
|
7958
8036
|
surface: "floating",
|
|
7959
|
-
|
|
8037
|
+
navTypography: "plain"
|
|
7960
8038
|
},
|
|
7961
8039
|
{
|
|
7962
8040
|
id: asHeaderStyleId("soft-shell"),
|
|
@@ -7965,7 +8043,25 @@ var headerStyleCatalog = [
|
|
|
7965
8043
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
7966
8044
|
navInteraction: "pill-background",
|
|
7967
8045
|
surface: "floating",
|
|
7968
|
-
|
|
8046
|
+
navTypography: "plain"
|
|
8047
|
+
},
|
|
8048
|
+
{
|
|
8049
|
+
id: asHeaderStyleId("split-glass"),
|
|
8050
|
+
label: "Split Glass",
|
|
8051
|
+
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
8052
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
8053
|
+
navInteraction: "glass-backed",
|
|
8054
|
+
surface: "floating",
|
|
8055
|
+
navTypography: "quiet-caps"
|
|
8056
|
+
},
|
|
8057
|
+
{
|
|
8058
|
+
id: asHeaderStyleId("split-pill"),
|
|
8059
|
+
label: "Split Pill",
|
|
8060
|
+
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
8061
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
8062
|
+
navInteraction: "pill-background",
|
|
8063
|
+
surface: "floating",
|
|
8064
|
+
navTypography: "heading"
|
|
7969
8065
|
}
|
|
7970
8066
|
];
|
|
7971
8067
|
var headerLayoutsById = new Map(
|
|
@@ -7979,13 +8075,14 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
7979
8075
|
asHeaderLayoutId("classic"),
|
|
7980
8076
|
headerStyleRepairChain([
|
|
7981
8077
|
"minimal",
|
|
8078
|
+
"glass",
|
|
7982
8079
|
"fine-line",
|
|
7983
8080
|
"soft-bar",
|
|
7984
8081
|
"pill-nav",
|
|
7985
8082
|
"brand-bar",
|
|
7986
8083
|
"brand-underline",
|
|
7987
8084
|
"brand-pill",
|
|
7988
|
-
"
|
|
8085
|
+
"serif-line",
|
|
7989
8086
|
"flat-tabs"
|
|
7990
8087
|
])
|
|
7991
8088
|
],
|
|
@@ -7998,19 +8095,7 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
7998
8095
|
"pill-nav",
|
|
7999
8096
|
"brand-bar",
|
|
8000
8097
|
"brand-pill",
|
|
8001
|
-
"
|
|
8002
|
-
"flat-tabs"
|
|
8003
|
-
])
|
|
8004
|
-
],
|
|
8005
|
-
[
|
|
8006
|
-
asHeaderLayoutId("editorial"),
|
|
8007
|
-
headerStyleRepairChain([
|
|
8008
|
-
"minimal",
|
|
8009
|
-
"fine-line",
|
|
8010
|
-
"soft-bar",
|
|
8011
|
-
"brand-bar",
|
|
8012
|
-
"brand-underline",
|
|
8013
|
-
"editorial-line",
|
|
8098
|
+
"serif-line",
|
|
8014
8099
|
"flat-tabs"
|
|
8015
8100
|
])
|
|
8016
8101
|
],
|
|
@@ -8019,6 +8104,8 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
8019
8104
|
headerStyleRepairChain([
|
|
8020
8105
|
"glass",
|
|
8021
8106
|
"minimal-surface",
|
|
8107
|
+
"split-glass",
|
|
8108
|
+
"split-pill",
|
|
8022
8109
|
"soft-shell",
|
|
8023
8110
|
"brand-pill"
|
|
8024
8111
|
])
|
|
@@ -8027,20 +8114,63 @@ var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
|
8027
8114
|
function headerStyleRepairChain(values) {
|
|
8028
8115
|
return values.map(asHeaderStyleId);
|
|
8029
8116
|
}
|
|
8030
|
-
var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
8031
|
-
[
|
|
8032
|
-
|
|
8033
|
-
|
|
8034
|
-
|
|
8035
|
-
|
|
8036
|
-
|
|
8037
|
-
|
|
8038
|
-
|
|
8039
|
-
|
|
8040
|
-
|
|
8041
|
-
|
|
8042
|
-
|
|
8043
|
-
]
|
|
8117
|
+
var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
8118
|
+
[
|
|
8119
|
+
[
|
|
8120
|
+
asHeaderStyleId("brand-bar"),
|
|
8121
|
+
headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
|
|
8122
|
+
],
|
|
8123
|
+
[
|
|
8124
|
+
asHeaderStyleId("brand-underline"),
|
|
8125
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
8126
|
+
],
|
|
8127
|
+
[
|
|
8128
|
+
asHeaderStyleId("brand-pill"),
|
|
8129
|
+
headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
|
|
8130
|
+
],
|
|
8131
|
+
[
|
|
8132
|
+
asHeaderStyleId("pill-nav"),
|
|
8133
|
+
headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
|
|
8134
|
+
],
|
|
8135
|
+
[
|
|
8136
|
+
asHeaderStyleId("flat-tabs"),
|
|
8137
|
+
headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
|
|
8138
|
+
],
|
|
8139
|
+
[
|
|
8140
|
+
asHeaderStyleId("serif-line"),
|
|
8141
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
8142
|
+
],
|
|
8143
|
+
[
|
|
8144
|
+
asHeaderStyleId("glass"),
|
|
8145
|
+
headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
|
|
8146
|
+
],
|
|
8147
|
+
[
|
|
8148
|
+
asHeaderStyleId("soft-shell"),
|
|
8149
|
+
headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
|
|
8150
|
+
],
|
|
8151
|
+
[
|
|
8152
|
+
asHeaderStyleId("minimal-surface"),
|
|
8153
|
+
headerStyleRepairChain(["minimal-surface", "minimal"])
|
|
8154
|
+
],
|
|
8155
|
+
[
|
|
8156
|
+
asHeaderStyleId("split-glass"),
|
|
8157
|
+
headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
|
|
8158
|
+
],
|
|
8159
|
+
[
|
|
8160
|
+
asHeaderStyleId("split-pill"),
|
|
8161
|
+
headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
|
|
8162
|
+
],
|
|
8163
|
+
[
|
|
8164
|
+
asHeaderStyleId("fine-line"),
|
|
8165
|
+
headerStyleRepairChain(["fine-line", "minimal"])
|
|
8166
|
+
],
|
|
8167
|
+
[
|
|
8168
|
+
asHeaderStyleId("soft-bar"),
|
|
8169
|
+
headerStyleRepairChain(["soft-bar", "minimal"])
|
|
8170
|
+
],
|
|
8171
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
8172
|
+
]
|
|
8173
|
+
);
|
|
8044
8174
|
var legacyHeaderLookAliases = [
|
|
8045
8175
|
{
|
|
8046
8176
|
lookId: asHeaderLookId("clean-base"),
|
|
@@ -8057,10 +8187,10 @@ var legacyHeaderLookAliases = [
|
|
|
8057
8187
|
}
|
|
8058
8188
|
},
|
|
8059
8189
|
{
|
|
8060
|
-
lookId: asHeaderLookId("
|
|
8190
|
+
lookId: asHeaderLookId("serif-line"),
|
|
8061
8191
|
selection: {
|
|
8062
|
-
layoutId: asHeaderLayoutId("
|
|
8063
|
-
styleId: asHeaderStyleId("
|
|
8192
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
8193
|
+
styleId: asHeaderStyleId("serif-line")
|
|
8064
8194
|
}
|
|
8065
8195
|
},
|
|
8066
8196
|
{
|
|
@@ -8099,9 +8229,7 @@ var legacyHeaderLookAliases = [
|
|
|
8099
8229
|
}
|
|
8100
8230
|
}
|
|
8101
8231
|
];
|
|
8102
|
-
var legacyHeaderLookAliasesById = new Map(
|
|
8103
|
-
legacyHeaderLookAliases.map((alias) => [alias.lookId, alias])
|
|
8104
|
-
);
|
|
8232
|
+
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
8105
8233
|
function getHeaderStyle(id) {
|
|
8106
8234
|
return headerStylesById.get(id) ?? null;
|
|
8107
8235
|
}
|
|
@@ -8119,10 +8247,12 @@ function resolveLegacyHeaderLookAlias(lookId) {
|
|
|
8119
8247
|
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
8120
8248
|
}
|
|
8121
8249
|
function getCompatibleHeaderStyleIds(layoutId) {
|
|
8122
|
-
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
8123
|
-
|
|
8124
|
-
|
|
8125
|
-
|
|
8250
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
8251
|
+
(styleId) => {
|
|
8252
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
8253
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
8254
|
+
}
|
|
8255
|
+
);
|
|
8126
8256
|
}
|
|
8127
8257
|
function solidBrandHeader(theme) {
|
|
8128
8258
|
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
@@ -8153,8 +8283,14 @@ function solidBrandHeader(theme) {
|
|
|
8153
8283
|
borderRadius: "none",
|
|
8154
8284
|
effects: {
|
|
8155
8285
|
hover: [
|
|
8156
|
-
{
|
|
8157
|
-
|
|
8286
|
+
{
|
|
8287
|
+
effectId: "text-color-change",
|
|
8288
|
+
options: { hoverColorToken: "secondary" }
|
|
8289
|
+
},
|
|
8290
|
+
{
|
|
8291
|
+
effectId: "nav-underline",
|
|
8292
|
+
options: { style: "grow", colorToken: "secondary" }
|
|
8293
|
+
}
|
|
8158
8294
|
]
|
|
8159
8295
|
}
|
|
8160
8296
|
},
|
|
@@ -8210,10 +8346,10 @@ function cleanBaseHeader(theme) {
|
|
|
8210
8346
|
ctaGap: "default"
|
|
8211
8347
|
};
|
|
8212
8348
|
}
|
|
8213
|
-
function
|
|
8349
|
+
function serifLineHeader(theme) {
|
|
8214
8350
|
return {
|
|
8215
8351
|
...baseHeader(theme),
|
|
8216
|
-
variant: "
|
|
8352
|
+
variant: "centered",
|
|
8217
8353
|
positioning: "sticky",
|
|
8218
8354
|
shrinkOnScroll: false,
|
|
8219
8355
|
background: {
|
|
@@ -8382,27 +8518,27 @@ var headerLookCatalog = [
|
|
|
8382
8518
|
compile: solidBrandHeader
|
|
8383
8519
|
},
|
|
8384
8520
|
{
|
|
8385
|
-
id: asHeaderLookId("
|
|
8386
|
-
label: "
|
|
8387
|
-
visualTreatment: "light-
|
|
8521
|
+
id: asHeaderLookId("serif-line"),
|
|
8522
|
+
label: "Serif line",
|
|
8523
|
+
visualTreatment: "light-serif",
|
|
8388
8524
|
layoutBehavior: "sticky",
|
|
8389
8525
|
configuration: {
|
|
8390
|
-
structure: "
|
|
8391
|
-
treatment: "light-
|
|
8526
|
+
structure: "centered-stack",
|
|
8527
|
+
treatment: "light-serif",
|
|
8392
8528
|
behavior: "sticky"
|
|
8393
8529
|
},
|
|
8394
8530
|
openingRequirement: "none",
|
|
8395
8531
|
maxRecommendedNavItems: 6,
|
|
8396
|
-
compile:
|
|
8532
|
+
compile: serifLineHeader
|
|
8397
8533
|
},
|
|
8398
8534
|
{
|
|
8399
8535
|
id: asHeaderLookId("centered-calm"),
|
|
8400
8536
|
label: "Centered calm",
|
|
8401
|
-
visualTreatment: "light-
|
|
8537
|
+
visualTreatment: "light-serif",
|
|
8402
8538
|
layoutBehavior: "normal-flow",
|
|
8403
8539
|
configuration: {
|
|
8404
8540
|
structure: "centered-stack",
|
|
8405
|
-
treatment: "light-
|
|
8541
|
+
treatment: "light-serif",
|
|
8406
8542
|
behavior: "normal-flow"
|
|
8407
8543
|
},
|
|
8408
8544
|
openingRequirement: "none",
|
|
@@ -8948,12 +9084,16 @@ var expressiveUnderlineInputs = {
|
|
|
8948
9084
|
}
|
|
8949
9085
|
};
|
|
8950
9086
|
function uniqueContentFrameKinds() {
|
|
8951
|
-
const kinds = [
|
|
8952
|
-
|
|
8953
|
-
|
|
9087
|
+
const kinds = [
|
|
9088
|
+
...new Set(
|
|
9089
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
9090
|
+
)
|
|
9091
|
+
];
|
|
8954
9092
|
const firstKind = kinds[0];
|
|
8955
9093
|
if (!firstKind) {
|
|
8956
|
-
throw new Error(
|
|
9094
|
+
throw new Error(
|
|
9095
|
+
"Expected generated design option catalog to expose at least one content frame kind."
|
|
9096
|
+
);
|
|
8957
9097
|
}
|
|
8958
9098
|
return [firstKind, ...kinds.slice(1)];
|
|
8959
9099
|
}
|
|
@@ -8963,7 +9103,9 @@ function defineCuratedSiteStyle(input) {
|
|
|
8963
9103
|
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
8964
9104
|
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
8965
9105
|
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
8966
|
-
if (!typographyPresetChoices.some(
|
|
9106
|
+
if (!typographyPresetChoices.some(
|
|
9107
|
+
(choice) => choice.id === defaultTypographyPresetId
|
|
9108
|
+
)) {
|
|
8967
9109
|
throw new Error(
|
|
8968
9110
|
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
8969
9111
|
);
|
|
@@ -8974,9 +9116,13 @@ function defineCuratedSiteStyle(input) {
|
|
|
8974
9116
|
description: input.description,
|
|
8975
9117
|
generationBrief: input.generationBrief,
|
|
8976
9118
|
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
8977
|
-
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
9119
|
+
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
9120
|
+
kind: "explicit_only"
|
|
9121
|
+
},
|
|
8978
9122
|
template: {
|
|
8979
|
-
id: asDesignSystemTemplateId(
|
|
9123
|
+
id: asDesignSystemTemplateId(
|
|
9124
|
+
`template:${input.id.replace("site-style:", "")}`
|
|
9125
|
+
),
|
|
8980
9126
|
name: input.name,
|
|
8981
9127
|
version: 1,
|
|
8982
9128
|
tokenRecipes: input.tokenRecipes,
|
|
@@ -8994,13 +9140,17 @@ function defineCuratedSiteStyle(input) {
|
|
|
8994
9140
|
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
8995
9141
|
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
8996
9142
|
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
8997
|
-
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
8998
|
-
|
|
8999
|
-
|
|
9000
|
-
|
|
9143
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
9144
|
+
(selection) => ({
|
|
9145
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
9146
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
9147
|
+
})
|
|
9148
|
+
),
|
|
9001
9149
|
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
9002
9150
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
9003
|
-
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
9151
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
9152
|
+
asFooterLookId
|
|
9153
|
+
),
|
|
9004
9154
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
9005
9155
|
paletteVariantChoices: input.paletteVariantChoices,
|
|
9006
9156
|
typographyPresetChoices,
|
|
@@ -9019,7 +9169,7 @@ function headerLayoutChoice(id, note) {
|
|
|
9019
9169
|
function headerStyleChoice(id, note) {
|
|
9020
9170
|
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
9021
9171
|
}
|
|
9022
|
-
function
|
|
9172
|
+
function unbrandHeaderLayoutId(id) {
|
|
9023
9173
|
return id;
|
|
9024
9174
|
}
|
|
9025
9175
|
function uniqueHeaderLayoutChoices(choices) {
|
|
@@ -9042,7 +9192,9 @@ function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
|
9042
9192
|
return [first, ...choices.slice(1)];
|
|
9043
9193
|
}
|
|
9044
9194
|
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
9045
|
-
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
9195
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
9196
|
+
(selection) => Boolean(selection)
|
|
9197
|
+
);
|
|
9046
9198
|
const defaultHeaderSelection = selections[0] ?? {
|
|
9047
9199
|
layoutId: asHeaderLayoutId("classic"),
|
|
9048
9200
|
styleId: asHeaderStyleId("minimal")
|
|
@@ -9053,10 +9205,7 @@ function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
|
9053
9205
|
const stylesByLayout = {};
|
|
9054
9206
|
for (const layoutChoice of layoutChoices) {
|
|
9055
9207
|
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
9056
|
-
stylesByLayout[
|
|
9057
|
-
styleChoices,
|
|
9058
|
-
layoutChoice.id
|
|
9059
|
-
);
|
|
9208
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
|
|
9060
9209
|
}
|
|
9061
9210
|
return {
|
|
9062
9211
|
defaultHeaderSelection,
|
|
@@ -9111,7 +9260,11 @@ var curatedSiteStyles = [
|
|
|
9111
9260
|
motion: "subtle"
|
|
9112
9261
|
},
|
|
9113
9262
|
compositionBudget: quietBudget,
|
|
9114
|
-
recommendedHeaderLookIds: [
|
|
9263
|
+
recommendedHeaderLookIds: [
|
|
9264
|
+
"centered-calm",
|
|
9265
|
+
"minimal-transparent",
|
|
9266
|
+
"clean-base"
|
|
9267
|
+
],
|
|
9115
9268
|
buttonPersonalityChoices: [
|
|
9116
9269
|
buttonChoice("soft-pill"),
|
|
9117
9270
|
buttonChoice("pebble"),
|
|
@@ -9140,7 +9293,11 @@ var curatedSiteStyles = [
|
|
|
9140
9293
|
motion: "subtle"
|
|
9141
9294
|
},
|
|
9142
9295
|
compositionBudget: balancedBudget,
|
|
9143
|
-
recommendedHeaderLookIds: [
|
|
9296
|
+
recommendedHeaderLookIds: [
|
|
9297
|
+
"practical-utility",
|
|
9298
|
+
"brand-solid",
|
|
9299
|
+
"clean-base"
|
|
9300
|
+
],
|
|
9144
9301
|
buttonPersonalityChoices: [
|
|
9145
9302
|
buttonChoice("confident-chip"),
|
|
9146
9303
|
buttonChoice("soft-pill"),
|
|
@@ -9167,7 +9324,11 @@ var curatedSiteStyles = [
|
|
|
9167
9324
|
motion: "subtle"
|
|
9168
9325
|
},
|
|
9169
9326
|
compositionBudget: balancedBudget,
|
|
9170
|
-
recommendedHeaderLookIds: [
|
|
9327
|
+
recommendedHeaderLookIds: [
|
|
9328
|
+
"serif-line",
|
|
9329
|
+
"minimal-transparent",
|
|
9330
|
+
"centered-calm"
|
|
9331
|
+
],
|
|
9171
9332
|
buttonPersonalityChoices: [
|
|
9172
9333
|
buttonChoice("editorial-link"),
|
|
9173
9334
|
buttonChoice("soft-pill"),
|
|
@@ -9195,7 +9356,11 @@ var curatedSiteStyles = [
|
|
|
9195
9356
|
motion: "expressive"
|
|
9196
9357
|
},
|
|
9197
9358
|
compositionBudget: balancedBudget,
|
|
9198
|
-
recommendedHeaderLookIds: [
|
|
9359
|
+
recommendedHeaderLookIds: [
|
|
9360
|
+
"brand-solid",
|
|
9361
|
+
"practical-utility",
|
|
9362
|
+
"clean-base"
|
|
9363
|
+
],
|
|
9199
9364
|
buttonPersonalityChoices: [
|
|
9200
9365
|
buttonChoice("pebble"),
|
|
9201
9366
|
buttonChoice("brushed-wash"),
|
|
@@ -9212,7 +9377,10 @@ var curatedSiteStyles = [
|
|
|
9212
9377
|
name: "Quiet Luxury",
|
|
9213
9378
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
9214
9379
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
9215
|
-
siteCreatorSelection: {
|
|
9380
|
+
siteCreatorSelection: {
|
|
9381
|
+
kind: "site_creator_keyword_heuristic",
|
|
9382
|
+
priority: 20
|
|
9383
|
+
},
|
|
9216
9384
|
selectionKeywordRules: [
|
|
9217
9385
|
{ kind: "word", value: "luxury" },
|
|
9218
9386
|
{ kind: "word", value: "premium" },
|
|
@@ -9230,7 +9398,11 @@ var curatedSiteStyles = [
|
|
|
9230
9398
|
motion: "none"
|
|
9231
9399
|
},
|
|
9232
9400
|
compositionBudget: quietBudget,
|
|
9233
|
-
recommendedHeaderLookIds: [
|
|
9401
|
+
recommendedHeaderLookIds: [
|
|
9402
|
+
"minimal-transparent",
|
|
9403
|
+
"serif-line",
|
|
9404
|
+
"clean-base"
|
|
9405
|
+
],
|
|
9234
9406
|
buttonPersonalityChoices: [
|
|
9235
9407
|
buttonChoice("editorial-link"),
|
|
9236
9408
|
buttonChoice("confident-chip"),
|
|
@@ -9266,7 +9438,11 @@ var curatedSiteStyles = [
|
|
|
9266
9438
|
motion: "none"
|
|
9267
9439
|
},
|
|
9268
9440
|
compositionBudget: quietBudget,
|
|
9269
|
-
recommendedHeaderLookIds: [
|
|
9441
|
+
recommendedHeaderLookIds: [
|
|
9442
|
+
"practical-utility",
|
|
9443
|
+
"brand-solid",
|
|
9444
|
+
"clean-base"
|
|
9445
|
+
],
|
|
9270
9446
|
buttonPersonalityChoices: [
|
|
9271
9447
|
buttonChoice("confident-chip"),
|
|
9272
9448
|
buttonChoice("pebble"),
|
|
@@ -9293,7 +9469,11 @@ var curatedSiteStyles = [
|
|
|
9293
9469
|
motion: "subtle"
|
|
9294
9470
|
},
|
|
9295
9471
|
compositionBudget: balancedBudget,
|
|
9296
|
-
recommendedHeaderLookIds: [
|
|
9472
|
+
recommendedHeaderLookIds: [
|
|
9473
|
+
"centered-calm",
|
|
9474
|
+
"minimal-transparent",
|
|
9475
|
+
"clean-base"
|
|
9476
|
+
],
|
|
9297
9477
|
buttonPersonalityChoices: [
|
|
9298
9478
|
buttonChoice("soft-pill"),
|
|
9299
9479
|
buttonChoice("pebble"),
|
|
@@ -9310,7 +9490,10 @@ var curatedSiteStyles = [
|
|
|
9310
9490
|
name: "Quiet Practice",
|
|
9311
9491
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
9312
9492
|
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.",
|
|
9313
|
-
siteCreatorSelection: {
|
|
9493
|
+
siteCreatorSelection: {
|
|
9494
|
+
kind: "site_creator_keyword_heuristic",
|
|
9495
|
+
priority: 30
|
|
9496
|
+
},
|
|
9314
9497
|
selectionKeywordRules: [
|
|
9315
9498
|
{ kind: "substring", value: "massage" },
|
|
9316
9499
|
{ kind: "word", value: "bodywork" },
|
|
@@ -9331,7 +9514,11 @@ var curatedSiteStyles = [
|
|
|
9331
9514
|
motion: "subtle"
|
|
9332
9515
|
},
|
|
9333
9516
|
compositionBudget: quietBudget,
|
|
9334
|
-
recommendedHeaderLookIds: [
|
|
9517
|
+
recommendedHeaderLookIds: [
|
|
9518
|
+
"practical-utility",
|
|
9519
|
+
"clean-base",
|
|
9520
|
+
"centered-calm"
|
|
9521
|
+
],
|
|
9335
9522
|
buttonPersonalityChoices: [
|
|
9336
9523
|
buttonChoice("pebble"),
|
|
9337
9524
|
buttonChoice("soft-pill"),
|
|
@@ -9348,7 +9535,10 @@ var curatedSiteStyles = [
|
|
|
9348
9535
|
name: "Personal Retreat Journal",
|
|
9349
9536
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
9350
9537
|
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.",
|
|
9351
|
-
siteCreatorSelection: {
|
|
9538
|
+
siteCreatorSelection: {
|
|
9539
|
+
kind: "site_creator_keyword_heuristic",
|
|
9540
|
+
priority: 40
|
|
9541
|
+
},
|
|
9352
9542
|
selectionKeywordRules: [
|
|
9353
9543
|
{ kind: "substring", value: "retreat" },
|
|
9354
9544
|
{ kind: "phrase", value: "solo practitioner" },
|
|
@@ -9368,7 +9558,11 @@ var curatedSiteStyles = [
|
|
|
9368
9558
|
motion: "subtle"
|
|
9369
9559
|
},
|
|
9370
9560
|
compositionBudget: balancedBudget,
|
|
9371
|
-
recommendedHeaderLookIds: [
|
|
9561
|
+
recommendedHeaderLookIds: [
|
|
9562
|
+
"serif-line",
|
|
9563
|
+
"centered-calm",
|
|
9564
|
+
"minimal-transparent"
|
|
9565
|
+
],
|
|
9372
9566
|
buttonPersonalityChoices: [
|
|
9373
9567
|
buttonChoice("editorial-link"),
|
|
9374
9568
|
buttonChoice("soft-pill"),
|
|
@@ -9385,7 +9579,10 @@ var curatedSiteStyles = [
|
|
|
9385
9579
|
name: "Tactile Workshop",
|
|
9386
9580
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
9387
9581
|
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.",
|
|
9388
|
-
siteCreatorSelection: {
|
|
9582
|
+
siteCreatorSelection: {
|
|
9583
|
+
kind: "site_creator_keyword_heuristic",
|
|
9584
|
+
priority: 50
|
|
9585
|
+
},
|
|
9389
9586
|
selectionKeywordRules: [
|
|
9390
9587
|
{ kind: "substring", value: "ceramic" },
|
|
9391
9588
|
{ kind: "word", value: "pottery" },
|
|
@@ -9405,8 +9602,15 @@ var curatedSiteStyles = [
|
|
|
9405
9602
|
motion: "subtle"
|
|
9406
9603
|
},
|
|
9407
9604
|
compositionBudget: balancedBudget,
|
|
9408
|
-
recommendedHeaderLookIds: [
|
|
9409
|
-
|
|
9605
|
+
recommendedHeaderLookIds: [
|
|
9606
|
+
"brand-solid",
|
|
9607
|
+
"practical-utility",
|
|
9608
|
+
"clean-base"
|
|
9609
|
+
],
|
|
9610
|
+
recommendedFooterLookIds: [
|
|
9611
|
+
"site-footer-brand-two-band",
|
|
9612
|
+
"footer-muted-grounding"
|
|
9613
|
+
],
|
|
9410
9614
|
buttonPersonalityChoices: [
|
|
9411
9615
|
buttonChoice("pebble"),
|
|
9412
9616
|
buttonChoice("confident-chip"),
|
|
@@ -9425,7 +9629,10 @@ var curatedSiteStyles = [
|
|
|
9425
9629
|
name: "Soft Earth",
|
|
9426
9630
|
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
9427
9631
|
generationBrief: "Use cream space, terracotta CTAs, olive proof bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community proof, and a simple two-column FAQ when content allows.",
|
|
9428
|
-
siteCreatorSelection: {
|
|
9632
|
+
siteCreatorSelection: {
|
|
9633
|
+
kind: "site_creator_keyword_heuristic",
|
|
9634
|
+
priority: 45
|
|
9635
|
+
},
|
|
9429
9636
|
selectionKeywordRules: [
|
|
9430
9637
|
{ kind: "word", value: "meditation" },
|
|
9431
9638
|
{ kind: "word", value: "wellbeing" },
|
|
@@ -9501,8 +9708,15 @@ var curatedSiteStyles = [
|
|
|
9501
9708
|
"faq-soft-earth-two-column",
|
|
9502
9709
|
"contact-form-panel"
|
|
9503
9710
|
],
|
|
9504
|
-
recommendedHeaderLookIds: [
|
|
9505
|
-
|
|
9711
|
+
recommendedHeaderLookIds: [
|
|
9712
|
+
"centered-calm",
|
|
9713
|
+
"minimal-transparent",
|
|
9714
|
+
"serif-line"
|
|
9715
|
+
],
|
|
9716
|
+
recommendedFooterLookIds: [
|
|
9717
|
+
"footer-muted-grounding",
|
|
9718
|
+
"site-footer-brand-two-band"
|
|
9719
|
+
],
|
|
9506
9720
|
buttonPersonalityChoices: [
|
|
9507
9721
|
buttonChoice("earth-pill"),
|
|
9508
9722
|
buttonChoice("soft-pill"),
|
|
@@ -9521,7 +9735,10 @@ var curatedSiteStyles = [
|
|
|
9521
9735
|
name: "Bold Launch",
|
|
9522
9736
|
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
9523
9737
|
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
9524
|
-
siteCreatorSelection: {
|
|
9738
|
+
siteCreatorSelection: {
|
|
9739
|
+
kind: "site_creator_keyword_heuristic",
|
|
9740
|
+
priority: 10
|
|
9741
|
+
},
|
|
9525
9742
|
selectionKeywordRules: [
|
|
9526
9743
|
{ kind: "substring", value: "launch" },
|
|
9527
9744
|
{ kind: "substring", value: "campaign" },
|
|
@@ -9540,7 +9757,11 @@ var curatedSiteStyles = [
|
|
|
9540
9757
|
motion: "expressive"
|
|
9541
9758
|
},
|
|
9542
9759
|
compositionBudget: expressiveBudget,
|
|
9543
|
-
recommendedHeaderLookIds: [
|
|
9760
|
+
recommendedHeaderLookIds: [
|
|
9761
|
+
"transparent-overlay",
|
|
9762
|
+
"floating-glass",
|
|
9763
|
+
"brand-solid"
|
|
9764
|
+
],
|
|
9544
9765
|
buttonPersonalityChoices: [
|
|
9545
9766
|
buttonChoice("ink-stamp"),
|
|
9546
9767
|
buttonChoice("confident-chip"),
|
|
@@ -9591,8 +9812,15 @@ var curatedSiteStyles = [
|
|
|
9591
9812
|
"testimonials-accent-quote-proof",
|
|
9592
9813
|
"contact-form-brand-depth-card"
|
|
9593
9814
|
],
|
|
9594
|
-
recommendedHeaderLookIds: [
|
|
9595
|
-
|
|
9815
|
+
recommendedHeaderLookIds: [
|
|
9816
|
+
"brand-solid",
|
|
9817
|
+
"transparent-overlay",
|
|
9818
|
+
"practical-utility"
|
|
9819
|
+
],
|
|
9820
|
+
recommendedFooterLookIds: [
|
|
9821
|
+
"site-footer-brand-two-band",
|
|
9822
|
+
"footer-muted-grounding"
|
|
9823
|
+
],
|
|
9596
9824
|
buttonPersonalityChoices: [
|
|
9597
9825
|
buttonChoice("showtime-pill"),
|
|
9598
9826
|
buttonChoice("confident-chip"),
|
|
@@ -17357,10 +17585,7 @@ var headerRootClassTransform = {
|
|
|
17357
17585
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
17358
17586
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
17359
17587
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
17360
|
-
const classes = [
|
|
17361
|
-
config.base,
|
|
17362
|
-
backgroundClass
|
|
17363
|
-
];
|
|
17588
|
+
const classes = [config.base, backgroundClass];
|
|
17364
17589
|
if (!hasContainedNav) {
|
|
17365
17590
|
if (config.blur) classes.push(config.blur);
|
|
17366
17591
|
if (config.blurSupport) classes.push(config.blurSupport);
|
|
@@ -17375,7 +17600,12 @@ var headerRootClassTransform = {
|
|
|
17375
17600
|
if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
|
|
17376
17601
|
classes.push(config.shrink);
|
|
17377
17602
|
}
|
|
17378
|
-
const VALID_VARIANTS = [
|
|
17603
|
+
const VALID_VARIANTS = [
|
|
17604
|
+
"classic",
|
|
17605
|
+
"centered",
|
|
17606
|
+
"transparent",
|
|
17607
|
+
"floating"
|
|
17608
|
+
];
|
|
17379
17609
|
const variant = header?.variant;
|
|
17380
17610
|
if (variant && VALID_VARIANTS.includes(variant)) {
|
|
17381
17611
|
classes.push(`header-variant-${variant}`);
|
|
@@ -18027,15 +18257,21 @@ var mobileCta = ctaButton({
|
|
|
18027
18257
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
18028
18258
|
{
|
|
18029
18259
|
type: "div",
|
|
18030
|
-
props: {
|
|
18260
|
+
props: {
|
|
18261
|
+
className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
18262
|
+
}
|
|
18031
18263
|
},
|
|
18032
18264
|
{
|
|
18033
18265
|
type: "div",
|
|
18034
|
-
props: {
|
|
18266
|
+
props: {
|
|
18267
|
+
className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
18268
|
+
}
|
|
18035
18269
|
},
|
|
18036
18270
|
{
|
|
18037
18271
|
type: "div",
|
|
18038
|
-
props: {
|
|
18272
|
+
props: {
|
|
18273
|
+
className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
18274
|
+
}
|
|
18039
18275
|
}
|
|
18040
18276
|
]);
|
|
18041
18277
|
var mobileToggleButton = {
|
|
@@ -18218,28 +18454,6 @@ var floatingLayout = inline(
|
|
|
18218
18454
|
],
|
|
18219
18455
|
when("$root.theme.header.variant", { equals: "floating" })
|
|
18220
18456
|
);
|
|
18221
|
-
var editorialLayout = stack(
|
|
18222
|
-
{
|
|
18223
|
-
gap: "md",
|
|
18224
|
-
align: "center",
|
|
18225
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
18226
|
-
transforms: pipe(
|
|
18227
|
-
tx("layout.maxWidthClass", {
|
|
18228
|
-
base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
18229
|
-
})
|
|
18230
|
-
),
|
|
18231
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
18232
|
-
})
|
|
18233
|
-
},
|
|
18234
|
-
[
|
|
18235
|
-
centeredLogoRow,
|
|
18236
|
-
createNavRow(
|
|
18237
|
-
`${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
|
|
18238
|
-
"center"
|
|
18239
|
-
)
|
|
18240
|
-
],
|
|
18241
|
-
when("$root.theme.header.variant", { equals: "editorial" })
|
|
18242
|
-
);
|
|
18243
18457
|
var headerLayout = headerSection(
|
|
18244
18458
|
{
|
|
18245
18459
|
background: bindProp("$root.theme.header", {
|
|
@@ -18253,10 +18467,7 @@ var headerLayout = headerSection(
|
|
|
18253
18467
|
}),
|
|
18254
18468
|
style: bindProp("$root.theme.header", {
|
|
18255
18469
|
transforms: pipe(tx("layout.headerRootStyle")),
|
|
18256
|
-
fallback: mergeStyles(
|
|
18257
|
-
textColorStyle("text"),
|
|
18258
|
-
borderColorStyle("border")
|
|
18259
|
-
)
|
|
18470
|
+
fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
|
|
18260
18471
|
})
|
|
18261
18472
|
},
|
|
18262
18473
|
[
|
|
@@ -18265,7 +18476,6 @@ var headerLayout = headerSection(
|
|
|
18265
18476
|
centeredLayout,
|
|
18266
18477
|
transparentLayout,
|
|
18267
18478
|
floatingLayout,
|
|
18268
|
-
editorialLayout,
|
|
18269
18479
|
mobileOverlay
|
|
18270
18480
|
],
|
|
18271
18481
|
props({
|
|
@@ -26596,7 +26806,7 @@ var publicProductsResponseSchema = z53.object({
|
|
|
26596
26806
|
});
|
|
26597
26807
|
|
|
26598
26808
|
// ../blocks/src/system/runtime/api/creditProducts.ts
|
|
26599
|
-
function
|
|
26809
|
+
function assertNever4(value) {
|
|
26600
26810
|
throw new Error(`Unhandled credit product case: ${String(value)}`);
|
|
26601
26811
|
}
|
|
26602
26812
|
function useCasesFromModules(modules) {
|
|
@@ -26629,7 +26839,7 @@ function getCreditProductCreditUnit(useCase) {
|
|
|
26629
26839
|
perCreditSuffix: "credit"
|
|
26630
26840
|
};
|
|
26631
26841
|
default:
|
|
26632
|
-
return
|
|
26842
|
+
return assertNever4(useCase);
|
|
26633
26843
|
}
|
|
26634
26844
|
}
|
|
26635
26845
|
function deriveCreditProductLabels(products, options = {}) {
|
|
@@ -31810,7 +32020,7 @@ function resolveAccordionIconStyle(iconStyle, iconTreatment) {
|
|
|
31810
32020
|
case "minimal-cross":
|
|
31811
32021
|
return "plus-minus";
|
|
31812
32022
|
default:
|
|
31813
|
-
return
|
|
32023
|
+
return assertNever5(iconTreatment.iconSet);
|
|
31814
32024
|
}
|
|
31815
32025
|
}
|
|
31816
32026
|
return iconStyle && iconStyle in ICON_CONFIG ? iconStyle : "chevron";
|
|
@@ -31829,7 +32039,7 @@ function accordionIconColorStyle(iconTreatment) {
|
|
|
31829
32039
|
function resolveIconColorToken(token) {
|
|
31830
32040
|
return token === "muted" ? "mutedText" : token;
|
|
31831
32041
|
}
|
|
31832
|
-
function
|
|
32042
|
+
function assertNever5(value) {
|
|
31833
32043
|
throw new Error(`Unhandled accordion icon set: ${String(value)}`);
|
|
31834
32044
|
}
|
|
31835
32045
|
|
|
@@ -39334,6 +39544,9 @@ function transformSdkBlockToDefinition(sdkBlock) {
|
|
|
39334
39544
|
}
|
|
39335
39545
|
|
|
39336
39546
|
// ../blocks/src/customBlockRegistry.ts
|
|
39547
|
+
var defaultCustomBlockSourcePolicy = {
|
|
39548
|
+
kind: "canonical-db-fallback-sdk"
|
|
39549
|
+
};
|
|
39337
39550
|
function isCustomBlockKind(blockKind) {
|
|
39338
39551
|
return blockKind.startsWith("custom.");
|
|
39339
39552
|
}
|
|
@@ -39360,39 +39573,86 @@ function toResolvedCustomBlock(manifest, source) {
|
|
|
39360
39573
|
)
|
|
39361
39574
|
};
|
|
39362
39575
|
}
|
|
39576
|
+
function planCustomBlockRegistryResolution({
|
|
39577
|
+
sdkConfig,
|
|
39578
|
+
customBlocks = [],
|
|
39579
|
+
policy = defaultCustomBlockSourcePolicy
|
|
39580
|
+
}) {
|
|
39581
|
+
switch (policy.kind) {
|
|
39582
|
+
case "canonical-db-fallback-sdk": {
|
|
39583
|
+
const entriesByKind = /* @__PURE__ */ new Map();
|
|
39584
|
+
const conflicts = [];
|
|
39585
|
+
for (const customBlock of customBlocks) {
|
|
39586
|
+
entriesByKind.set(
|
|
39587
|
+
customBlock.manifest.id,
|
|
39588
|
+
toResolvedCustomBlock(customBlock.manifest, customBlock.source)
|
|
39589
|
+
);
|
|
39590
|
+
}
|
|
39591
|
+
for (const sdkBlock of sdkConfig?.customBlocks ?? []) {
|
|
39592
|
+
const existing = entriesByKind.get(sdkBlock.id);
|
|
39593
|
+
if (existing) {
|
|
39594
|
+
conflicts.push({
|
|
39595
|
+
kind: "conflict",
|
|
39596
|
+
blockKind: existing.blockKind,
|
|
39597
|
+
winner: existing.source,
|
|
39598
|
+
loser: { kind: "sdk-config" },
|
|
39599
|
+
reason: "db-canonical-sdk-fallback"
|
|
39600
|
+
});
|
|
39601
|
+
continue;
|
|
39602
|
+
}
|
|
39603
|
+
entriesByKind.set(
|
|
39604
|
+
sdkBlock.id,
|
|
39605
|
+
toResolvedCustomBlock(sdkBlock, { kind: "sdk-config" })
|
|
39606
|
+
);
|
|
39607
|
+
}
|
|
39608
|
+
return {
|
|
39609
|
+
policy,
|
|
39610
|
+
entries: Array.from(entriesByKind.values()),
|
|
39611
|
+
conflicts
|
|
39612
|
+
};
|
|
39613
|
+
}
|
|
39614
|
+
}
|
|
39615
|
+
}
|
|
39363
39616
|
function createCustomBlockRegistry({
|
|
39364
39617
|
sdkConfig,
|
|
39365
39618
|
customBlocks = [],
|
|
39619
|
+
policy = defaultCustomBlockSourcePolicy,
|
|
39366
39620
|
onConflict
|
|
39367
39621
|
}) {
|
|
39368
|
-
const
|
|
39369
|
-
|
|
39370
|
-
|
|
39371
|
-
|
|
39372
|
-
|
|
39373
|
-
|
|
39374
|
-
|
|
39375
|
-
|
|
39376
|
-
|
|
39377
|
-
|
|
39378
|
-
|
|
39379
|
-
`Skipping DB custom block "${customBlock.manifest.id}" - conflicts with SDK config block`
|
|
39380
|
-
);
|
|
39381
|
-
continue;
|
|
39382
|
-
}
|
|
39383
|
-
entriesByKind.set(
|
|
39384
|
-
customBlock.manifest.id,
|
|
39385
|
-
toResolvedCustomBlock(customBlock.manifest, customBlock.source)
|
|
39622
|
+
const plan = planCustomBlockRegistryResolution({
|
|
39623
|
+
sdkConfig,
|
|
39624
|
+
customBlocks,
|
|
39625
|
+
policy
|
|
39626
|
+
});
|
|
39627
|
+
const entriesByKind = new Map(
|
|
39628
|
+
plan.entries.map((entry) => [entry.blockKind, entry])
|
|
39629
|
+
);
|
|
39630
|
+
for (const conflict of plan.conflicts) {
|
|
39631
|
+
onConflict?.(
|
|
39632
|
+
`Using ${sourceLabel(conflict.winner)} custom block "${conflict.blockKind}" - ${sourceLabel(conflict.loser)} block is fallback only`
|
|
39386
39633
|
);
|
|
39387
39634
|
}
|
|
39388
39635
|
return {
|
|
39389
|
-
entries:
|
|
39636
|
+
entries: plan.entries,
|
|
39637
|
+
conflicts: plan.conflicts,
|
|
39390
39638
|
findManifest: (blockKind) => {
|
|
39391
39639
|
if (!isCustomBlockKind(blockKind)) return void 0;
|
|
39392
39640
|
return entriesByKind.get(blockKind);
|
|
39393
39641
|
}
|
|
39394
39642
|
};
|
|
39395
39643
|
}
|
|
39644
|
+
function sourceLabel(source) {
|
|
39645
|
+
switch (source.kind) {
|
|
39646
|
+
case "managed-database":
|
|
39647
|
+
return "DB";
|
|
39648
|
+
case "sdk-synced":
|
|
39649
|
+
return "SDK-synced DB";
|
|
39650
|
+
case "sdk-config":
|
|
39651
|
+
return "SDK config";
|
|
39652
|
+
default:
|
|
39653
|
+
return assertNever(source);
|
|
39654
|
+
}
|
|
39655
|
+
}
|
|
39396
39656
|
|
|
39397
39657
|
// ../blocks/src/PageRenderer.tsx
|
|
39398
39658
|
import { Fragment as Fragment6, jsx as jsx52 } from "react/jsx-runtime";
|
|
@@ -41493,9 +41753,9 @@ var containerResponsiveThemeCss = `/*
|
|
|
41493
41753
|
}
|
|
41494
41754
|
|
|
41495
41755
|
@layer rb-theme {
|
|
41496
|
-
/* Fallback defaults so preview doesn't look broken before ThemeScope injects vars */
|
|
41497
|
-
:root {
|
|
41498
|
-
|
|
41756
|
+
/* Fallback defaults so preview doesn't look broken before ThemeScope injects vars */
|
|
41757
|
+
:root {
|
|
41758
|
+
/* --tb-primary: 17 24 39;
|
|
41499
41759
|
--tb-text: 17 24 39;
|
|
41500
41760
|
--tb-muted: 107 114 128;
|
|
41501
41761
|
--tb-bg: 255 255 255;
|
|
@@ -41517,159 +41777,164 @@ var containerResponsiveThemeCss = `/*
|
|
|
41517
41777
|
|
|
41518
41778
|
--motion-duration: 180ms;
|
|
41519
41779
|
--motion-ease: cubic-bezier(.2,.8,.2,1); */
|
|
41520
|
-
}
|
|
41780
|
+
}
|
|
41521
41781
|
|
|
41522
|
-
/* -------------------------------------------------------------------------- */
|
|
41523
|
-
/* Shared: Modal */
|
|
41524
|
-
/* -------------------------------------------------------------------------- */
|
|
41782
|
+
/* -------------------------------------------------------------------------- */
|
|
41783
|
+
/* Shared: Modal */
|
|
41784
|
+
/* -------------------------------------------------------------------------- */
|
|
41525
41785
|
|
|
41526
|
-
:where(.theme-scope) .rb-modal-overlay {
|
|
41527
|
-
|
|
41528
|
-
|
|
41529
|
-
|
|
41530
|
-
|
|
41531
|
-
|
|
41532
|
-
|
|
41533
|
-
|
|
41534
|
-
|
|
41535
|
-
|
|
41536
|
-
}
|
|
41786
|
+
:where(.theme-scope) .rb-modal-overlay {
|
|
41787
|
+
position: fixed;
|
|
41788
|
+
inset: 0;
|
|
41789
|
+
z-index: var(--rb-modal-z-index, 20000);
|
|
41790
|
+
display: grid;
|
|
41791
|
+
place-items: center;
|
|
41792
|
+
padding: 1rem;
|
|
41793
|
+
/* Keep a hard fallback so the overlay never becomes transparent due to invalid vars. */
|
|
41794
|
+
background-color: rgba(0, 0, 0, 0.6);
|
|
41795
|
+
background: var(--rb-modal-overlay-bg, rgba(0, 0, 0, 0.6));
|
|
41796
|
+
}
|
|
41537
41797
|
|
|
41538
|
-
:where(.theme-scope) .rb-modal {
|
|
41539
|
-
|
|
41540
|
-
|
|
41541
|
-
|
|
41542
|
-
|
|
41543
|
-
|
|
41544
|
-
}
|
|
41798
|
+
:where(.theme-scope) .rb-modal {
|
|
41799
|
+
width: min(var(--rb-modal-max-width, 560px), 100%);
|
|
41800
|
+
background: var(--rb-modal-bg, rgb(var(--tb-surface)));
|
|
41801
|
+
border: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
|
|
41802
|
+
border-radius: var(--rb-modal-radius, var(--radius-card));
|
|
41803
|
+
box-shadow: var(--rb-modal-shadow, var(--shadow-lg, var(--shadow-elev)));
|
|
41804
|
+
}
|
|
41545
41805
|
|
|
41546
|
-
:where(.theme-scope) .rb-modal__header {
|
|
41547
|
-
|
|
41548
|
-
|
|
41549
|
-
|
|
41550
|
-
|
|
41551
|
-
|
|
41552
|
-
|
|
41553
|
-
}
|
|
41806
|
+
:where(.theme-scope) .rb-modal__header {
|
|
41807
|
+
display: flex;
|
|
41808
|
+
align-items: center;
|
|
41809
|
+
justify-content: space-between;
|
|
41810
|
+
gap: 1rem;
|
|
41811
|
+
padding: 1rem 1rem 0.75rem;
|
|
41812
|
+
border-bottom: 1px solid var(--rb-modal-border, rgb(var(--tb-border)));
|
|
41813
|
+
}
|
|
41554
41814
|
|
|
41555
|
-
:where(.theme-scope) .rb-modal__title {
|
|
41556
|
-
|
|
41557
|
-
|
|
41558
|
-
|
|
41559
|
-
|
|
41560
|
-
|
|
41561
|
-
}
|
|
41815
|
+
:where(.theme-scope) .rb-modal__title {
|
|
41816
|
+
margin: 0;
|
|
41817
|
+
font-family: var(--font-heading);
|
|
41818
|
+
font-size: 1.0625rem;
|
|
41819
|
+
font-weight: 600;
|
|
41820
|
+
color: rgb(var(--tb-text));
|
|
41821
|
+
}
|
|
41562
41822
|
|
|
41563
|
-
:where(.theme-scope) .rb-modal__close {
|
|
41564
|
-
|
|
41565
|
-
|
|
41566
|
-
|
|
41567
|
-
|
|
41568
|
-
|
|
41569
|
-
|
|
41570
|
-
|
|
41571
|
-
|
|
41572
|
-
|
|
41573
|
-
|
|
41574
|
-
|
|
41575
|
-
}
|
|
41823
|
+
:where(.theme-scope) .rb-modal__close {
|
|
41824
|
+
background: transparent;
|
|
41825
|
+
border: none;
|
|
41826
|
+
width: 2.25rem;
|
|
41827
|
+
height: 2.25rem;
|
|
41828
|
+
padding: 0;
|
|
41829
|
+
line-height: 1;
|
|
41830
|
+
color: rgb(var(--tb-mutedText));
|
|
41831
|
+
cursor: pointer;
|
|
41832
|
+
display: grid;
|
|
41833
|
+
place-items: center;
|
|
41834
|
+
border-radius: var(--radius-control);
|
|
41835
|
+
}
|
|
41576
41836
|
|
|
41577
|
-
:where(.theme-scope) .rb-modal__close:hover {
|
|
41578
|
-
|
|
41579
|
-
|
|
41580
|
-
}
|
|
41837
|
+
:where(.theme-scope) .rb-modal__close:hover {
|
|
41838
|
+
color: rgb(var(--tb-text));
|
|
41839
|
+
background: rgba(var(--tb-border), 0.2);
|
|
41840
|
+
}
|
|
41581
41841
|
|
|
41582
|
-
:where(.theme-scope) .rb-modal__close:focus-visible {
|
|
41583
|
-
|
|
41584
|
-
|
|
41585
|
-
}
|
|
41842
|
+
:where(.theme-scope) .rb-modal__close:focus-visible {
|
|
41843
|
+
outline: none;
|
|
41844
|
+
box-shadow: 0 0 0 3px rgba(var(--tb-primary), 0.15);
|
|
41845
|
+
}
|
|
41586
41846
|
|
|
41587
|
-
:where(.theme-scope) .rb-modal__body {
|
|
41588
|
-
|
|
41589
|
-
|
|
41590
|
-
|
|
41591
|
-
|
|
41592
|
-
}
|
|
41847
|
+
:where(.theme-scope) .rb-modal__body {
|
|
41848
|
+
padding: 0.875rem 1rem 1rem;
|
|
41849
|
+
color: rgb(var(--tb-text));
|
|
41850
|
+
font-size: 0.9375rem;
|
|
41851
|
+
line-height: 1.45;
|
|
41852
|
+
}
|
|
41593
41853
|
|
|
41594
|
-
/* -------------------------------------------------------------------------- */
|
|
41595
|
-
/* Header: Mobile nav overlay transitions */
|
|
41596
|
-
/* -------------------------------------------------------------------------- */
|
|
41854
|
+
/* -------------------------------------------------------------------------- */
|
|
41855
|
+
/* Header: Mobile nav overlay transitions */
|
|
41856
|
+
/* -------------------------------------------------------------------------- */
|
|
41597
41857
|
|
|
41598
|
-
/* Keep the overlay in the DOM so we can transition opacity/transform.
|
|
41858
|
+
/* Keep the overlay in the DOM so we can transition opacity/transform.
|
|
41599
41859
|
JS toggles \`aria-hidden\` + \`inert\` (via enhancer), and CSS uses pointer-events
|
|
41600
41860
|
to prevent interaction while closed. */
|
|
41601
|
-
.nav-mobile-overlay {
|
|
41602
|
-
|
|
41603
|
-
|
|
41861
|
+
.nav-mobile-overlay {
|
|
41862
|
+
pointer-events: none;
|
|
41863
|
+
/* Prevent transformed children (panel) from creating viewport scrollbars
|
|
41604
41864
|
during enter/exit transitions. */
|
|
41605
|
-
|
|
41606
|
-
}
|
|
41607
|
-
|
|
41608
|
-
.nav-mobile-overlay[aria-hidden="false"] {
|
|
41609
|
-
pointer-events: auto;
|
|
41610
|
-
}
|
|
41865
|
+
overflow: hidden;
|
|
41866
|
+
}
|
|
41611
41867
|
|
|
41612
|
-
.nav-mobile-overlay
|
|
41613
|
-
|
|
41614
|
-
|
|
41615
|
-
}
|
|
41868
|
+
.nav-mobile-overlay[aria-hidden='false'] {
|
|
41869
|
+
pointer-events: auto;
|
|
41870
|
+
}
|
|
41616
41871
|
|
|
41617
|
-
.nav-mobile-overlay
|
|
41618
|
-
|
|
41619
|
-
|
|
41872
|
+
.nav-mobile-overlay .nav-mobile-backdrop {
|
|
41873
|
+
opacity: 0;
|
|
41874
|
+
transition: opacity var(--motion-duration, 180ms)
|
|
41875
|
+
var(--motion-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
|
|
41876
|
+
}
|
|
41620
41877
|
|
|
41621
|
-
.nav-mobile-overlay .nav-mobile-
|
|
41622
|
-
|
|
41623
|
-
|
|
41624
|
-
overflow-x: hidden;
|
|
41625
|
-
transition:
|
|
41626
|
-
opacity var(--motion-duration, 180ms) var(--motion-ease, cubic-bezier(.2,.8,.2,1)),
|
|
41627
|
-
transform var(--motion-duration, 180ms) var(--motion-ease, cubic-bezier(.2,.8,.2,1));
|
|
41628
|
-
will-change: opacity, transform;
|
|
41629
|
-
}
|
|
41878
|
+
.nav-mobile-overlay[aria-hidden='false'] .nav-mobile-backdrop {
|
|
41879
|
+
opacity: 1;
|
|
41880
|
+
}
|
|
41630
41881
|
|
|
41631
|
-
.nav-mobile-overlay
|
|
41632
|
-
|
|
41633
|
-
|
|
41634
|
-
|
|
41882
|
+
.nav-mobile-overlay .nav-mobile-panel {
|
|
41883
|
+
opacity: 0;
|
|
41884
|
+
transform: translate3d(12px, 0, 0);
|
|
41885
|
+
overflow-x: hidden;
|
|
41886
|
+
transition:
|
|
41887
|
+
opacity var(--motion-duration, 180ms)
|
|
41888
|
+
var(--motion-ease, cubic-bezier(0.2, 0.8, 0.2, 1)),
|
|
41889
|
+
transform var(--motion-duration, 180ms)
|
|
41890
|
+
var(--motion-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
|
|
41891
|
+
will-change: opacity, transform;
|
|
41892
|
+
}
|
|
41635
41893
|
|
|
41636
|
-
|
|
41637
|
-
|
|
41638
|
-
|
|
41894
|
+
.nav-mobile-overlay[aria-hidden='false'] .nav-mobile-panel {
|
|
41895
|
+
opacity: 1;
|
|
41896
|
+
transform: translate3d(0, 0, 0);
|
|
41897
|
+
}
|
|
41639
41898
|
|
|
41640
|
-
|
|
41641
|
-
|
|
41642
|
-
|
|
41643
|
-
transform var(--motion-duration, 180ms) var(--motion-ease, cubic-bezier(.2,.8,.2,1)),
|
|
41644
|
-
opacity var(--motion-duration, 180ms) var(--motion-ease, cubic-bezier(.2,.8,.2,1));
|
|
41645
|
-
will-change: transform, opacity;
|
|
41646
|
-
}
|
|
41899
|
+
/* -------------------------------------------------------------------------- */
|
|
41900
|
+
/* Header: Mobile toggle hamburger -> X */
|
|
41901
|
+
/* -------------------------------------------------------------------------- */
|
|
41647
41902
|
|
|
41648
|
-
.nav-mobile-toggle
|
|
41649
|
-
|
|
41650
|
-
|
|
41903
|
+
.nav-mobile-toggle .nav-mobile-bar {
|
|
41904
|
+
transform-origin: center;
|
|
41905
|
+
transition:
|
|
41906
|
+
transform var(--motion-duration, 180ms)
|
|
41907
|
+
var(--motion-ease, cubic-bezier(0.2, 0.8, 0.2, 1)),
|
|
41908
|
+
opacity var(--motion-duration, 180ms)
|
|
41909
|
+
var(--motion-ease, cubic-bezier(0.2, 0.8, 0.2, 1));
|
|
41910
|
+
will-change: transform, opacity;
|
|
41911
|
+
}
|
|
41651
41912
|
|
|
41652
|
-
.nav-mobile-toggle[aria-expanded=
|
|
41653
|
-
|
|
41654
|
-
}
|
|
41913
|
+
.nav-mobile-toggle[aria-expanded='true'] .nav-mobile-bar-top {
|
|
41914
|
+
transform: translateY(6px) rotate(45deg);
|
|
41915
|
+
}
|
|
41655
41916
|
|
|
41656
|
-
.nav-mobile-toggle[aria-expanded=
|
|
41657
|
-
|
|
41658
|
-
}
|
|
41917
|
+
.nav-mobile-toggle[aria-expanded='true'] .nav-mobile-bar-middle {
|
|
41918
|
+
opacity: 0;
|
|
41919
|
+
}
|
|
41659
41920
|
|
|
41660
|
-
|
|
41661
|
-
|
|
41662
|
-
.nav-mobile-overlay .nav-mobile-panel {
|
|
41663
|
-
transition: none;
|
|
41664
|
-
transform: none;
|
|
41921
|
+
.nav-mobile-toggle[aria-expanded='true'] .nav-mobile-bar-bottom {
|
|
41922
|
+
transform: translateY(-6px) rotate(-45deg);
|
|
41665
41923
|
}
|
|
41666
41924
|
|
|
41667
|
-
|
|
41668
|
-
|
|
41925
|
+
@media (prefers-reduced-motion: reduce) {
|
|
41926
|
+
.nav-mobile-overlay .nav-mobile-backdrop,
|
|
41927
|
+
.nav-mobile-overlay .nav-mobile-panel {
|
|
41928
|
+
transition: none;
|
|
41929
|
+
transform: none;
|
|
41930
|
+
}
|
|
41931
|
+
|
|
41932
|
+
.nav-mobile-toggle .nav-mobile-bar {
|
|
41933
|
+
transition: none;
|
|
41934
|
+
}
|
|
41669
41935
|
}
|
|
41670
|
-
}
|
|
41671
41936
|
|
|
41672
|
-
/*
|
|
41937
|
+
/*
|
|
41673
41938
|
* Theme Scope Styles
|
|
41674
41939
|
*
|
|
41675
41940
|
* IMPORTANT: All :where(.theme-scope) selectors are wrapped in :where() to give them
|
|
@@ -41679,790 +41944,838 @@ var containerResponsiveThemeCss = `/*
|
|
|
41679
41944
|
* Example: \`h4 { color: white; }\` will override \`:where(:where(.theme-scope)) h4\`
|
|
41680
41945
|
*/
|
|
41681
41946
|
|
|
41682
|
-
:where(:where(.theme-scope)) {
|
|
41683
|
-
|
|
41684
|
-
|
|
41685
|
-
|
|
41686
|
-
|
|
41687
|
-
|
|
41688
|
-
|
|
41689
|
-
|
|
41690
|
-
|
|
41691
|
-
|
|
41692
|
-
|
|
41693
|
-
|
|
41694
|
-
|
|
41695
|
-
|
|
41947
|
+
:where(:where(.theme-scope)) {
|
|
41948
|
+
font-family: var(--font-body);
|
|
41949
|
+
letter-spacing: var(--ls-body);
|
|
41950
|
+
line-height: var(--lh-body);
|
|
41951
|
+
font-weight: var(--font-weight-body);
|
|
41952
|
+
|
|
41953
|
+
& h1,
|
|
41954
|
+
& h2,
|
|
41955
|
+
& h3,
|
|
41956
|
+
& h4,
|
|
41957
|
+
& h5,
|
|
41958
|
+
& h6 {
|
|
41959
|
+
font-family: var(--font-heading);
|
|
41960
|
+
/* Color is set by generateTypographyCss.ts with full cascade:
|
|
41696
41961
|
--section-heading-color -> --section-text-color -> --hc-hN -> --hc-heading -> inherit */
|
|
41697
|
-
|
|
41698
|
-
|
|
41699
|
-
|
|
41962
|
+
font-weight: var(--font-weight-heading);
|
|
41963
|
+
text-transform: var(--tt-heading);
|
|
41964
|
+
font-variant-caps: var(--fv-heading);
|
|
41965
|
+
}
|
|
41700
41966
|
}
|
|
41701
|
-
}
|
|
41702
41967
|
|
|
41703
|
-
/* Heading typographic overrides (fallback to defaults when not provided) */
|
|
41704
|
-
:where(:where(.theme-scope)) h1 {
|
|
41705
|
-
|
|
41706
|
-
|
|
41707
|
-
|
|
41708
|
-
}
|
|
41709
|
-
:where(:where(.theme-scope)) h2 {
|
|
41710
|
-
|
|
41711
|
-
|
|
41712
|
-
|
|
41713
|
-
}
|
|
41714
|
-
:where(:where(.theme-scope)) h3 {
|
|
41715
|
-
|
|
41716
|
-
|
|
41717
|
-
|
|
41718
|
-
}
|
|
41719
|
-
:where(:where(.theme-scope)) h4,
|
|
41720
|
-
:where(:where(.theme-scope)) h5,
|
|
41721
|
-
:where(:where(.theme-scope)) h6 {
|
|
41722
|
-
|
|
41723
|
-
|
|
41724
|
-
}
|
|
41725
|
-
:where(:where(.theme-scope)) h4 {
|
|
41726
|
-
|
|
41727
|
-
}
|
|
41728
|
-
:where(:where(.theme-scope)) h5 {
|
|
41729
|
-
|
|
41730
|
-
}
|
|
41731
|
-
:where(:where(.theme-scope)) h6 {
|
|
41732
|
-
|
|
41733
|
-
}
|
|
41968
|
+
/* Heading typographic overrides (fallback to defaults when not provided) */
|
|
41969
|
+
:where(:where(.theme-scope)) h1 {
|
|
41970
|
+
letter-spacing: var(--ls-h1, var(--ls-heading));
|
|
41971
|
+
line-height: var(--lh-h1, var(--lh-heading));
|
|
41972
|
+
font-weight: var(--fw-h1, var(--font-weight-heading));
|
|
41973
|
+
}
|
|
41974
|
+
:where(:where(.theme-scope)) h2 {
|
|
41975
|
+
letter-spacing: var(--ls-h2, var(--ls-heading));
|
|
41976
|
+
line-height: var(--lh-h2, var(--lh-heading));
|
|
41977
|
+
font-weight: var(--fw-h2, var(--font-weight-heading));
|
|
41978
|
+
}
|
|
41979
|
+
:where(:where(.theme-scope)) h3 {
|
|
41980
|
+
letter-spacing: var(--ls-h3, var(--ls-heading));
|
|
41981
|
+
line-height: var(--lh-h3, var(--lh-heading));
|
|
41982
|
+
font-weight: var(--fw-h3, var(--font-weight-heading));
|
|
41983
|
+
}
|
|
41984
|
+
:where(:where(.theme-scope)) h4,
|
|
41985
|
+
:where(:where(.theme-scope)) h5,
|
|
41986
|
+
:where(:where(.theme-scope)) h6 {
|
|
41987
|
+
letter-spacing: var(--ls-heading);
|
|
41988
|
+
line-height: var(--lh-heading);
|
|
41989
|
+
}
|
|
41990
|
+
:where(:where(.theme-scope)) h4 {
|
|
41991
|
+
font-weight: var(--fw-h4, var(--font-weight-heading));
|
|
41992
|
+
}
|
|
41993
|
+
:where(:where(.theme-scope)) h5 {
|
|
41994
|
+
font-weight: var(--fw-h5, var(--font-weight-heading));
|
|
41995
|
+
}
|
|
41996
|
+
:where(:where(.theme-scope)) h6 {
|
|
41997
|
+
font-weight: var(--fw-h6, var(--font-weight-heading));
|
|
41998
|
+
}
|
|
41734
41999
|
|
|
41735
|
-
/* Rich text element spacing based on theme rhythm */
|
|
41736
|
-
:where(.theme-scope) .rb-prose h1 {
|
|
41737
|
-
|
|
41738
|
-
|
|
41739
|
-
}
|
|
41740
|
-
:where(.theme-scope) .rb-prose h2 {
|
|
41741
|
-
|
|
41742
|
-
|
|
41743
|
-
}
|
|
41744
|
-
:where(.theme-scope) .rb-prose h3 {
|
|
41745
|
-
|
|
41746
|
-
|
|
41747
|
-
}
|
|
41748
|
-
:where(.theme-scope) .rb-prose h4 {
|
|
41749
|
-
|
|
41750
|
-
|
|
41751
|
-
}
|
|
41752
|
-
:where(.theme-scope) .rb-prose h5 {
|
|
41753
|
-
|
|
41754
|
-
|
|
41755
|
-
}
|
|
41756
|
-
:where(.theme-scope) .rb-prose h6 {
|
|
41757
|
-
|
|
41758
|
-
|
|
41759
|
-
}
|
|
41760
|
-
:where(.theme-scope) .rb-prose p {
|
|
41761
|
-
|
|
41762
|
-
}
|
|
41763
|
-
:where(.theme-scope) .rb-prose img {
|
|
41764
|
-
|
|
41765
|
-
|
|
41766
|
-
|
|
41767
|
-
|
|
41768
|
-
}
|
|
41769
|
-
:where(.theme-scope) .rb-prose ul,
|
|
41770
|
-
:where(.theme-scope) .rb-prose ol {
|
|
41771
|
-
|
|
41772
|
-
|
|
41773
|
-
}
|
|
41774
|
-
:where(.theme-scope) .rb-prose ul {
|
|
41775
|
-
|
|
41776
|
-
}
|
|
41777
|
-
:where(.theme-scope) .rb-prose ol {
|
|
41778
|
-
|
|
41779
|
-
}
|
|
41780
|
-
:where(.theme-scope) .rb-prose ul ul {
|
|
41781
|
-
|
|
41782
|
-
}
|
|
41783
|
-
:where(.theme-scope) .rb-prose ul ul ul {
|
|
41784
|
-
|
|
41785
|
-
}
|
|
41786
|
-
:where(.theme-scope) .rb-prose ol ol {
|
|
41787
|
-
|
|
41788
|
-
}
|
|
41789
|
-
:where(.theme-scope) .rb-prose ol ol ol {
|
|
41790
|
-
|
|
41791
|
-
}
|
|
41792
|
-
:where(.theme-scope) .rb-prose blockquote {
|
|
41793
|
-
|
|
41794
|
-
|
|
41795
|
-
|
|
41796
|
-
}
|
|
41797
|
-
:where(.theme-scope) .rb-prose > :first-child {
|
|
41798
|
-
|
|
41799
|
-
}
|
|
41800
|
-
:where(.theme-scope) .rb-prose > :last-child {
|
|
41801
|
-
|
|
41802
|
-
}
|
|
42000
|
+
/* Rich text element spacing based on theme rhythm */
|
|
42001
|
+
:where(.theme-scope) .rb-prose h1 {
|
|
42002
|
+
margin-top: calc(var(--rt-space-y) * 1.6);
|
|
42003
|
+
margin-bottom: calc(var(--rt-space-y) * 0.8);
|
|
42004
|
+
}
|
|
42005
|
+
:where(.theme-scope) .rb-prose h2 {
|
|
42006
|
+
margin-top: calc(var(--rt-space-y) * 1.4);
|
|
42007
|
+
margin-bottom: calc(var(--rt-space-y) * 0.7);
|
|
42008
|
+
}
|
|
42009
|
+
:where(.theme-scope) .rb-prose h3 {
|
|
42010
|
+
margin-top: calc(var(--rt-space-y) * 1.2);
|
|
42011
|
+
margin-bottom: calc(var(--rt-space-y) * 0.6);
|
|
42012
|
+
}
|
|
42013
|
+
:where(.theme-scope) .rb-prose h4 {
|
|
42014
|
+
margin-top: calc(var(--rt-space-y) * 1);
|
|
42015
|
+
margin-bottom: calc(var(--rt-space-y) * 0.5);
|
|
42016
|
+
}
|
|
42017
|
+
:where(.theme-scope) .rb-prose h5 {
|
|
42018
|
+
margin-top: calc(var(--rt-space-y) * 0.9);
|
|
42019
|
+
margin-bottom: calc(var(--rt-space-y) * 0.45);
|
|
42020
|
+
}
|
|
42021
|
+
:where(.theme-scope) .rb-prose h6 {
|
|
42022
|
+
margin-top: calc(var(--rt-space-y) * 0.8);
|
|
42023
|
+
margin-bottom: calc(var(--rt-space-y) * 0.4);
|
|
42024
|
+
}
|
|
42025
|
+
:where(.theme-scope) .rb-prose p {
|
|
42026
|
+
margin: var(--rt-space-y) 0;
|
|
42027
|
+
}
|
|
42028
|
+
:where(.theme-scope) .rb-prose img {
|
|
42029
|
+
display: block;
|
|
42030
|
+
max-width: 100%;
|
|
42031
|
+
height: auto;
|
|
42032
|
+
margin: calc(var(--rt-space-y) * 1) 0;
|
|
42033
|
+
}
|
|
42034
|
+
:where(.theme-scope) .rb-prose ul,
|
|
42035
|
+
:where(.theme-scope) .rb-prose ol {
|
|
42036
|
+
margin: var(--rt-space-y) 0;
|
|
42037
|
+
padding-left: 1.25rem;
|
|
42038
|
+
}
|
|
42039
|
+
:where(.theme-scope) .rb-prose ul {
|
|
42040
|
+
list-style-type: disc;
|
|
42041
|
+
}
|
|
42042
|
+
:where(.theme-scope) .rb-prose ol {
|
|
42043
|
+
list-style-type: decimal;
|
|
42044
|
+
}
|
|
42045
|
+
:where(.theme-scope) .rb-prose ul ul {
|
|
42046
|
+
list-style-type: circle;
|
|
42047
|
+
}
|
|
42048
|
+
:where(.theme-scope) .rb-prose ul ul ul {
|
|
42049
|
+
list-style-type: square;
|
|
42050
|
+
}
|
|
42051
|
+
:where(.theme-scope) .rb-prose ol ol {
|
|
42052
|
+
list-style-type: lower-alpha;
|
|
42053
|
+
}
|
|
42054
|
+
:where(.theme-scope) .rb-prose ol ol ol {
|
|
42055
|
+
list-style-type: lower-roman;
|
|
42056
|
+
}
|
|
42057
|
+
:where(.theme-scope) .rb-prose blockquote {
|
|
42058
|
+
margin: calc(var(--rt-space-y) * 1) 0;
|
|
42059
|
+
padding-left: 1rem;
|
|
42060
|
+
border-left: 3px solid rgb(var(--tb-border));
|
|
42061
|
+
}
|
|
42062
|
+
:where(.theme-scope) .rb-prose > :first-child {
|
|
42063
|
+
margin-top: 0;
|
|
42064
|
+
}
|
|
42065
|
+
:where(.theme-scope) .rb-prose > :last-child {
|
|
42066
|
+
margin-bottom: 0;
|
|
42067
|
+
}
|
|
41803
42068
|
|
|
41804
|
-
/* Prose color overrides - use theme CSS variables instead of hardcoded colors
|
|
42069
|
+
/* Prose color overrides - use theme CSS variables instead of hardcoded colors
|
|
41805
42070
|
* This makes prose elements automatically adapt to light/dark themes */
|
|
41806
|
-
:where(.theme-scope) .rb-prose {
|
|
41807
|
-
|
|
41808
|
-
|
|
41809
|
-
}
|
|
42071
|
+
:where(.theme-scope) .rb-prose {
|
|
42072
|
+
/* Body text inherits from parent, which should already have theme color */
|
|
42073
|
+
color: inherit;
|
|
42074
|
+
}
|
|
41810
42075
|
|
|
41811
|
-
/* Prose size variants (theme-aware, CSS-only) */
|
|
41812
|
-
:where(.theme-scope) {
|
|
41813
|
-
|
|
41814
|
-
|
|
41815
|
-
|
|
42076
|
+
/* Prose size variants (theme-aware, CSS-only) */
|
|
42077
|
+
:where(.theme-scope) {
|
|
42078
|
+
/* Body scale + rhythm come from the active theme runtime (ThemeScope) */
|
|
42079
|
+
--rb-prose-sm-font-size: calc(var(--fs-body, 16px) * 0.875);
|
|
42080
|
+
--rb-prose-sm-line-height: calc(var(--lh-body, 1.65) - 0.05);
|
|
41816
42081
|
|
|
41817
|
-
|
|
41818
|
-
|
|
42082
|
+
--rb-prose-lg-font-size: calc(var(--fs-body, 16px) * 1.125);
|
|
42083
|
+
--rb-prose-lg-line-height: calc(var(--lh-body, 1.65) + 0.1);
|
|
41819
42084
|
|
|
41820
|
-
|
|
41821
|
-
|
|
41822
|
-
|
|
41823
|
-
}
|
|
42085
|
+
/* Applied at >= 640px; below that, rb-prose-lg is typically used */
|
|
42086
|
+
--rb-prose-xl-sm-font-size: calc(var(--fs-body, 16px) * 1.25);
|
|
42087
|
+
--rb-prose-xl-sm-line-height: calc(var(--lh-body, 1.65) + 0.15);
|
|
42088
|
+
}
|
|
41824
42089
|
|
|
41825
|
-
:where(.theme-scope) .rb-prose-sm {
|
|
41826
|
-
|
|
41827
|
-
|
|
41828
|
-
}
|
|
41829
|
-
:where(.theme-scope) .rb-prose-lg {
|
|
41830
|
-
|
|
41831
|
-
|
|
41832
|
-
}
|
|
41833
|
-
@container rb-site (min-width: 640px) {
|
|
42090
|
+
:where(.theme-scope) .rb-prose-sm {
|
|
42091
|
+
font-size: var(--rb-prose-sm-font-size);
|
|
42092
|
+
line-height: var(--rb-prose-sm-line-height);
|
|
42093
|
+
}
|
|
42094
|
+
:where(.theme-scope) .rb-prose-lg {
|
|
42095
|
+
font-size: var(--rb-prose-lg-font-size);
|
|
42096
|
+
line-height: var(--rb-prose-lg-line-height);
|
|
42097
|
+
}
|
|
42098
|
+
@container rb-site (min-width: 640px) {
|
|
41834
42099
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
41835
42100
|
:where(.theme-scope) .rb-prose-xl-sm {
|
|
41836
|
-
|
|
41837
|
-
|
|
41838
|
-
|
|
42101
|
+
font-size: var(--rb-prose-xl-sm-font-size);
|
|
42102
|
+
line-height: var(--rb-prose-xl-sm-line-height);
|
|
42103
|
+
}
|
|
41839
42104
|
}
|
|
41840
42105
|
}
|
|
41841
42106
|
|
|
41842
|
-
/* Neutral prose uses theme text color by default */
|
|
41843
|
-
:where(.theme-scope) .rb-prose-neutral {
|
|
41844
|
-
|
|
41845
|
-
}
|
|
42107
|
+
/* Neutral prose uses theme text color by default */
|
|
42108
|
+
:where(.theme-scope) .rb-prose-neutral {
|
|
42109
|
+
color: rgb(var(--tb-text));
|
|
42110
|
+
}
|
|
41846
42111
|
|
|
41847
|
-
:where(.theme-scope) .rb-prose p,
|
|
41848
|
-
:where(.theme-scope) .rb-prose li {
|
|
41849
|
-
|
|
41850
|
-
|
|
41851
|
-
}
|
|
42112
|
+
:where(.theme-scope) .rb-prose p,
|
|
42113
|
+
:where(.theme-scope) .rb-prose li {
|
|
42114
|
+
/* Body text uses inherited color (set by fragment via textColorStyle) */
|
|
42115
|
+
color: inherit;
|
|
42116
|
+
}
|
|
41852
42117
|
|
|
41853
|
-
:where(.theme-scope) .rb-prose h1,
|
|
41854
|
-
:where(.theme-scope) .rb-prose h2,
|
|
41855
|
-
:where(.theme-scope) .rb-prose h3,
|
|
41856
|
-
:where(.theme-scope) .rb-prose h4,
|
|
41857
|
-
:where(.theme-scope) .rb-prose h5,
|
|
41858
|
-
:where(.theme-scope) .rb-prose h6 {
|
|
41859
|
-
|
|
41860
|
-
|
|
41861
|
-
}
|
|
42118
|
+
:where(.theme-scope) .rb-prose h1,
|
|
42119
|
+
:where(.theme-scope) .rb-prose h2,
|
|
42120
|
+
:where(.theme-scope) .rb-prose h3,
|
|
42121
|
+
:where(.theme-scope) .rb-prose h4,
|
|
42122
|
+
:where(.theme-scope) .rb-prose h5,
|
|
42123
|
+
:where(.theme-scope) .rb-prose h6 {
|
|
42124
|
+
/* Headings inherit from parent or use theme text color */
|
|
42125
|
+
color: inherit;
|
|
42126
|
+
}
|
|
41862
42127
|
|
|
41863
|
-
:where(.theme-scope) .rb-prose strong,
|
|
41864
|
-
:where(.theme-scope) .rb-prose b {
|
|
41865
|
-
|
|
41866
|
-
|
|
41867
|
-
|
|
41868
|
-
}
|
|
42128
|
+
:where(.theme-scope) .rb-prose strong,
|
|
42129
|
+
:where(.theme-scope) .rb-prose b {
|
|
42130
|
+
/* Bold text inherits color but increases weight */
|
|
42131
|
+
color: inherit;
|
|
42132
|
+
font-weight: 600;
|
|
42133
|
+
}
|
|
41869
42134
|
|
|
41870
|
-
:where(.theme-scope) .rb-prose em,
|
|
41871
|
-
:where(.theme-scope) .rb-prose i {
|
|
41872
|
-
|
|
41873
|
-
|
|
41874
|
-
}
|
|
42135
|
+
:where(.theme-scope) .rb-prose em,
|
|
42136
|
+
:where(.theme-scope) .rb-prose i {
|
|
42137
|
+
/* Italic text inherits color */
|
|
42138
|
+
color: inherit;
|
|
42139
|
+
}
|
|
41875
42140
|
|
|
41876
|
-
:where(.theme-scope) .rb-prose a {
|
|
41877
|
-
|
|
41878
|
-
|
|
41879
|
-
|
|
41880
|
-
|
|
41881
|
-
|
|
41882
|
-
|
|
41883
|
-
|
|
41884
|
-
|
|
41885
|
-
|
|
41886
|
-
text-decoration-color
|
|
41887
|
-
|
|
42141
|
+
:where(.theme-scope) .rb-prose a {
|
|
42142
|
+
/* Global prose link style with theme-level overrides */
|
|
42143
|
+
color: var(--rb-prose-link-color, rgb(var(--tb-primary)));
|
|
42144
|
+
text-decoration-line: var(--rb-prose-link-decoration-line, underline);
|
|
42145
|
+
text-decoration-style: var(--rb-prose-link-underline-style, solid);
|
|
42146
|
+
text-decoration-thickness: var(
|
|
42147
|
+
--rb-prose-link-underline-thickness,
|
|
42148
|
+
from-font
|
|
42149
|
+
);
|
|
42150
|
+
text-underline-offset: var(--rb-prose-link-underline-offset, 0.14em);
|
|
42151
|
+
text-decoration-color: var(
|
|
42152
|
+
--rb-prose-link-decoration-color,
|
|
42153
|
+
rgba(var(--tb-primary), 0.3)
|
|
42154
|
+
);
|
|
42155
|
+
transition:
|
|
42156
|
+
color 150ms ease,
|
|
42157
|
+
text-decoration-color 150ms ease;
|
|
42158
|
+
}
|
|
41888
42159
|
|
|
41889
|
-
:where(.theme-scope) .rb-prose a:hover {
|
|
41890
|
-
|
|
41891
|
-
|
|
41892
|
-
|
|
41893
|
-
|
|
41894
|
-
|
|
41895
|
-
|
|
42160
|
+
:where(.theme-scope) .rb-prose a:hover {
|
|
42161
|
+
color: var(
|
|
42162
|
+
--rb-prose-link-hover-color,
|
|
42163
|
+
var(--rb-prose-link-color, rgb(var(--tb-primary)))
|
|
42164
|
+
);
|
|
42165
|
+
text-decoration-color: var(
|
|
42166
|
+
--rb-prose-link-hover-decoration-color,
|
|
42167
|
+
var(
|
|
42168
|
+
--rb-prose-link-hover-color,
|
|
42169
|
+
var(--rb-prose-link-color, rgb(var(--tb-primary)))
|
|
42170
|
+
)
|
|
42171
|
+
);
|
|
42172
|
+
}
|
|
41896
42173
|
|
|
41897
|
-
:where(.theme-scope) .rb-prose blockquote {
|
|
41898
|
-
|
|
41899
|
-
|
|
41900
|
-
|
|
41901
|
-
}
|
|
42174
|
+
:where(.theme-scope) .rb-prose blockquote {
|
|
42175
|
+
/* Blockquotes use muted text color */
|
|
42176
|
+
color: rgb(var(--tb-mutedText));
|
|
42177
|
+
border-left-color: rgb(var(--tb-border));
|
|
42178
|
+
}
|
|
41902
42179
|
|
|
41903
|
-
:where(.theme-scope) .fragment-quote-body blockquote {
|
|
41904
|
-
|
|
41905
|
-
|
|
41906
|
-
|
|
41907
|
-
}
|
|
42180
|
+
:where(.theme-scope) .fragment-quote-body blockquote {
|
|
42181
|
+
/* Quote fragment should not get the generic prose blockquote left border/indent. */
|
|
42182
|
+
border-left: 0;
|
|
42183
|
+
padding-left: 0;
|
|
42184
|
+
}
|
|
41908
42185
|
|
|
41909
|
-
:where(.theme-scope) .rb-columns-equal-height {
|
|
41910
|
-
|
|
41911
|
-
|
|
42186
|
+
:where(.theme-scope) .rb-columns-equal-height {
|
|
42187
|
+
/* Needed so we can use container query units (\`cqw\`) for width-based tile sizing. */
|
|
42188
|
+
container-type: inline-size;
|
|
41912
42189
|
|
|
41913
|
-
|
|
41914
|
-
|
|
41915
|
-
|
|
42190
|
+
--rb-columns-cols: var(--rb-columns-cols-mobile, 1);
|
|
42191
|
+
--rb-columns-gap: var(--rb-semantic-gap, 0px);
|
|
42192
|
+
--rb-columns-tile-ar: var(--rb-columns-tile-ar, 1);
|
|
41916
42193
|
|
|
41917
|
-
|
|
41918
|
-
|
|
41919
|
-
|
|
41920
|
-
|
|
41921
|
-
|
|
42194
|
+
--rb-columns-tile-w: calc(
|
|
42195
|
+
(100cqw - (var(--rb-columns-cols) - 1) * var(--rb-columns-gap)) /
|
|
42196
|
+
var(--rb-columns-cols)
|
|
42197
|
+
);
|
|
42198
|
+
--rb-columns-tile-h: calc(
|
|
42199
|
+
var(--rb-columns-tile-w) * var(--rb-columns-tile-ar)
|
|
42200
|
+
);
|
|
42201
|
+
}
|
|
41922
42202
|
|
|
41923
|
-
@container rb-site (min-width: 768px) {
|
|
42203
|
+
@container rb-site (min-width: 768px) {
|
|
41924
42204
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
41925
42205
|
:where(.theme-scope) .rb-columns-equal-height {
|
|
41926
|
-
|
|
41927
|
-
|
|
42206
|
+
--rb-columns-cols: var(--rb-columns-cols-md, var(--rb-columns-cols));
|
|
42207
|
+
}
|
|
41928
42208
|
}
|
|
41929
42209
|
}
|
|
41930
42210
|
|
|
41931
|
-
@container rb-site (min-width: 1024px) {
|
|
42211
|
+
@container rb-site (min-width: 1024px) {
|
|
41932
42212
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
41933
42213
|
:where(.theme-scope) .rb-columns-equal-height {
|
|
41934
|
-
|
|
41935
|
-
|
|
42214
|
+
--rb-columns-cols: var(--rb-columns-cols-lg, var(--rb-columns-cols));
|
|
42215
|
+
}
|
|
41936
42216
|
}
|
|
41937
42217
|
}
|
|
41938
42218
|
|
|
41939
|
-
@container rb-site (min-width: 1280px) {
|
|
42219
|
+
@container rb-site (min-width: 1280px) {
|
|
41940
42220
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
41941
42221
|
:where(.theme-scope) .rb-columns-equal-height {
|
|
41942
|
-
|
|
41943
|
-
|
|
42222
|
+
--rb-columns-cols: var(--rb-columns-cols-xl, var(--rb-columns-cols));
|
|
42223
|
+
}
|
|
41944
42224
|
}
|
|
41945
42225
|
}
|
|
41946
42226
|
|
|
41947
|
-
:where(.theme-scope) .rb-columns-equal-height > * {
|
|
41948
|
-
|
|
41949
|
-
}
|
|
42227
|
+
:where(.theme-scope) .rb-columns-equal-height > * {
|
|
42228
|
+
height: var(--rb-columns-tile-h);
|
|
42229
|
+
}
|
|
41950
42230
|
|
|
41951
|
-
:where(.theme-scope) .rb-columns-equal-height > .rb-h-full {
|
|
41952
|
-
|
|
42231
|
+
:where(.theme-scope) .rb-columns-equal-height > .rb-h-full {
|
|
42232
|
+
/*
|
|
41953
42233
|
Grid items commonly include \`rb-h-full\` (height: 100%) to stretch within
|
|
41954
42234
|
their row. In equal-height mode we instead want a fixed tile height so the
|
|
41955
42235
|
spanning editorial tile doesn't become taller due to its larger width +
|
|
41956
42236
|
aspect-ratio.
|
|
41957
42237
|
*/
|
|
41958
|
-
|
|
41959
|
-
|
|
41960
|
-
|
|
41961
|
-
}
|
|
42238
|
+
height: var(--rb-columns-tile-h);
|
|
42239
|
+
min-height: var(--rb-columns-tile-h);
|
|
42240
|
+
max-height: var(--rb-columns-tile-h);
|
|
42241
|
+
}
|
|
41962
42242
|
|
|
41963
|
-
:where(.theme-scope) .rb-columns-equal-height .fragment-image-frame {
|
|
41964
|
-
|
|
41965
|
-
|
|
41966
|
-
|
|
41967
|
-
}
|
|
42243
|
+
:where(.theme-scope) .rb-columns-equal-height .fragment-image-frame {
|
|
42244
|
+
width: 100%;
|
|
42245
|
+
height: 100%;
|
|
42246
|
+
overflow: hidden;
|
|
42247
|
+
}
|
|
41968
42248
|
|
|
41969
|
-
:where(.theme-scope) .rb-columns-equal-height .fragment-image {
|
|
41970
|
-
|
|
41971
|
-
|
|
41972
|
-
|
|
41973
|
-
}
|
|
42249
|
+
:where(.theme-scope) .rb-columns-equal-height .fragment-image {
|
|
42250
|
+
width: 100%;
|
|
42251
|
+
height: 100%;
|
|
42252
|
+
object-fit: cover;
|
|
42253
|
+
}
|
|
41974
42254
|
|
|
41975
|
-
:where(.theme-scope) .rb-prose code {
|
|
41976
|
-
|
|
41977
|
-
|
|
41978
|
-
|
|
41979
|
-
|
|
41980
|
-
|
|
41981
|
-
|
|
41982
|
-
}
|
|
42255
|
+
:where(.theme-scope) .rb-prose code {
|
|
42256
|
+
/* Inline code uses text color with surface background */
|
|
42257
|
+
color: inherit;
|
|
42258
|
+
background-color: rgba(var(--tb-surface), 0.5);
|
|
42259
|
+
padding: 0.125rem 0.25rem;
|
|
42260
|
+
border-radius: 0.25rem;
|
|
42261
|
+
font-size: 0.875em;
|
|
42262
|
+
}
|
|
41983
42263
|
|
|
41984
|
-
:where(.theme-scope) .rb-prose pre {
|
|
41985
|
-
|
|
41986
|
-
|
|
41987
|
-
|
|
41988
|
-
|
|
41989
|
-
|
|
41990
|
-
|
|
41991
|
-
|
|
41992
|
-
}
|
|
42264
|
+
:where(.theme-scope) .rb-prose pre {
|
|
42265
|
+
/* Code blocks */
|
|
42266
|
+
background-color: rgb(var(--tb-surface));
|
|
42267
|
+
color: rgb(var(--tb-text));
|
|
42268
|
+
border: 1px solid rgb(var(--tb-border));
|
|
42269
|
+
border-radius: 0.5rem;
|
|
42270
|
+
padding: 1rem;
|
|
42271
|
+
overflow-x: auto;
|
|
42272
|
+
}
|
|
41993
42273
|
|
|
41994
|
-
:where(.theme-scope) .rb-prose pre code {
|
|
41995
|
-
|
|
41996
|
-
|
|
41997
|
-
|
|
41998
|
-
|
|
41999
|
-
}
|
|
42274
|
+
:where(.theme-scope) .rb-prose pre code {
|
|
42275
|
+
/* Code inside pre blocks */
|
|
42276
|
+
background-color: transparent;
|
|
42277
|
+
padding: 0;
|
|
42278
|
+
color: inherit;
|
|
42279
|
+
}
|
|
42000
42280
|
|
|
42001
|
-
:where(.theme-scope) .rb-prose hr {
|
|
42002
|
-
|
|
42003
|
-
|
|
42004
|
-
}
|
|
42281
|
+
:where(.theme-scope) .rb-prose hr {
|
|
42282
|
+
/* Horizontal rules */
|
|
42283
|
+
border-color: rgb(var(--tb-border));
|
|
42284
|
+
}
|
|
42005
42285
|
|
|
42006
|
-
:where(.theme-scope) .rb-prose ul > li::marker,
|
|
42007
|
-
:where(.theme-scope) .rb-prose ol > li::marker {
|
|
42008
|
-
|
|
42009
|
-
|
|
42010
|
-
}
|
|
42286
|
+
:where(.theme-scope) .rb-prose ul > li::marker,
|
|
42287
|
+
:where(.theme-scope) .rb-prose ol > li::marker {
|
|
42288
|
+
/* List markers use muted text color */
|
|
42289
|
+
color: rgb(var(--tb-mutedText));
|
|
42290
|
+
}
|
|
42011
42291
|
|
|
42012
|
-
/*
|
|
42292
|
+
/*
|
|
42013
42293
|
/* Density helpers */
|
|
42014
|
-
:where(.theme-scope) .section-pad {
|
|
42015
|
-
|
|
42016
|
-
|
|
42017
|
-
}
|
|
42018
|
-
:where(.theme-scope)[data-density=
|
|
42019
|
-
|
|
42020
|
-
|
|
42021
|
-
}
|
|
42022
|
-
:where(.theme-scope)[data-density=
|
|
42023
|
-
|
|
42024
|
-
|
|
42025
|
-
}
|
|
42026
|
-
|
|
42027
|
-
:where(.theme-scope) .rounded-control {
|
|
42028
|
-
border-radius: var(--radius-control);
|
|
42029
|
-
}
|
|
42030
|
-
:where(.theme-scope) .rounded-card {
|
|
42031
|
-
border-radius: var(--radius-card);
|
|
42032
|
-
}
|
|
42294
|
+
:where(.theme-scope) .section-pad {
|
|
42295
|
+
padding-top: 4rem;
|
|
42296
|
+
padding-bottom: 4rem;
|
|
42297
|
+
}
|
|
42298
|
+
:where(.theme-scope)[data-density='airy'] .section-pad {
|
|
42299
|
+
padding-top: 4.5rem;
|
|
42300
|
+
padding-bottom: 4.5rem;
|
|
42301
|
+
}
|
|
42302
|
+
:where(.theme-scope)[data-density='compact'] .section-pad {
|
|
42303
|
+
padding-top: 3rem;
|
|
42304
|
+
padding-bottom: 3rem;
|
|
42305
|
+
}
|
|
42033
42306
|
|
|
42034
|
-
:where(.theme-scope) .
|
|
42035
|
-
|
|
42036
|
-
}
|
|
42307
|
+
:where(.theme-scope) .rounded-control {
|
|
42308
|
+
border-radius: var(--radius-control);
|
|
42309
|
+
}
|
|
42310
|
+
:where(.theme-scope) .rounded-card {
|
|
42311
|
+
border-radius: var(--radius-card);
|
|
42312
|
+
}
|
|
42037
42313
|
|
|
42038
|
-
:where(.theme-scope) .
|
|
42039
|
-
|
|
42040
|
-
}
|
|
42041
|
-
:where(.theme-scope) .font-body {
|
|
42042
|
-
font-family: var(--font-body);
|
|
42043
|
-
}
|
|
42314
|
+
:where(.theme-scope) .shadow-elev {
|
|
42315
|
+
box-shadow: var(--shadow-elev);
|
|
42316
|
+
}
|
|
42044
42317
|
|
|
42045
|
-
:where(.theme-scope) .
|
|
42046
|
-
|
|
42047
|
-
|
|
42048
|
-
|
|
42049
|
-
:
|
|
42050
|
-
|
|
42051
|
-
line-height: 1.15;
|
|
42052
|
-
}
|
|
42053
|
-
:where(.theme-scope) .text-h3 {
|
|
42054
|
-
font-size: var(--fs-h3);
|
|
42055
|
-
line-height: 1.2;
|
|
42056
|
-
}
|
|
42057
|
-
:where(.theme-scope) .text-body-size {
|
|
42058
|
-
font-size: var(--fs-body);
|
|
42059
|
-
}
|
|
42318
|
+
:where(.theme-scope) .font-heading {
|
|
42319
|
+
font-family: var(--font-heading);
|
|
42320
|
+
}
|
|
42321
|
+
:where(.theme-scope) .font-body {
|
|
42322
|
+
font-family: var(--font-body);
|
|
42323
|
+
}
|
|
42060
42324
|
|
|
42061
|
-
:where(.theme-scope) .
|
|
42062
|
-
|
|
42063
|
-
|
|
42064
|
-
|
|
42065
|
-
|
|
42066
|
-
|
|
42067
|
-
:
|
|
42068
|
-
|
|
42069
|
-
|
|
42070
|
-
:
|
|
42071
|
-
|
|
42072
|
-
}
|
|
42325
|
+
:where(.theme-scope) .text-h1 {
|
|
42326
|
+
font-size: var(--fs-h1);
|
|
42327
|
+
line-height: 1.1;
|
|
42328
|
+
}
|
|
42329
|
+
:where(.theme-scope) .text-h2 {
|
|
42330
|
+
font-size: var(--fs-h2);
|
|
42331
|
+
line-height: 1.15;
|
|
42332
|
+
}
|
|
42333
|
+
:where(.theme-scope) .text-h3 {
|
|
42334
|
+
font-size: var(--fs-h3);
|
|
42335
|
+
line-height: 1.2;
|
|
42336
|
+
}
|
|
42337
|
+
:where(.theme-scope) .text-body-size {
|
|
42338
|
+
font-size: var(--fs-body);
|
|
42339
|
+
}
|
|
42073
42340
|
|
|
42074
|
-
|
|
42075
|
-
:
|
|
42076
|
-
|
|
42077
|
-
|
|
42078
|
-
|
|
42079
|
-
}
|
|
42080
|
-
:where(.theme-scope) .
|
|
42081
|
-
|
|
42082
|
-
}
|
|
42083
|
-
:where(.theme-scope) .
|
|
42084
|
-
|
|
42085
|
-
|
|
42086
|
-
--rb-gradient-to: rgb(var(--tb-primary-100)) var(--rb-gradient-to-position);
|
|
42087
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42088
|
-
}
|
|
42089
|
-
:where(.theme-scope) .to-primary-100 {
|
|
42090
|
-
--rb-gradient-to: rgb(var(--tb-primary-100)) var(--rb-gradient-to-position);
|
|
42091
|
-
}
|
|
42092
|
-
:where(.theme-scope) .from-primary-200 {
|
|
42093
|
-
--rb-gradient-from: rgb(var(--tb-primary-200))
|
|
42094
|
-
var(--rb-gradient-from-position);
|
|
42095
|
-
--rb-gradient-to: rgb(var(--tb-primary-200)) var(--rb-gradient-to-position);
|
|
42096
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42097
|
-
}
|
|
42098
|
-
:where(.theme-scope) .to-primary-200 {
|
|
42099
|
-
--rb-gradient-to: rgb(var(--tb-primary-200)) var(--rb-gradient-to-position);
|
|
42100
|
-
}
|
|
42101
|
-
:where(.theme-scope) .from-primary-300 {
|
|
42102
|
-
--rb-gradient-from: rgb(var(--tb-primary-300))
|
|
42103
|
-
var(--rb-gradient-from-position);
|
|
42104
|
-
--rb-gradient-to: rgb(var(--tb-primary-300)) var(--rb-gradient-to-position);
|
|
42105
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42106
|
-
}
|
|
42107
|
-
:where(.theme-scope) .to-primary-300 {
|
|
42108
|
-
--rb-gradient-to: rgb(var(--tb-primary-300)) var(--rb-gradient-to-position);
|
|
42109
|
-
}
|
|
42110
|
-
:where(.theme-scope) .from-primary-400 {
|
|
42111
|
-
--rb-gradient-from: rgb(var(--tb-primary-400))
|
|
42112
|
-
var(--rb-gradient-from-position);
|
|
42113
|
-
--rb-gradient-to: rgb(var(--tb-primary-400)) var(--rb-gradient-to-position);
|
|
42114
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42115
|
-
}
|
|
42116
|
-
:where(.theme-scope) .to-primary-400 {
|
|
42117
|
-
--rb-gradient-to: rgb(var(--tb-primary-400)) var(--rb-gradient-to-position);
|
|
42118
|
-
}
|
|
42119
|
-
:where(.theme-scope) .from-primary-500 {
|
|
42120
|
-
--rb-gradient-from: rgb(var(--tb-primary-500))
|
|
42121
|
-
var(--rb-gradient-from-position);
|
|
42122
|
-
--rb-gradient-to: rgb(var(--tb-primary-500)) var(--rb-gradient-to-position);
|
|
42123
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42124
|
-
}
|
|
42125
|
-
:where(.theme-scope) .to-primary-500 {
|
|
42126
|
-
--rb-gradient-to: rgb(var(--tb-primary-500)) var(--rb-gradient-to-position);
|
|
42127
|
-
}
|
|
42128
|
-
:where(.theme-scope) .from-primary-600 {
|
|
42129
|
-
--rb-gradient-from: rgb(var(--tb-primary-600))
|
|
42130
|
-
var(--rb-gradient-from-position);
|
|
42131
|
-
--rb-gradient-to: rgb(var(--tb-primary-600)) var(--rb-gradient-to-position);
|
|
42132
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42133
|
-
}
|
|
42134
|
-
:where(.theme-scope) .to-primary-600 {
|
|
42135
|
-
--rb-gradient-to: rgb(var(--tb-primary-600)) var(--rb-gradient-to-position);
|
|
42136
|
-
}
|
|
42137
|
-
:where(.theme-scope) .from-primary-700 {
|
|
42138
|
-
--rb-gradient-from: rgb(var(--tb-primary-700))
|
|
42139
|
-
var(--rb-gradient-from-position);
|
|
42140
|
-
--rb-gradient-to: rgb(var(--tb-primary-700)) var(--rb-gradient-to-position);
|
|
42141
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42142
|
-
}
|
|
42143
|
-
:where(.theme-scope) .to-primary-700 {
|
|
42144
|
-
--rb-gradient-to: rgb(var(--tb-primary-700)) var(--rb-gradient-to-position);
|
|
42145
|
-
}
|
|
42146
|
-
:where(.theme-scope) .from-primary-800 {
|
|
42147
|
-
--rb-gradient-from: rgb(var(--tb-primary-800))
|
|
42148
|
-
var(--rb-gradient-from-position);
|
|
42149
|
-
--rb-gradient-to: rgb(var(--tb-primary-800)) var(--rb-gradient-to-position);
|
|
42150
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42151
|
-
}
|
|
42152
|
-
:where(.theme-scope) .to-primary-800 {
|
|
42153
|
-
--rb-gradient-to: rgb(var(--tb-primary-800)) var(--rb-gradient-to-position);
|
|
42154
|
-
}
|
|
42155
|
-
:where(.theme-scope) .from-primary-900 {
|
|
42156
|
-
--rb-gradient-from: rgb(var(--tb-primary-900))
|
|
42157
|
-
var(--rb-gradient-from-position);
|
|
42158
|
-
--rb-gradient-to: rgb(var(--tb-primary-900)) var(--rb-gradient-to-position);
|
|
42159
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42160
|
-
}
|
|
42161
|
-
:where(.theme-scope) .to-primary-900 {
|
|
42162
|
-
--rb-gradient-to: rgb(var(--tb-primary-900)) var(--rb-gradient-to-position);
|
|
42163
|
-
}
|
|
42164
|
-
:where(.theme-scope) .from-primary-950 {
|
|
42165
|
-
--rb-gradient-from: rgb(var(--tb-primary-950))
|
|
42166
|
-
var(--rb-gradient-from-position);
|
|
42167
|
-
--rb-gradient-to: rgb(var(--tb-primary-950)) var(--rb-gradient-to-position);
|
|
42168
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42169
|
-
}
|
|
42170
|
-
:where(.theme-scope) .to-primary-950 {
|
|
42171
|
-
--rb-gradient-to: rgb(var(--tb-primary-950)) var(--rb-gradient-to-position);
|
|
42172
|
-
}
|
|
42173
|
-
|
|
42174
|
-
/* Shade tokens (50..950) for secondary */
|
|
42175
|
-
:where(.theme-scope) .from-secondary-50 {
|
|
42176
|
-
--rb-gradient-from: rgb(var(--tb-secondary-50))
|
|
42177
|
-
var(--rb-gradient-from-position);
|
|
42178
|
-
--rb-gradient-to: rgb(var(--tb-secondary-50)) var(--rb-gradient-to-position);
|
|
42179
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42180
|
-
}
|
|
42181
|
-
:where(.theme-scope) .to-secondary-50 {
|
|
42182
|
-
--rb-gradient-to: rgb(var(--tb-secondary-50)) var(--rb-gradient-to-position);
|
|
42183
|
-
}
|
|
42184
|
-
:where(.theme-scope) .from-secondary-100 {
|
|
42185
|
-
--rb-gradient-from: rgb(var(--tb-secondary-100))
|
|
42186
|
-
var(--rb-gradient-from-position);
|
|
42187
|
-
--rb-gradient-to: rgb(var(--tb-secondary-100)) var(--rb-gradient-to-position);
|
|
42188
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42189
|
-
}
|
|
42190
|
-
:where(.theme-scope) .to-secondary-100 {
|
|
42191
|
-
--rb-gradient-to: rgb(var(--tb-secondary-100)) var(--rb-gradient-to-position);
|
|
42192
|
-
}
|
|
42193
|
-
:where(.theme-scope) .from-secondary-200 {
|
|
42194
|
-
--rb-gradient-from: rgb(var(--tb-secondary-200))
|
|
42195
|
-
var(--rb-gradient-from-position);
|
|
42196
|
-
--rb-gradient-to: rgb(var(--tb-secondary-200)) var(--rb-gradient-to-position);
|
|
42197
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42198
|
-
}
|
|
42199
|
-
:where(.theme-scope) .to-secondary-200 {
|
|
42200
|
-
--rb-gradient-to: rgb(var(--tb-secondary-200)) var(--rb-gradient-to-position);
|
|
42201
|
-
}
|
|
42202
|
-
:where(.theme-scope) .from-secondary-300 {
|
|
42203
|
-
--rb-gradient-from: rgb(var(--tb-secondary-300))
|
|
42204
|
-
var(--rb-gradient-from-position);
|
|
42205
|
-
--rb-gradient-to: rgb(var(--tb-secondary-300)) var(--rb-gradient-to-position);
|
|
42206
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42207
|
-
}
|
|
42208
|
-
:where(.theme-scope) .to-secondary-300 {
|
|
42209
|
-
--rb-gradient-to: rgb(var(--tb-secondary-300)) var(--rb-gradient-to-position);
|
|
42210
|
-
}
|
|
42211
|
-
:where(.theme-scope) .from-secondary-400 {
|
|
42212
|
-
--rb-gradient-from: rgb(var(--tb-secondary-400))
|
|
42213
|
-
var(--rb-gradient-from-position);
|
|
42214
|
-
--rb-gradient-to: rgb(var(--tb-secondary-400)) var(--rb-gradient-to-position);
|
|
42215
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42216
|
-
}
|
|
42217
|
-
:where(.theme-scope) .to-secondary-400 {
|
|
42218
|
-
--rb-gradient-to: rgb(var(--tb-secondary-400)) var(--rb-gradient-to-position);
|
|
42219
|
-
}
|
|
42220
|
-
:where(.theme-scope) .from-secondary-500 {
|
|
42221
|
-
--rb-gradient-from: rgb(var(--tb-secondary-500))
|
|
42222
|
-
var(--rb-gradient-from-position);
|
|
42223
|
-
--rb-gradient-to: rgb(var(--tb-secondary-500)) var(--rb-gradient-to-position);
|
|
42224
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42225
|
-
}
|
|
42226
|
-
:where(.theme-scope) .to-secondary-500 {
|
|
42227
|
-
--rb-gradient-to: rgb(var(--tb-secondary-500)) var(--rb-gradient-to-position);
|
|
42228
|
-
}
|
|
42229
|
-
:where(.theme-scope) .from-secondary-600 {
|
|
42230
|
-
--rb-gradient-from: rgb(var(--tb-secondary-600))
|
|
42231
|
-
var(--rb-gradient-from-position);
|
|
42232
|
-
--rb-gradient-to: rgb(var(--tb-secondary-600)) var(--rb-gradient-to-position);
|
|
42233
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42234
|
-
}
|
|
42235
|
-
:where(.theme-scope) .to-secondary-600 {
|
|
42236
|
-
--rb-gradient-to: rgb(var(--tb-secondary-600)) var(--rb-gradient-to-position);
|
|
42237
|
-
}
|
|
42238
|
-
:where(.theme-scope) .from-secondary-700 {
|
|
42239
|
-
--rb-gradient-from: rgb(var(--tb-secondary-700))
|
|
42240
|
-
var(--rb-gradient-from-position);
|
|
42241
|
-
--rb-gradient-to: rgb(var(--tb-secondary-700)) var(--rb-gradient-to-position);
|
|
42242
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42243
|
-
}
|
|
42244
|
-
:where(.theme-scope) .to-secondary-700 {
|
|
42245
|
-
--rb-gradient-to: rgb(var(--tb-secondary-700)) var(--rb-gradient-to-position);
|
|
42246
|
-
}
|
|
42247
|
-
:where(.theme-scope) .from-secondary-800 {
|
|
42248
|
-
--rb-gradient-from: rgb(var(--tb-secondary-800))
|
|
42249
|
-
var(--rb-gradient-from-position);
|
|
42250
|
-
--rb-gradient-to: rgb(var(--tb-secondary-800)) var(--rb-gradient-to-position);
|
|
42251
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42252
|
-
}
|
|
42253
|
-
:where(.theme-scope) .to-secondary-800 {
|
|
42254
|
-
--rb-gradient-to: rgb(var(--tb-secondary-800)) var(--rb-gradient-to-position);
|
|
42255
|
-
}
|
|
42256
|
-
:where(.theme-scope) .from-secondary-900 {
|
|
42257
|
-
--rb-gradient-from: rgb(var(--tb-secondary-900))
|
|
42258
|
-
var(--rb-gradient-from-position);
|
|
42259
|
-
--rb-gradient-to: rgb(var(--tb-secondary-900)) var(--rb-gradient-to-position);
|
|
42260
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42261
|
-
}
|
|
42262
|
-
:where(.theme-scope) .to-secondary-900 {
|
|
42263
|
-
--rb-gradient-to: rgb(var(--tb-secondary-900)) var(--rb-gradient-to-position);
|
|
42264
|
-
}
|
|
42265
|
-
:where(.theme-scope) .from-secondary-950 {
|
|
42266
|
-
--rb-gradient-from: rgb(var(--tb-secondary-950))
|
|
42267
|
-
var(--rb-gradient-from-position);
|
|
42268
|
-
--rb-gradient-to: rgb(var(--tb-secondary-950)) var(--rb-gradient-to-position);
|
|
42269
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42270
|
-
}
|
|
42271
|
-
:where(.theme-scope) .to-secondary-950 {
|
|
42272
|
-
--rb-gradient-to: rgb(var(--tb-secondary-950)) var(--rb-gradient-to-position);
|
|
42273
|
-
}
|
|
42274
|
-
|
|
42275
|
-
/* Shade tokens (50..950) for accent */
|
|
42276
|
-
:where(.theme-scope) .from-accent-50 {
|
|
42277
|
-
--rb-gradient-from: rgb(var(--tb-accent-50)) var(--rb-gradient-from-position);
|
|
42278
|
-
--rb-gradient-to: rgb(var(--tb-accent-50)) var(--rb-gradient-to-position);
|
|
42279
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42280
|
-
}
|
|
42281
|
-
:where(.theme-scope) .to-accent-50 {
|
|
42282
|
-
--rb-gradient-to: rgb(var(--tb-accent-50)) var(--rb-gradient-to-position);
|
|
42283
|
-
}
|
|
42284
|
-
:where(.theme-scope) .from-accent-100 {
|
|
42285
|
-
--rb-gradient-from: rgb(var(--tb-accent-100)) var(--rb-gradient-from-position);
|
|
42286
|
-
--rb-gradient-to: rgb(var(--tb-accent-100)) var(--rb-gradient-to-position);
|
|
42287
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42288
|
-
}
|
|
42289
|
-
:where(.theme-scope) .to-accent-100 {
|
|
42290
|
-
--rb-gradient-to: rgb(var(--tb-accent-100)) var(--rb-gradient-to-position);
|
|
42291
|
-
}
|
|
42292
|
-
:where(.theme-scope) .from-accent-200 {
|
|
42293
|
-
--rb-gradient-from: rgb(var(--tb-accent-200)) var(--rb-gradient-from-position);
|
|
42294
|
-
--rb-gradient-to: rgb(var(--tb-accent-200)) var(--rb-gradient-to-position);
|
|
42295
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42296
|
-
}
|
|
42297
|
-
:where(.theme-scope) .to-accent-200 {
|
|
42298
|
-
--rb-gradient-to: rgb(var(--tb-accent-200)) var(--rb-gradient-to-position);
|
|
42299
|
-
}
|
|
42300
|
-
:where(.theme-scope) .from-accent-300 {
|
|
42301
|
-
--rb-gradient-from: rgb(var(--tb-accent-300)) var(--rb-gradient-from-position);
|
|
42302
|
-
--rb-gradient-to: rgb(var(--tb-accent-300)) var(--rb-gradient-to-position);
|
|
42303
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42304
|
-
}
|
|
42305
|
-
:where(.theme-scope) .to-accent-300 {
|
|
42306
|
-
--rb-gradient-to: rgb(var(--tb-accent-300)) var(--rb-gradient-to-position);
|
|
42307
|
-
}
|
|
42308
|
-
:where(.theme-scope) .from-accent-400 {
|
|
42309
|
-
--rb-gradient-from: rgb(var(--tb-accent-400)) var(--rb-gradient-from-position);
|
|
42310
|
-
--rb-gradient-to: rgb(var(--tb-accent-400)) var(--rb-gradient-to-position);
|
|
42311
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42312
|
-
}
|
|
42313
|
-
:where(.theme-scope) .to-accent-400 {
|
|
42314
|
-
--rb-gradient-to: rgb(var(--tb-accent-400)) var(--rb-gradient-to-position);
|
|
42315
|
-
}
|
|
42316
|
-
:where(.theme-scope) .from-accent-500 {
|
|
42317
|
-
--rb-gradient-from: rgb(var(--tb-accent-500)) var(--rb-gradient-from-position);
|
|
42318
|
-
--rb-gradient-to: rgb(var(--tb-accent-500)) var(--rb-gradient-to-position);
|
|
42319
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42320
|
-
}
|
|
42321
|
-
:where(.theme-scope) .to-accent-500 {
|
|
42322
|
-
--rb-gradient-to: rgb(var(--tb-accent-500)) var(--rb-gradient-to-position);
|
|
42323
|
-
}
|
|
42324
|
-
:where(.theme-scope) .from-accent-600 {
|
|
42325
|
-
--rb-gradient-from: rgb(var(--tb-accent-600)) var(--rb-gradient-from-position);
|
|
42326
|
-
--rb-gradient-to: rgb(var(--tb-accent-600)) var(--rb-gradient-to-position);
|
|
42327
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42328
|
-
}
|
|
42329
|
-
:where(.theme-scope) .to-accent-600 {
|
|
42330
|
-
--rb-gradient-to: rgb(var(--tb-accent-600)) var(--rb-gradient-to-position);
|
|
42331
|
-
}
|
|
42332
|
-
:where(.theme-scope) .from-accent-700 {
|
|
42333
|
-
--rb-gradient-from: rgb(var(--tb-accent-700)) var(--rb-gradient-from-position);
|
|
42334
|
-
--rb-gradient-to: rgb(var(--tb-accent-700)) var(--rb-gradient-to-position);
|
|
42335
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42336
|
-
}
|
|
42337
|
-
:where(.theme-scope) .to-accent-700 {
|
|
42338
|
-
--rb-gradient-to: rgb(var(--tb-accent-700)) var(--rb-gradient-to-position);
|
|
42339
|
-
}
|
|
42340
|
-
:where(.theme-scope) .from-accent-800 {
|
|
42341
|
-
--rb-gradient-from: rgb(var(--tb-accent-800)) var(--rb-gradient-from-position);
|
|
42342
|
-
--rb-gradient-to: rgb(var(--tb-accent-800)) var(--rb-gradient-to-position);
|
|
42343
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42344
|
-
}
|
|
42345
|
-
:where(.theme-scope) .to-accent-800 {
|
|
42346
|
-
--rb-gradient-to: rgb(var(--tb-accent-800)) var(--rb-gradient-to-position);
|
|
42347
|
-
}
|
|
42348
|
-
:where(.theme-scope) .from-accent-900 {
|
|
42349
|
-
--rb-gradient-from: rgb(var(--tb-accent-900)) var(--rb-gradient-from-position);
|
|
42350
|
-
--rb-gradient-to: rgb(var(--tb-accent-900)) var(--rb-gradient-to-position);
|
|
42351
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42352
|
-
}
|
|
42353
|
-
:where(.theme-scope) .to-accent-900 {
|
|
42354
|
-
--rb-gradient-to: rgb(var(--tb-accent-900)) var(--rb-gradient-to-position);
|
|
42355
|
-
}
|
|
42356
|
-
:where(.theme-scope) .from-accent-950 {
|
|
42357
|
-
--rb-gradient-from: rgb(var(--tb-accent-950)) var(--rb-gradient-from-position);
|
|
42358
|
-
--rb-gradient-to: rgb(var(--tb-accent-950)) var(--rb-gradient-to-position);
|
|
42359
|
-
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42360
|
-
}
|
|
42361
|
-
:where(.theme-scope) .to-accent-950 {
|
|
42362
|
-
--rb-gradient-to: rgb(var(--tb-accent-950)) var(--rb-gradient-to-position);
|
|
42363
|
-
}
|
|
42341
|
+
:where(.theme-scope) .transition-theme {
|
|
42342
|
+
transition: all var(--motion-duration) var(--motion-ease);
|
|
42343
|
+
}
|
|
42344
|
+
:where(.theme-scope) .transition-theme-standard {
|
|
42345
|
+
transition: all var(--motion-duration) var(--motion-ease);
|
|
42346
|
+
}
|
|
42347
|
+
:where(.theme-scope) .transition-theme-subtle {
|
|
42348
|
+
transition: all calc(var(--motion-duration) * 0.75) var(--motion-ease);
|
|
42349
|
+
}
|
|
42350
|
+
:where(.theme-scope) .transition-theme-expressive {
|
|
42351
|
+
transition: all calc(var(--motion-duration) * 1.35) var(--motion-ease);
|
|
42352
|
+
}
|
|
42364
42353
|
|
|
42365
|
-
/* Shade tokens (50..950) for
|
|
42366
|
-
:where(.theme-scope) .from-
|
|
42367
|
-
|
|
42368
|
-
|
|
42369
|
-
|
|
42370
|
-
|
|
42371
|
-
|
|
42372
|
-
|
|
42373
|
-
|
|
42374
|
-
|
|
42375
|
-
|
|
42376
|
-
|
|
42377
|
-
|
|
42378
|
-
|
|
42379
|
-
|
|
42380
|
-
|
|
42381
|
-
|
|
42382
|
-
|
|
42383
|
-
|
|
42384
|
-
|
|
42385
|
-
|
|
42386
|
-
|
|
42387
|
-
|
|
42388
|
-
|
|
42389
|
-
|
|
42390
|
-
|
|
42391
|
-
|
|
42392
|
-
|
|
42393
|
-
|
|
42394
|
-
|
|
42395
|
-
|
|
42396
|
-
|
|
42397
|
-
|
|
42398
|
-
|
|
42399
|
-
|
|
42400
|
-
|
|
42401
|
-
|
|
42402
|
-
|
|
42403
|
-
|
|
42404
|
-
|
|
42405
|
-
|
|
42406
|
-
|
|
42407
|
-
|
|
42408
|
-
|
|
42409
|
-
|
|
42410
|
-
|
|
42411
|
-
|
|
42412
|
-
|
|
42413
|
-
|
|
42414
|
-
|
|
42415
|
-
|
|
42416
|
-
|
|
42417
|
-
|
|
42418
|
-
|
|
42419
|
-
|
|
42420
|
-
|
|
42421
|
-
|
|
42422
|
-
|
|
42423
|
-
|
|
42424
|
-
|
|
42425
|
-
|
|
42426
|
-
|
|
42427
|
-
|
|
42428
|
-
|
|
42429
|
-
|
|
42430
|
-
|
|
42431
|
-
|
|
42432
|
-
|
|
42433
|
-
|
|
42434
|
-
|
|
42435
|
-
|
|
42436
|
-
|
|
42437
|
-
|
|
42438
|
-
|
|
42439
|
-
|
|
42440
|
-
|
|
42441
|
-
|
|
42442
|
-
|
|
42443
|
-
|
|
42444
|
-
|
|
42445
|
-
|
|
42446
|
-
|
|
42447
|
-
|
|
42448
|
-
|
|
42449
|
-
|
|
42450
|
-
|
|
42451
|
-
|
|
42452
|
-
|
|
42453
|
-
|
|
42454
|
-
|
|
42455
|
-
|
|
42456
|
-
|
|
42457
|
-
|
|
42458
|
-
|
|
42459
|
-
|
|
42460
|
-
|
|
42461
|
-
|
|
42462
|
-
|
|
42463
|
-
|
|
42464
|
-
|
|
42465
|
-
|
|
42354
|
+
/* Shade tokens (50..950) for primary */
|
|
42355
|
+
:where(.theme-scope) .from-primary-50 {
|
|
42356
|
+
--rb-gradient-from: rgb(var(--tb-primary-50))
|
|
42357
|
+
var(--rb-gradient-from-position);
|
|
42358
|
+
--rb-gradient-to: rgb(var(--tb-primary-50)) var(--rb-gradient-to-position);
|
|
42359
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42360
|
+
}
|
|
42361
|
+
:where(.theme-scope) .to-primary-50 {
|
|
42362
|
+
--rb-gradient-to: rgb(var(--tb-primary-50)) var(--rb-gradient-to-position);
|
|
42363
|
+
}
|
|
42364
|
+
:where(.theme-scope) .from-primary-100 {
|
|
42365
|
+
--rb-gradient-from: rgb(var(--tb-primary-100))
|
|
42366
|
+
var(--rb-gradient-from-position);
|
|
42367
|
+
--rb-gradient-to: rgb(var(--tb-primary-100)) var(--rb-gradient-to-position);
|
|
42368
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42369
|
+
}
|
|
42370
|
+
:where(.theme-scope) .to-primary-100 {
|
|
42371
|
+
--rb-gradient-to: rgb(var(--tb-primary-100)) var(--rb-gradient-to-position);
|
|
42372
|
+
}
|
|
42373
|
+
:where(.theme-scope) .from-primary-200 {
|
|
42374
|
+
--rb-gradient-from: rgb(var(--tb-primary-200))
|
|
42375
|
+
var(--rb-gradient-from-position);
|
|
42376
|
+
--rb-gradient-to: rgb(var(--tb-primary-200)) var(--rb-gradient-to-position);
|
|
42377
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42378
|
+
}
|
|
42379
|
+
:where(.theme-scope) .to-primary-200 {
|
|
42380
|
+
--rb-gradient-to: rgb(var(--tb-primary-200)) var(--rb-gradient-to-position);
|
|
42381
|
+
}
|
|
42382
|
+
:where(.theme-scope) .from-primary-300 {
|
|
42383
|
+
--rb-gradient-from: rgb(var(--tb-primary-300))
|
|
42384
|
+
var(--rb-gradient-from-position);
|
|
42385
|
+
--rb-gradient-to: rgb(var(--tb-primary-300)) var(--rb-gradient-to-position);
|
|
42386
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42387
|
+
}
|
|
42388
|
+
:where(.theme-scope) .to-primary-300 {
|
|
42389
|
+
--rb-gradient-to: rgb(var(--tb-primary-300)) var(--rb-gradient-to-position);
|
|
42390
|
+
}
|
|
42391
|
+
:where(.theme-scope) .from-primary-400 {
|
|
42392
|
+
--rb-gradient-from: rgb(var(--tb-primary-400))
|
|
42393
|
+
var(--rb-gradient-from-position);
|
|
42394
|
+
--rb-gradient-to: rgb(var(--tb-primary-400)) var(--rb-gradient-to-position);
|
|
42395
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42396
|
+
}
|
|
42397
|
+
:where(.theme-scope) .to-primary-400 {
|
|
42398
|
+
--rb-gradient-to: rgb(var(--tb-primary-400)) var(--rb-gradient-to-position);
|
|
42399
|
+
}
|
|
42400
|
+
:where(.theme-scope) .from-primary-500 {
|
|
42401
|
+
--rb-gradient-from: rgb(var(--tb-primary-500))
|
|
42402
|
+
var(--rb-gradient-from-position);
|
|
42403
|
+
--rb-gradient-to: rgb(var(--tb-primary-500)) var(--rb-gradient-to-position);
|
|
42404
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42405
|
+
}
|
|
42406
|
+
:where(.theme-scope) .to-primary-500 {
|
|
42407
|
+
--rb-gradient-to: rgb(var(--tb-primary-500)) var(--rb-gradient-to-position);
|
|
42408
|
+
}
|
|
42409
|
+
:where(.theme-scope) .from-primary-600 {
|
|
42410
|
+
--rb-gradient-from: rgb(var(--tb-primary-600))
|
|
42411
|
+
var(--rb-gradient-from-position);
|
|
42412
|
+
--rb-gradient-to: rgb(var(--tb-primary-600)) var(--rb-gradient-to-position);
|
|
42413
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42414
|
+
}
|
|
42415
|
+
:where(.theme-scope) .to-primary-600 {
|
|
42416
|
+
--rb-gradient-to: rgb(var(--tb-primary-600)) var(--rb-gradient-to-position);
|
|
42417
|
+
}
|
|
42418
|
+
:where(.theme-scope) .from-primary-700 {
|
|
42419
|
+
--rb-gradient-from: rgb(var(--tb-primary-700))
|
|
42420
|
+
var(--rb-gradient-from-position);
|
|
42421
|
+
--rb-gradient-to: rgb(var(--tb-primary-700)) var(--rb-gradient-to-position);
|
|
42422
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42423
|
+
}
|
|
42424
|
+
:where(.theme-scope) .to-primary-700 {
|
|
42425
|
+
--rb-gradient-to: rgb(var(--tb-primary-700)) var(--rb-gradient-to-position);
|
|
42426
|
+
}
|
|
42427
|
+
:where(.theme-scope) .from-primary-800 {
|
|
42428
|
+
--rb-gradient-from: rgb(var(--tb-primary-800))
|
|
42429
|
+
var(--rb-gradient-from-position);
|
|
42430
|
+
--rb-gradient-to: rgb(var(--tb-primary-800)) var(--rb-gradient-to-position);
|
|
42431
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42432
|
+
}
|
|
42433
|
+
:where(.theme-scope) .to-primary-800 {
|
|
42434
|
+
--rb-gradient-to: rgb(var(--tb-primary-800)) var(--rb-gradient-to-position);
|
|
42435
|
+
}
|
|
42436
|
+
:where(.theme-scope) .from-primary-900 {
|
|
42437
|
+
--rb-gradient-from: rgb(var(--tb-primary-900))
|
|
42438
|
+
var(--rb-gradient-from-position);
|
|
42439
|
+
--rb-gradient-to: rgb(var(--tb-primary-900)) var(--rb-gradient-to-position);
|
|
42440
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42441
|
+
}
|
|
42442
|
+
:where(.theme-scope) .to-primary-900 {
|
|
42443
|
+
--rb-gradient-to: rgb(var(--tb-primary-900)) var(--rb-gradient-to-position);
|
|
42444
|
+
}
|
|
42445
|
+
:where(.theme-scope) .from-primary-950 {
|
|
42446
|
+
--rb-gradient-from: rgb(var(--tb-primary-950))
|
|
42447
|
+
var(--rb-gradient-from-position);
|
|
42448
|
+
--rb-gradient-to: rgb(var(--tb-primary-950)) var(--rb-gradient-to-position);
|
|
42449
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42450
|
+
}
|
|
42451
|
+
:where(.theme-scope) .to-primary-950 {
|
|
42452
|
+
--rb-gradient-to: rgb(var(--tb-primary-950)) var(--rb-gradient-to-position);
|
|
42453
|
+
}
|
|
42454
|
+
|
|
42455
|
+
/* Shade tokens (50..950) for secondary */
|
|
42456
|
+
:where(.theme-scope) .from-secondary-50 {
|
|
42457
|
+
--rb-gradient-from: rgb(var(--tb-secondary-50))
|
|
42458
|
+
var(--rb-gradient-from-position);
|
|
42459
|
+
--rb-gradient-to: rgb(var(--tb-secondary-50)) var(--rb-gradient-to-position);
|
|
42460
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42461
|
+
}
|
|
42462
|
+
:where(.theme-scope) .to-secondary-50 {
|
|
42463
|
+
--rb-gradient-to: rgb(var(--tb-secondary-50)) var(--rb-gradient-to-position);
|
|
42464
|
+
}
|
|
42465
|
+
:where(.theme-scope) .from-secondary-100 {
|
|
42466
|
+
--rb-gradient-from: rgb(var(--tb-secondary-100))
|
|
42467
|
+
var(--rb-gradient-from-position);
|
|
42468
|
+
--rb-gradient-to: rgb(var(--tb-secondary-100))
|
|
42469
|
+
var(--rb-gradient-to-position);
|
|
42470
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42471
|
+
}
|
|
42472
|
+
:where(.theme-scope) .to-secondary-100 {
|
|
42473
|
+
--rb-gradient-to: rgb(var(--tb-secondary-100))
|
|
42474
|
+
var(--rb-gradient-to-position);
|
|
42475
|
+
}
|
|
42476
|
+
:where(.theme-scope) .from-secondary-200 {
|
|
42477
|
+
--rb-gradient-from: rgb(var(--tb-secondary-200))
|
|
42478
|
+
var(--rb-gradient-from-position);
|
|
42479
|
+
--rb-gradient-to: rgb(var(--tb-secondary-200))
|
|
42480
|
+
var(--rb-gradient-to-position);
|
|
42481
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42482
|
+
}
|
|
42483
|
+
:where(.theme-scope) .to-secondary-200 {
|
|
42484
|
+
--rb-gradient-to: rgb(var(--tb-secondary-200))
|
|
42485
|
+
var(--rb-gradient-to-position);
|
|
42486
|
+
}
|
|
42487
|
+
:where(.theme-scope) .from-secondary-300 {
|
|
42488
|
+
--rb-gradient-from: rgb(var(--tb-secondary-300))
|
|
42489
|
+
var(--rb-gradient-from-position);
|
|
42490
|
+
--rb-gradient-to: rgb(var(--tb-secondary-300))
|
|
42491
|
+
var(--rb-gradient-to-position);
|
|
42492
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42493
|
+
}
|
|
42494
|
+
:where(.theme-scope) .to-secondary-300 {
|
|
42495
|
+
--rb-gradient-to: rgb(var(--tb-secondary-300))
|
|
42496
|
+
var(--rb-gradient-to-position);
|
|
42497
|
+
}
|
|
42498
|
+
:where(.theme-scope) .from-secondary-400 {
|
|
42499
|
+
--rb-gradient-from: rgb(var(--tb-secondary-400))
|
|
42500
|
+
var(--rb-gradient-from-position);
|
|
42501
|
+
--rb-gradient-to: rgb(var(--tb-secondary-400))
|
|
42502
|
+
var(--rb-gradient-to-position);
|
|
42503
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42504
|
+
}
|
|
42505
|
+
:where(.theme-scope) .to-secondary-400 {
|
|
42506
|
+
--rb-gradient-to: rgb(var(--tb-secondary-400))
|
|
42507
|
+
var(--rb-gradient-to-position);
|
|
42508
|
+
}
|
|
42509
|
+
:where(.theme-scope) .from-secondary-500 {
|
|
42510
|
+
--rb-gradient-from: rgb(var(--tb-secondary-500))
|
|
42511
|
+
var(--rb-gradient-from-position);
|
|
42512
|
+
--rb-gradient-to: rgb(var(--tb-secondary-500))
|
|
42513
|
+
var(--rb-gradient-to-position);
|
|
42514
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42515
|
+
}
|
|
42516
|
+
:where(.theme-scope) .to-secondary-500 {
|
|
42517
|
+
--rb-gradient-to: rgb(var(--tb-secondary-500))
|
|
42518
|
+
var(--rb-gradient-to-position);
|
|
42519
|
+
}
|
|
42520
|
+
:where(.theme-scope) .from-secondary-600 {
|
|
42521
|
+
--rb-gradient-from: rgb(var(--tb-secondary-600))
|
|
42522
|
+
var(--rb-gradient-from-position);
|
|
42523
|
+
--rb-gradient-to: rgb(var(--tb-secondary-600))
|
|
42524
|
+
var(--rb-gradient-to-position);
|
|
42525
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42526
|
+
}
|
|
42527
|
+
:where(.theme-scope) .to-secondary-600 {
|
|
42528
|
+
--rb-gradient-to: rgb(var(--tb-secondary-600))
|
|
42529
|
+
var(--rb-gradient-to-position);
|
|
42530
|
+
}
|
|
42531
|
+
:where(.theme-scope) .from-secondary-700 {
|
|
42532
|
+
--rb-gradient-from: rgb(var(--tb-secondary-700))
|
|
42533
|
+
var(--rb-gradient-from-position);
|
|
42534
|
+
--rb-gradient-to: rgb(var(--tb-secondary-700))
|
|
42535
|
+
var(--rb-gradient-to-position);
|
|
42536
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42537
|
+
}
|
|
42538
|
+
:where(.theme-scope) .to-secondary-700 {
|
|
42539
|
+
--rb-gradient-to: rgb(var(--tb-secondary-700))
|
|
42540
|
+
var(--rb-gradient-to-position);
|
|
42541
|
+
}
|
|
42542
|
+
:where(.theme-scope) .from-secondary-800 {
|
|
42543
|
+
--rb-gradient-from: rgb(var(--tb-secondary-800))
|
|
42544
|
+
var(--rb-gradient-from-position);
|
|
42545
|
+
--rb-gradient-to: rgb(var(--tb-secondary-800))
|
|
42546
|
+
var(--rb-gradient-to-position);
|
|
42547
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42548
|
+
}
|
|
42549
|
+
:where(.theme-scope) .to-secondary-800 {
|
|
42550
|
+
--rb-gradient-to: rgb(var(--tb-secondary-800))
|
|
42551
|
+
var(--rb-gradient-to-position);
|
|
42552
|
+
}
|
|
42553
|
+
:where(.theme-scope) .from-secondary-900 {
|
|
42554
|
+
--rb-gradient-from: rgb(var(--tb-secondary-900))
|
|
42555
|
+
var(--rb-gradient-from-position);
|
|
42556
|
+
--rb-gradient-to: rgb(var(--tb-secondary-900))
|
|
42557
|
+
var(--rb-gradient-to-position);
|
|
42558
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42559
|
+
}
|
|
42560
|
+
:where(.theme-scope) .to-secondary-900 {
|
|
42561
|
+
--rb-gradient-to: rgb(var(--tb-secondary-900))
|
|
42562
|
+
var(--rb-gradient-to-position);
|
|
42563
|
+
}
|
|
42564
|
+
:where(.theme-scope) .from-secondary-950 {
|
|
42565
|
+
--rb-gradient-from: rgb(var(--tb-secondary-950))
|
|
42566
|
+
var(--rb-gradient-from-position);
|
|
42567
|
+
--rb-gradient-to: rgb(var(--tb-secondary-950))
|
|
42568
|
+
var(--rb-gradient-to-position);
|
|
42569
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42570
|
+
}
|
|
42571
|
+
:where(.theme-scope) .to-secondary-950 {
|
|
42572
|
+
--rb-gradient-to: rgb(var(--tb-secondary-950))
|
|
42573
|
+
var(--rb-gradient-to-position);
|
|
42574
|
+
}
|
|
42575
|
+
|
|
42576
|
+
/* Shade tokens (50..950) for accent */
|
|
42577
|
+
:where(.theme-scope) .from-accent-50 {
|
|
42578
|
+
--rb-gradient-from: rgb(var(--tb-accent-50))
|
|
42579
|
+
var(--rb-gradient-from-position);
|
|
42580
|
+
--rb-gradient-to: rgb(var(--tb-accent-50)) var(--rb-gradient-to-position);
|
|
42581
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42582
|
+
}
|
|
42583
|
+
:where(.theme-scope) .to-accent-50 {
|
|
42584
|
+
--rb-gradient-to: rgb(var(--tb-accent-50)) var(--rb-gradient-to-position);
|
|
42585
|
+
}
|
|
42586
|
+
:where(.theme-scope) .from-accent-100 {
|
|
42587
|
+
--rb-gradient-from: rgb(var(--tb-accent-100))
|
|
42588
|
+
var(--rb-gradient-from-position);
|
|
42589
|
+
--rb-gradient-to: rgb(var(--tb-accent-100)) var(--rb-gradient-to-position);
|
|
42590
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42591
|
+
}
|
|
42592
|
+
:where(.theme-scope) .to-accent-100 {
|
|
42593
|
+
--rb-gradient-to: rgb(var(--tb-accent-100)) var(--rb-gradient-to-position);
|
|
42594
|
+
}
|
|
42595
|
+
:where(.theme-scope) .from-accent-200 {
|
|
42596
|
+
--rb-gradient-from: rgb(var(--tb-accent-200))
|
|
42597
|
+
var(--rb-gradient-from-position);
|
|
42598
|
+
--rb-gradient-to: rgb(var(--tb-accent-200)) var(--rb-gradient-to-position);
|
|
42599
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42600
|
+
}
|
|
42601
|
+
:where(.theme-scope) .to-accent-200 {
|
|
42602
|
+
--rb-gradient-to: rgb(var(--tb-accent-200)) var(--rb-gradient-to-position);
|
|
42603
|
+
}
|
|
42604
|
+
:where(.theme-scope) .from-accent-300 {
|
|
42605
|
+
--rb-gradient-from: rgb(var(--tb-accent-300))
|
|
42606
|
+
var(--rb-gradient-from-position);
|
|
42607
|
+
--rb-gradient-to: rgb(var(--tb-accent-300)) var(--rb-gradient-to-position);
|
|
42608
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42609
|
+
}
|
|
42610
|
+
:where(.theme-scope) .to-accent-300 {
|
|
42611
|
+
--rb-gradient-to: rgb(var(--tb-accent-300)) var(--rb-gradient-to-position);
|
|
42612
|
+
}
|
|
42613
|
+
:where(.theme-scope) .from-accent-400 {
|
|
42614
|
+
--rb-gradient-from: rgb(var(--tb-accent-400))
|
|
42615
|
+
var(--rb-gradient-from-position);
|
|
42616
|
+
--rb-gradient-to: rgb(var(--tb-accent-400)) var(--rb-gradient-to-position);
|
|
42617
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42618
|
+
}
|
|
42619
|
+
:where(.theme-scope) .to-accent-400 {
|
|
42620
|
+
--rb-gradient-to: rgb(var(--tb-accent-400)) var(--rb-gradient-to-position);
|
|
42621
|
+
}
|
|
42622
|
+
:where(.theme-scope) .from-accent-500 {
|
|
42623
|
+
--rb-gradient-from: rgb(var(--tb-accent-500))
|
|
42624
|
+
var(--rb-gradient-from-position);
|
|
42625
|
+
--rb-gradient-to: rgb(var(--tb-accent-500)) var(--rb-gradient-to-position);
|
|
42626
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42627
|
+
}
|
|
42628
|
+
:where(.theme-scope) .to-accent-500 {
|
|
42629
|
+
--rb-gradient-to: rgb(var(--tb-accent-500)) var(--rb-gradient-to-position);
|
|
42630
|
+
}
|
|
42631
|
+
:where(.theme-scope) .from-accent-600 {
|
|
42632
|
+
--rb-gradient-from: rgb(var(--tb-accent-600))
|
|
42633
|
+
var(--rb-gradient-from-position);
|
|
42634
|
+
--rb-gradient-to: rgb(var(--tb-accent-600)) var(--rb-gradient-to-position);
|
|
42635
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42636
|
+
}
|
|
42637
|
+
:where(.theme-scope) .to-accent-600 {
|
|
42638
|
+
--rb-gradient-to: rgb(var(--tb-accent-600)) var(--rb-gradient-to-position);
|
|
42639
|
+
}
|
|
42640
|
+
:where(.theme-scope) .from-accent-700 {
|
|
42641
|
+
--rb-gradient-from: rgb(var(--tb-accent-700))
|
|
42642
|
+
var(--rb-gradient-from-position);
|
|
42643
|
+
--rb-gradient-to: rgb(var(--tb-accent-700)) var(--rb-gradient-to-position);
|
|
42644
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42645
|
+
}
|
|
42646
|
+
:where(.theme-scope) .to-accent-700 {
|
|
42647
|
+
--rb-gradient-to: rgb(var(--tb-accent-700)) var(--rb-gradient-to-position);
|
|
42648
|
+
}
|
|
42649
|
+
:where(.theme-scope) .from-accent-800 {
|
|
42650
|
+
--rb-gradient-from: rgb(var(--tb-accent-800))
|
|
42651
|
+
var(--rb-gradient-from-position);
|
|
42652
|
+
--rb-gradient-to: rgb(var(--tb-accent-800)) var(--rb-gradient-to-position);
|
|
42653
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42654
|
+
}
|
|
42655
|
+
:where(.theme-scope) .to-accent-800 {
|
|
42656
|
+
--rb-gradient-to: rgb(var(--tb-accent-800)) var(--rb-gradient-to-position);
|
|
42657
|
+
}
|
|
42658
|
+
:where(.theme-scope) .from-accent-900 {
|
|
42659
|
+
--rb-gradient-from: rgb(var(--tb-accent-900))
|
|
42660
|
+
var(--rb-gradient-from-position);
|
|
42661
|
+
--rb-gradient-to: rgb(var(--tb-accent-900)) var(--rb-gradient-to-position);
|
|
42662
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42663
|
+
}
|
|
42664
|
+
:where(.theme-scope) .to-accent-900 {
|
|
42665
|
+
--rb-gradient-to: rgb(var(--tb-accent-900)) var(--rb-gradient-to-position);
|
|
42666
|
+
}
|
|
42667
|
+
:where(.theme-scope) .from-accent-950 {
|
|
42668
|
+
--rb-gradient-from: rgb(var(--tb-accent-950))
|
|
42669
|
+
var(--rb-gradient-from-position);
|
|
42670
|
+
--rb-gradient-to: rgb(var(--tb-accent-950)) var(--rb-gradient-to-position);
|
|
42671
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42672
|
+
}
|
|
42673
|
+
:where(.theme-scope) .to-accent-950 {
|
|
42674
|
+
--rb-gradient-to: rgb(var(--tb-accent-950)) var(--rb-gradient-to-position);
|
|
42675
|
+
}
|
|
42676
|
+
|
|
42677
|
+
/* Shade tokens (50..950) for neutral */
|
|
42678
|
+
:where(.theme-scope) .from-neutral-50 {
|
|
42679
|
+
--rb-gradient-from: rgb(var(--tb-neutral-50))
|
|
42680
|
+
var(--rb-gradient-from-position);
|
|
42681
|
+
--rb-gradient-to: rgb(var(--tb-neutral-50)) var(--rb-gradient-to-position);
|
|
42682
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42683
|
+
}
|
|
42684
|
+
:where(.theme-scope) .to-neutral-50 {
|
|
42685
|
+
--rb-gradient-to: rgb(var(--tb-neutral-50)) var(--rb-gradient-to-position);
|
|
42686
|
+
}
|
|
42687
|
+
:where(.theme-scope) .from-neutral-100 {
|
|
42688
|
+
--rb-gradient-from: rgb(var(--tb-neutral-100))
|
|
42689
|
+
var(--rb-gradient-from-position);
|
|
42690
|
+
--rb-gradient-to: rgb(var(--tb-neutral-100)) var(--rb-gradient-to-position);
|
|
42691
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42692
|
+
}
|
|
42693
|
+
:where(.theme-scope) .to-neutral-100 {
|
|
42694
|
+
--rb-gradient-to: rgb(var(--tb-neutral-100)) var(--rb-gradient-to-position);
|
|
42695
|
+
}
|
|
42696
|
+
:where(.theme-scope) .from-neutral-200 {
|
|
42697
|
+
--rb-gradient-from: rgb(var(--tb-neutral-200))
|
|
42698
|
+
var(--rb-gradient-from-position);
|
|
42699
|
+
--rb-gradient-to: rgb(var(--tb-neutral-200)) var(--rb-gradient-to-position);
|
|
42700
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42701
|
+
}
|
|
42702
|
+
:where(.theme-scope) .to-neutral-200 {
|
|
42703
|
+
--rb-gradient-to: rgb(var(--tb-neutral-200)) var(--rb-gradient-to-position);
|
|
42704
|
+
}
|
|
42705
|
+
:where(.theme-scope) .from-neutral-300 {
|
|
42706
|
+
--rb-gradient-from: rgb(var(--tb-neutral-300))
|
|
42707
|
+
var(--rb-gradient-from-position);
|
|
42708
|
+
--rb-gradient-to: rgb(var(--tb-neutral-300)) var(--rb-gradient-to-position);
|
|
42709
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42710
|
+
}
|
|
42711
|
+
:where(.theme-scope) .to-neutral-300 {
|
|
42712
|
+
--rb-gradient-to: rgb(var(--tb-neutral-300)) var(--rb-gradient-to-position);
|
|
42713
|
+
}
|
|
42714
|
+
:where(.theme-scope) .from-neutral-400 {
|
|
42715
|
+
--rb-gradient-from: rgb(var(--tb-neutral-400))
|
|
42716
|
+
var(--rb-gradient-from-position);
|
|
42717
|
+
--rb-gradient-to: rgb(var(--tb-neutral-400)) var(--rb-gradient-to-position);
|
|
42718
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42719
|
+
}
|
|
42720
|
+
:where(.theme-scope) .to-neutral-400 {
|
|
42721
|
+
--rb-gradient-to: rgb(var(--tb-neutral-400)) var(--rb-gradient-to-position);
|
|
42722
|
+
}
|
|
42723
|
+
:where(.theme-scope) .from-neutral-500 {
|
|
42724
|
+
--rb-gradient-from: rgb(var(--tb-neutral-500))
|
|
42725
|
+
var(--rb-gradient-from-position);
|
|
42726
|
+
--rb-gradient-to: rgb(var(--tb-neutral-500)) var(--rb-gradient-to-position);
|
|
42727
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42728
|
+
}
|
|
42729
|
+
:where(.theme-scope) .to-neutral-500 {
|
|
42730
|
+
--rb-gradient-to: rgb(var(--tb-neutral-500)) var(--rb-gradient-to-position);
|
|
42731
|
+
}
|
|
42732
|
+
:where(.theme-scope) .from-neutral-600 {
|
|
42733
|
+
--rb-gradient-from: rgb(var(--tb-neutral-600))
|
|
42734
|
+
var(--rb-gradient-from-position);
|
|
42735
|
+
--rb-gradient-to: rgb(var(--tb-neutral-600)) var(--rb-gradient-to-position);
|
|
42736
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42737
|
+
}
|
|
42738
|
+
:where(.theme-scope) .to-neutral-600 {
|
|
42739
|
+
--rb-gradient-to: rgb(var(--tb-neutral-600)) var(--rb-gradient-to-position);
|
|
42740
|
+
}
|
|
42741
|
+
:where(.theme-scope) .from-neutral-700 {
|
|
42742
|
+
--rb-gradient-from: rgb(var(--tb-neutral-700))
|
|
42743
|
+
var(--rb-gradient-from-position);
|
|
42744
|
+
--rb-gradient-to: rgb(var(--tb-neutral-700)) var(--rb-gradient-to-position);
|
|
42745
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42746
|
+
}
|
|
42747
|
+
:where(.theme-scope) .to-neutral-700 {
|
|
42748
|
+
--rb-gradient-to: rgb(var(--tb-neutral-700)) var(--rb-gradient-to-position);
|
|
42749
|
+
}
|
|
42750
|
+
:where(.theme-scope) .from-neutral-800 {
|
|
42751
|
+
--rb-gradient-from: rgb(var(--tb-neutral-800))
|
|
42752
|
+
var(--rb-gradient-from-position);
|
|
42753
|
+
--rb-gradient-to: rgb(var(--tb-neutral-800)) var(--rb-gradient-to-position);
|
|
42754
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42755
|
+
}
|
|
42756
|
+
:where(.theme-scope) .to-neutral-800 {
|
|
42757
|
+
--rb-gradient-to: rgb(var(--tb-neutral-800)) var(--rb-gradient-to-position);
|
|
42758
|
+
}
|
|
42759
|
+
:where(.theme-scope) .from-neutral-900 {
|
|
42760
|
+
--rb-gradient-from: rgb(var(--tb-neutral-900))
|
|
42761
|
+
var(--rb-gradient-from-position);
|
|
42762
|
+
--rb-gradient-to: rgb(var(--tb-neutral-900)) var(--rb-gradient-to-position);
|
|
42763
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42764
|
+
}
|
|
42765
|
+
:where(.theme-scope) .to-neutral-900 {
|
|
42766
|
+
--rb-gradient-to: rgb(var(--tb-neutral-900)) var(--rb-gradient-to-position);
|
|
42767
|
+
}
|
|
42768
|
+
:where(.theme-scope) .from-neutral-950 {
|
|
42769
|
+
--rb-gradient-from: rgb(var(--tb-neutral-950))
|
|
42770
|
+
var(--rb-gradient-from-position);
|
|
42771
|
+
--rb-gradient-to: rgb(var(--tb-neutral-950)) var(--rb-gradient-to-position);
|
|
42772
|
+
--rb-gradient-stops: var(--rb-gradient-from), var(--rb-gradient-to);
|
|
42773
|
+
}
|
|
42774
|
+
:where(.theme-scope) .to-neutral-950 {
|
|
42775
|
+
--rb-gradient-to: rgb(var(--tb-neutral-950)) var(--rb-gradient-to-position);
|
|
42776
|
+
}
|
|
42777
|
+
|
|
42778
|
+
/* =================================================================
|
|
42466
42779
|
Header System Class Naming Conventions
|
|
42467
42780
|
|
|
42468
42781
|
rb-header-* Utility-style classes set in site-header.ts layouts
|
|
@@ -42475,240 +42788,240 @@ var containerResponsiveThemeCss = `/*
|
|
|
42475
42788
|
(nav-dropdown, nav-mobile-panel, nav-underline-grow)
|
|
42476
42789
|
================================================================= */
|
|
42477
42790
|
|
|
42478
|
-
/* =================================================================
|
|
42791
|
+
/* =================================================================
|
|
42479
42792
|
Header Layout Padding
|
|
42480
42793
|
|
|
42481
42794
|
Padding is controlled entirely by CSS based on variant class.
|
|
42482
42795
|
This ensures shrink headers look identical to non-shrink before scroll.
|
|
42483
42796
|
================================================================= */
|
|
42484
42797
|
|
|
42485
|
-
/* Prevent scroll anchoring feedback loops when the header height transitions.
|
|
42798
|
+
/* Prevent scroll anchoring feedback loops when the header height transitions.
|
|
42486
42799
|
In some browsers, resizing a sticky header near the top can cause the UA to
|
|
42487
42800
|
adjust scroll position ("scroll anchoring"), which then flips the
|
|
42488
42801
|
\`header-scrolled\` threshold logic back and forth. */
|
|
42489
|
-
:where(.theme-scope) .block-site-header {
|
|
42490
|
-
|
|
42491
|
-
}
|
|
42802
|
+
:where(.theme-scope) .block-site-header {
|
|
42803
|
+
overflow-anchor: none;
|
|
42804
|
+
}
|
|
42492
42805
|
|
|
42493
|
-
/* Base padding for horizontal variants (classic, transparent) */
|
|
42494
|
-
:where(.theme-scope) .rb-header-layout {
|
|
42495
|
-
|
|
42496
|
-
|
|
42497
|
-
|
|
42498
|
-
}
|
|
42806
|
+
/* Base padding for horizontal variants (classic, transparent) */
|
|
42807
|
+
:where(.theme-scope) .rb-header-layout {
|
|
42808
|
+
padding-top: 1rem;
|
|
42809
|
+
padding-bottom: 1rem;
|
|
42810
|
+
transition: padding 300ms var(--motion-ease, ease);
|
|
42811
|
+
}
|
|
42499
42812
|
|
|
42500
|
-
/* Vertical variants need more breathing room
|
|
42813
|
+
/* Vertical variants need more breathing room
|
|
42501
42814
|
Note: header-variant-* is on Section (ancestor), rb-header-layout on inner div */
|
|
42502
|
-
:where(.theme-scope) .header-variant-centered .rb-header-layout
|
|
42503
|
-
:
|
|
42504
|
-
|
|
42505
|
-
|
|
42506
|
-
}
|
|
42815
|
+
:where(.theme-scope) .header-variant-centered .rb-header-layout {
|
|
42816
|
+
padding-top: 1.5rem;
|
|
42817
|
+
padding-bottom: 1.5rem;
|
|
42818
|
+
}
|
|
42507
42819
|
|
|
42508
|
-
/* Floating variant - compact padding */
|
|
42509
|
-
:where(.theme-scope) .header-variant-floating .rb-header-layout {
|
|
42510
|
-
|
|
42511
|
-
|
|
42512
|
-
}
|
|
42820
|
+
/* Floating variant - compact padding */
|
|
42821
|
+
:where(.theme-scope) .header-variant-floating .rb-header-layout {
|
|
42822
|
+
padding-top: 0.75rem;
|
|
42823
|
+
padding-bottom: 0.75rem;
|
|
42824
|
+
}
|
|
42513
42825
|
|
|
42514
|
-
/* =================================================================
|
|
42826
|
+
/* =================================================================
|
|
42515
42827
|
Header Shrink-on-Scroll
|
|
42516
42828
|
|
|
42517
42829
|
Only applies when .rb-header-shrink is present AND user has scrolled.
|
|
42518
42830
|
No changes until scroll - shrink header = non-shrink header initially.
|
|
42519
42831
|
================================================================= */
|
|
42520
42832
|
|
|
42521
|
-
/* Scrolled state - reduce padding */
|
|
42522
|
-
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-layout {
|
|
42523
|
-
|
|
42524
|
-
|
|
42525
|
-
}
|
|
42833
|
+
/* Scrolled state - reduce padding */
|
|
42834
|
+
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-layout {
|
|
42835
|
+
padding-top: 0.5rem;
|
|
42836
|
+
padding-bottom: 0.5rem;
|
|
42837
|
+
}
|
|
42526
42838
|
|
|
42527
|
-
/* Vertical variants get gentler reduction
|
|
42839
|
+
/* Vertical variants get gentler reduction
|
|
42528
42840
|
Note: Both classes are on Section, rb-header-layout on inner div */
|
|
42529
|
-
:where(.theme-scope)
|
|
42530
|
-
|
|
42531
|
-
|
|
42532
|
-
|
|
42533
|
-
|
|
42841
|
+
:where(.theme-scope)
|
|
42842
|
+
.rb-header-shrink.header-scrolled.header-variant-centered
|
|
42843
|
+
.rb-header-layout {
|
|
42844
|
+
padding-top: 0.75rem;
|
|
42845
|
+
padding-bottom: 0.75rem;
|
|
42846
|
+
}
|
|
42534
42847
|
|
|
42535
|
-
/* Floating variant */
|
|
42536
|
-
:where(.theme-scope)
|
|
42537
|
-
|
|
42538
|
-
|
|
42539
|
-
|
|
42848
|
+
/* Floating variant */
|
|
42849
|
+
:where(.theme-scope)
|
|
42850
|
+
.rb-header-shrink.header-scrolled.header-variant-floating
|
|
42851
|
+
.rb-header-layout {
|
|
42852
|
+
padding-top: 0.25rem;
|
|
42853
|
+
padding-bottom: 0.25rem;
|
|
42854
|
+
}
|
|
42540
42855
|
|
|
42541
|
-
/* =================================================================
|
|
42856
|
+
/* =================================================================
|
|
42542
42857
|
Logo & Title Sizing
|
|
42543
42858
|
|
|
42544
42859
|
Font sizes controlled here, not via utility classes, so shrink
|
|
42545
42860
|
transitions work (utility classes would override :where()).
|
|
42546
42861
|
================================================================= */
|
|
42547
42862
|
|
|
42548
|
-
/* Logo image sizing */
|
|
42549
|
-
:where(.theme-scope) .rb-header-logo-sm {
|
|
42550
|
-
|
|
42551
|
-
|
|
42552
|
-
}
|
|
42553
|
-
:where(.theme-scope) .rb-header-logo-lg {
|
|
42554
|
-
|
|
42555
|
-
|
|
42556
|
-
}
|
|
42863
|
+
/* Logo image sizing */
|
|
42864
|
+
:where(.theme-scope) .rb-header-logo-sm {
|
|
42865
|
+
height: 2.5rem;
|
|
42866
|
+
transition: height 300ms var(--motion-ease, ease);
|
|
42867
|
+
}
|
|
42868
|
+
:where(.theme-scope) .rb-header-logo-lg {
|
|
42869
|
+
height: 3rem;
|
|
42870
|
+
transition: height 300ms var(--motion-ease, ease);
|
|
42871
|
+
}
|
|
42557
42872
|
|
|
42558
|
-
/* Site title base font size (replaces rb-text-lg / rb-text-xl utilities) */
|
|
42559
|
-
:where(.theme-scope) .header-logo-text {
|
|
42560
|
-
|
|
42561
|
-
|
|
42562
|
-
|
|
42563
|
-
}
|
|
42873
|
+
/* Site title base font size (replaces rb-text-lg / rb-text-xl utilities) */
|
|
42874
|
+
:where(.theme-scope) .header-logo-text {
|
|
42875
|
+
font-size: 1.125rem; /* matches rb-text-lg */
|
|
42876
|
+
line-height: 1.75rem;
|
|
42877
|
+
transition: font-size 300ms var(--motion-ease, ease);
|
|
42878
|
+
}
|
|
42564
42879
|
|
|
42565
|
-
/* Mobile: reduce site title size (~30%) to keep header compact */
|
|
42566
|
-
@container rb-site (max-width: 767px) {
|
|
42880
|
+
/* Mobile: reduce site title size (~30%) to keep header compact */
|
|
42881
|
+
@container rb-site (max-width: 767px) {
|
|
42567
42882
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
42568
42883
|
:where(.theme-scope) .header-logo-text {
|
|
42569
|
-
|
|
42570
|
-
|
|
42571
|
-
|
|
42884
|
+
font-size: 0.8rem;
|
|
42885
|
+
line-height: 1.25rem;
|
|
42886
|
+
}
|
|
42572
42887
|
|
|
42573
|
-
|
|
42574
|
-
|
|
42575
|
-
|
|
42576
|
-
|
|
42577
|
-
}
|
|
42888
|
+
:where(.theme-scope) .header-variant-centered .header-logo-text {
|
|
42889
|
+
font-size: 0.875rem;
|
|
42890
|
+
line-height: 1.25rem;
|
|
42891
|
+
}
|
|
42578
42892
|
}
|
|
42579
42893
|
}
|
|
42580
42894
|
|
|
42581
|
-
/* Centered
|
|
42582
|
-
:where(.theme-scope) .header-variant-centered .header-logo-text
|
|
42583
|
-
:
|
|
42584
|
-
|
|
42585
|
-
|
|
42586
|
-
}
|
|
42895
|
+
/* Centered variant uses larger title */
|
|
42896
|
+
:where(.theme-scope) .header-variant-centered .header-logo-text {
|
|
42897
|
+
font-size: 1.25rem; /* matches rb-text-xl */
|
|
42898
|
+
line-height: 1.75rem;
|
|
42899
|
+
}
|
|
42587
42900
|
|
|
42588
|
-
/* =================================================================
|
|
42901
|
+
/* =================================================================
|
|
42589
42902
|
Shrink on Scroll - Logo & Title
|
|
42590
42903
|
================================================================= */
|
|
42591
42904
|
|
|
42592
|
-
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-logo-sm {
|
|
42593
|
-
|
|
42594
|
-
}
|
|
42595
|
-
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-logo-lg {
|
|
42596
|
-
|
|
42597
|
-
}
|
|
42598
|
-
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
42599
|
-
|
|
42600
|
-
}
|
|
42905
|
+
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-logo-sm {
|
|
42906
|
+
height: 2rem;
|
|
42907
|
+
}
|
|
42908
|
+
:where(.theme-scope) .rb-header-shrink.header-scrolled .rb-header-logo-lg {
|
|
42909
|
+
height: 2.5rem;
|
|
42910
|
+
}
|
|
42911
|
+
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
42912
|
+
font-size: 0.875rem;
|
|
42913
|
+
}
|
|
42601
42914
|
|
|
42602
|
-
@container rb-site (max-width: 767px) {
|
|
42915
|
+
@container rb-site (max-width: 767px) {
|
|
42603
42916
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
42604
42917
|
:where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
|
|
42605
|
-
|
|
42606
|
-
|
|
42918
|
+
font-size: 0.75rem;
|
|
42919
|
+
}
|
|
42607
42920
|
}
|
|
42608
42921
|
}
|
|
42609
42922
|
|
|
42610
|
-
/* =================================================================
|
|
42923
|
+
/* =================================================================
|
|
42611
42924
|
Accessibility: Reduced Motion
|
|
42612
42925
|
================================================================= */
|
|
42613
42926
|
|
|
42614
|
-
@media (prefers-reduced-motion: reduce) {
|
|
42615
|
-
|
|
42616
|
-
|
|
42617
|
-
|
|
42618
|
-
|
|
42619
|
-
|
|
42927
|
+
@media (prefers-reduced-motion: reduce) {
|
|
42928
|
+
:where(.theme-scope) .rb-header-layout,
|
|
42929
|
+
:where(.theme-scope) .rb-header-logo-sm,
|
|
42930
|
+
:where(.theme-scope) .rb-header-logo-lg,
|
|
42931
|
+
:where(.theme-scope) .header-logo-text {
|
|
42932
|
+
transition: none;
|
|
42933
|
+
}
|
|
42620
42934
|
}
|
|
42621
|
-
}
|
|
42622
42935
|
|
|
42623
|
-
/* Nav underline-grow animation (used by navStyle: "underline-grow" in site-header.ts) */
|
|
42624
|
-
:where(.theme-scope) .nav-underline-grow {
|
|
42625
|
-
|
|
42626
|
-
|
|
42627
|
-
}
|
|
42628
|
-
:where(.theme-scope) .nav-underline-grow::after {
|
|
42629
|
-
|
|
42630
|
-
|
|
42631
|
-
|
|
42632
|
-
|
|
42633
|
-
|
|
42634
|
-
|
|
42635
|
-
|
|
42636
|
-
|
|
42637
|
-
|
|
42638
|
-
|
|
42639
|
-
}
|
|
42640
|
-
:where(.theme-scope) .nav-underline-grow:hover::after,
|
|
42641
|
-
:where(.theme-scope)
|
|
42642
|
-
|
|
42643
|
-
|
|
42644
|
-
}
|
|
42645
|
-
:where(.theme-scope) .nav-underline-offset-tight {
|
|
42646
|
-
|
|
42647
|
-
}
|
|
42648
|
-
:where(.theme-scope) .nav-underline-offset-normal {
|
|
42649
|
-
|
|
42650
|
-
}
|
|
42651
|
-
:where(.theme-scope) .nav-underline-offset-loose {
|
|
42652
|
-
|
|
42653
|
-
}
|
|
42936
|
+
/* Nav underline-grow animation (used by navStyle: "underline-grow" in site-header.ts) */
|
|
42937
|
+
:where(.theme-scope) .nav-underline-grow {
|
|
42938
|
+
position: relative;
|
|
42939
|
+
overflow: visible;
|
|
42940
|
+
}
|
|
42941
|
+
:where(.theme-scope) .nav-underline-grow::after {
|
|
42942
|
+
content: '';
|
|
42943
|
+
position: absolute;
|
|
42944
|
+
left: 0;
|
|
42945
|
+
bottom: var(--nav-underline-offset, -0.35em);
|
|
42946
|
+
width: 100%;
|
|
42947
|
+
height: 2px;
|
|
42948
|
+
background-color: currentColor;
|
|
42949
|
+
transform: scaleX(0);
|
|
42950
|
+
transform-origin: left center;
|
|
42951
|
+
transition: transform calc(var(--motion-duration) * 1.1) var(--motion-ease);
|
|
42952
|
+
}
|
|
42953
|
+
:where(.theme-scope) .nav-underline-grow:hover::after,
|
|
42954
|
+
:where(.theme-scope)
|
|
42955
|
+
.nav-underline-grow.nav-underline-active[data-active='true']::after {
|
|
42956
|
+
transform: scaleX(1);
|
|
42957
|
+
}
|
|
42958
|
+
:where(.theme-scope) .nav-underline-offset-tight {
|
|
42959
|
+
--nav-underline-offset: -0.2em;
|
|
42960
|
+
}
|
|
42961
|
+
:where(.theme-scope) .nav-underline-offset-normal {
|
|
42962
|
+
--nav-underline-offset: -0.3em;
|
|
42963
|
+
}
|
|
42964
|
+
:where(.theme-scope) .nav-underline-offset-loose {
|
|
42965
|
+
--nav-underline-offset: -0.45em;
|
|
42966
|
+
}
|
|
42654
42967
|
|
|
42655
|
-
:where(.theme-scope) .card-surface {
|
|
42656
|
-
|
|
42657
|
-
|
|
42658
|
-
|
|
42659
|
-
|
|
42660
|
-
|
|
42661
|
-
}
|
|
42662
|
-
:where(.theme-scope) .media-rounded {
|
|
42663
|
-
|
|
42664
|
-
}
|
|
42968
|
+
:where(.theme-scope) .card-surface {
|
|
42969
|
+
background: rgb(var(--tb-surface));
|
|
42970
|
+
color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
42971
|
+
border: 1px solid rgb(var(--tb-border));
|
|
42972
|
+
border-radius: var(--radius-card);
|
|
42973
|
+
box-shadow: var(--shadow-elev);
|
|
42974
|
+
}
|
|
42975
|
+
:where(.theme-scope) .media-rounded {
|
|
42976
|
+
border-radius: var(--radius-card);
|
|
42977
|
+
}
|
|
42665
42978
|
|
|
42666
|
-
:where(.theme-scope) .is-placeholder::after {
|
|
42667
|
-
|
|
42668
|
-
|
|
42669
|
-
|
|
42670
|
-
|
|
42671
|
-
|
|
42672
|
-
|
|
42673
|
-
|
|
42674
|
-
|
|
42675
|
-
|
|
42676
|
-
|
|
42677
|
-
}
|
|
42979
|
+
:where(.theme-scope) .is-placeholder::after {
|
|
42980
|
+
content: 'Placeholder';
|
|
42981
|
+
position: absolute;
|
|
42982
|
+
top: 0.5rem;
|
|
42983
|
+
left: 0.5rem;
|
|
42984
|
+
font-size: 11px;
|
|
42985
|
+
background: color-mix(in oklab, rgb(var(--tb-bg)), rgb(var(--tb-text)) 10%);
|
|
42986
|
+
color: rgb(var(--tb-text));
|
|
42987
|
+
padding: 0.15rem 0.35rem;
|
|
42988
|
+
border-radius: 4px;
|
|
42989
|
+
opacity: 0.85;
|
|
42990
|
+
}
|
|
42678
42991
|
|
|
42679
|
-
/* Status badges - theme-aware styling for capacity indicators */
|
|
42680
|
-
:where(.theme-scope) .badge-status {
|
|
42681
|
-
|
|
42682
|
-
|
|
42683
|
-
|
|
42684
|
-
|
|
42685
|
-
|
|
42686
|
-
|
|
42687
|
-
|
|
42688
|
-
}
|
|
42992
|
+
/* Status badges - theme-aware styling for capacity indicators */
|
|
42993
|
+
:where(.theme-scope) .badge-status {
|
|
42994
|
+
display: inline-flex;
|
|
42995
|
+
align-items: center;
|
|
42996
|
+
padding: 0.125rem 0.625rem;
|
|
42997
|
+
border-radius: 9999px;
|
|
42998
|
+
font-size: 0.75rem;
|
|
42999
|
+
font-weight: 500;
|
|
43000
|
+
line-height: 1.25rem;
|
|
43001
|
+
}
|
|
42689
43002
|
|
|
42690
|
-
/* All badges use a subtle theme-aware style by default */
|
|
42691
|
-
:where(.theme-scope) .badge-status-available {
|
|
42692
|
-
|
|
42693
|
-
|
|
42694
|
-
}
|
|
43003
|
+
/* All badges use a subtle theme-aware style by default */
|
|
43004
|
+
:where(.theme-scope) .badge-status-available {
|
|
43005
|
+
background-color: rgba(var(--tb-secondary), 0.15);
|
|
43006
|
+
color: rgb(var(--tb-secondary-700, var(--tb-secondary)));
|
|
43007
|
+
}
|
|
42695
43008
|
|
|
42696
|
-
:where(.theme-scope) .badge-status-low {
|
|
42697
|
-
|
|
42698
|
-
|
|
42699
|
-
}
|
|
43009
|
+
:where(.theme-scope) .badge-status-low {
|
|
43010
|
+
background-color: rgba(var(--tb-accent), 0.15);
|
|
43011
|
+
color: rgb(var(--tb-accent-700, var(--tb-accent)));
|
|
43012
|
+
}
|
|
42700
43013
|
|
|
42701
|
-
:where(.theme-scope) .badge-status-sold-out {
|
|
42702
|
-
|
|
42703
|
-
|
|
42704
|
-
}
|
|
43014
|
+
:where(.theme-scope) .badge-status-sold-out {
|
|
43015
|
+
background-color: rgba(var(--tb-text), 0.1);
|
|
43016
|
+
color: rgb(var(--tb-mutedText));
|
|
43017
|
+
}
|
|
42705
43018
|
|
|
42706
|
-
/* Event list empty state - theme-aware */
|
|
42707
|
-
:where(.theme-scope) .event-list-empty {
|
|
42708
|
-
|
|
42709
|
-
|
|
42710
|
-
|
|
42711
|
-
}
|
|
43019
|
+
/* Event list empty state - theme-aware */
|
|
43020
|
+
:where(.theme-scope) .event-list-empty {
|
|
43021
|
+
background-color: rgb(var(--tb-surface));
|
|
43022
|
+
color: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
43023
|
+
border-color: rgb(var(--tb-border));
|
|
43024
|
+
}
|
|
42712
43025
|
} /* end @layer rb-theme */
|
|
42713
43026
|
|
|
42714
43027
|
@keyframes accordion-down {
|
|
@@ -49736,7 +50049,9 @@ async function Layout({
|
|
|
49736
50049
|
throw new Error("Layout: must provide either siteData or client");
|
|
49737
50050
|
}
|
|
49738
50051
|
if (!siteId && !slug && !domain) {
|
|
49739
|
-
throw new Error(
|
|
50052
|
+
throw new Error(
|
|
50053
|
+
"Layout: must provide siteId, slug, or domain when using client"
|
|
50054
|
+
);
|
|
49740
50055
|
}
|
|
49741
50056
|
siteData = await client.getSite({ id: siteId, slug, domain });
|
|
49742
50057
|
}
|
|
@@ -49753,7 +50068,11 @@ async function Layout({
|
|
|
49753
50068
|
checkoutHref: "/checkout"
|
|
49754
50069
|
};
|
|
49755
50070
|
const menuViewModel = buildMenu(navigation, routes, navigationOptions);
|
|
49756
|
-
const footerMenuViewModel = buildFooterMenu(
|
|
50071
|
+
const footerMenuViewModel = buildFooterMenu(
|
|
50072
|
+
navigation,
|
|
50073
|
+
routes,
|
|
50074
|
+
navigationOptions
|
|
50075
|
+
);
|
|
49757
50076
|
const logoViewModel = buildLogo(layout.logo ?? null, site.title);
|
|
49758
50077
|
const headerData = {
|
|
49759
50078
|
menu: menuViewModel,
|
|
@@ -49840,10 +50159,13 @@ async function Layout({
|
|
|
49840
50159
|
}
|
|
49841
50160
|
) : null;
|
|
49842
50161
|
if (footerPlan.renderFooterBlocks && !footerBlocksElement && process.env.NODE_ENV !== "production") {
|
|
49843
|
-
console.debug(
|
|
49844
|
-
|
|
49845
|
-
|
|
49846
|
-
|
|
50162
|
+
console.debug(
|
|
50163
|
+
"[sdk] Footer mode renders blocks, but footerBlocks is empty/missing",
|
|
50164
|
+
{
|
|
50165
|
+
siteId: site.id,
|
|
50166
|
+
mode: footerPlan.mode
|
|
50167
|
+
}
|
|
50168
|
+
);
|
|
49847
50169
|
}
|
|
49848
50170
|
const defaultFooterElement = footerPlan.renderDefaultFooter ? renderBlock(siteFooterManifest, layout.footer, {
|
|
49849
50171
|
theme: themeRuntime.tokens,
|