@primer/primitives 11.4.0 → 11.4.1-rc.14fb4bb1
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/DESIGN_TOKENS_GUIDE.md +185 -0
- package/DESIGN_TOKENS_SPEC.md +565 -0
- package/dist/build/formats/jsonFigma.js +8 -1
- package/dist/build/formats/markdownLlmGuidelines.d.ts +7 -6
- package/dist/build/formats/markdownLlmGuidelines.js +1034 -60
- package/dist/build/schemas/borderToken.d.ts +61 -5
- package/dist/build/schemas/borderToken.js +2 -1
- package/dist/build/schemas/colorToken.d.ts +639 -30
- package/dist/build/schemas/colorToken.js +3 -2
- package/dist/build/schemas/colorW3cValue.d.ts +28 -0
- package/dist/build/schemas/colorW3cValue.js +42 -0
- package/dist/build/schemas/cubicBezierToken.d.ts +1 -1
- package/dist/build/schemas/dimensionToken.d.ts +9 -2
- package/dist/build/schemas/dimensionValue.d.ts +12 -1
- package/dist/build/schemas/dimensionValue.js +10 -13
- package/dist/build/schemas/durationToken.d.ts +8 -2
- package/dist/build/schemas/durationValue.d.ts +11 -1
- package/dist/build/schemas/durationValue.js +13 -3
- package/dist/build/schemas/fontFamilyToken.d.ts +1 -1
- package/dist/build/schemas/fontWeightToken.d.ts +1 -1
- package/dist/build/schemas/gradientToken.d.ts +23 -2
- package/dist/build/schemas/gradientToken.js +2 -1
- package/dist/build/schemas/numberToken.d.ts +1 -1
- package/dist/build/schemas/shadowToken.d.ts +1751 -127
- package/dist/build/schemas/shadowToken.js +8 -2
- package/dist/build/schemas/stringToken.d.ts +1 -1
- package/dist/build/schemas/stringToken.js +1 -1
- package/dist/build/schemas/tokenType.d.ts +1 -1
- package/dist/build/schemas/transitionToken.d.ts +15 -3
- package/dist/build/schemas/typographyToken.d.ts +19 -5
- package/dist/build/schemas/typographyToken.js +1 -1
- package/dist/build/schemas/validTokenType.d.ts +1 -1
- package/dist/build/schemas/validTokenType.js +1 -1
- package/dist/build/schemas/viewportRangeToken.d.ts +1 -1
- package/dist/build/transformers/borderToCss.js +19 -1
- package/dist/build/transformers/colorAlphaToCss.js +6 -3
- package/dist/build/transformers/colorToHex.js +5 -2
- package/dist/build/transformers/colorToRgbAlpha.js +5 -2
- package/dist/build/transformers/colorToRgbaFloat.js +5 -0
- package/dist/build/transformers/dimensionToPixelUnitless.d.ts +3 -2
- package/dist/build/transformers/dimensionToPixelUnitless.js +22 -26
- package/dist/build/transformers/dimensionToRem.d.ts +2 -1
- package/dist/build/transformers/dimensionToRem.js +21 -22
- package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -1
- package/dist/build/transformers/dimensionToRemPxArray.js +21 -22
- package/dist/build/transformers/durationToCss.d.ts +2 -1
- package/dist/build/transformers/durationToCss.js +18 -11
- package/dist/build/transformers/gradientToCss.js +2 -1
- package/dist/build/transformers/shadowToCss.js +15 -1
- package/dist/build/transformers/utilities/normalizeColorValue.d.ts +23 -0
- package/dist/build/transformers/utilities/normalizeColorValue.js +74 -0
- package/dist/build/transformers/utilities/parseDimension.d.ts +12 -0
- package/dist/build/transformers/utilities/parseDimension.js +31 -0
- package/dist/build/types/borderTokenValue.d.ts +5 -2
- package/dist/build/types/dimensionTokenValue.d.ts +9 -0
- package/dist/build/types/shadowTokenValue.d.ts +8 -5
- package/dist/css/functional/themes/dark-colorblind-high-contrast.css +32 -28
- package/dist/css/functional/themes/dark-colorblind.css +32 -28
- package/dist/css/functional/themes/dark-dimmed-high-contrast.css +32 -28
- package/dist/css/functional/themes/dark-dimmed.css +32 -28
- package/dist/css/functional/themes/dark-high-contrast.css +32 -28
- package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +32 -28
- package/dist/css/functional/themes/dark-tritanopia.css +32 -28
- package/dist/css/functional/themes/dark.css +32 -28
- package/dist/css/functional/themes/light-colorblind-high-contrast.css +32 -28
- package/dist/css/functional/themes/light-colorblind.css +32 -28
- package/dist/css/functional/themes/light-high-contrast.css +32 -28
- package/dist/css/functional/themes/light-tritanopia-high-contrast.css +32 -28
- package/dist/css/functional/themes/light-tritanopia.css +32 -28
- package/dist/css/functional/themes/light.css +32 -28
- package/dist/css/primitives.css +4 -0
- package/dist/docs/base/motion/motion.json +96 -24
- package/dist/docs/base/size/size.json +76 -19
- package/dist/docs/base/typography/typography.json +24 -6
- package/dist/docs/functional/size/border.json +26 -11
- package/dist/docs/functional/size/breakpoints.json +24 -6
- package/dist/docs/functional/size/radius.json +16 -4
- package/dist/docs/functional/size/size.json +60 -15
- package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +2629 -346
- package/dist/docs/functional/themes/dark-colorblind.json +2629 -346
- package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +2629 -346
- package/dist/docs/functional/themes/dark-dimmed.json +2629 -346
- package/dist/docs/functional/themes/dark-high-contrast.json +2629 -346
- package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +2629 -346
- package/dist/docs/functional/themes/dark-tritanopia.json +2629 -346
- package/dist/docs/functional/themes/dark.json +2629 -346
- package/dist/docs/functional/themes/light-colorblind-high-contrast.json +2635 -352
- package/dist/docs/functional/themes/light-colorblind.json +2632 -349
- package/dist/docs/functional/themes/light-high-contrast.json +2635 -352
- package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +2635 -352
- package/dist/docs/functional/themes/light-tritanopia.json +2632 -349
- package/dist/docs/functional/themes/light.json +2632 -349
- package/dist/docs/functional/typography/typography.json +8 -2
- package/dist/fallbacks/base/motion/motion.json +48 -12
- package/dist/figma/themes/light-colorblind.json +4 -4
- package/dist/figma/themes/light-high-contrast.json +4 -4
- package/dist/figma/themes/light-tritanopia.json +4 -4
- package/dist/figma/themes/light.json +4 -4
- package/dist/internalCss/dark-colorblind-high-contrast.css +28 -28
- package/dist/internalCss/dark-colorblind.css +28 -28
- package/dist/internalCss/dark-dimmed-high-contrast.css +28 -28
- package/dist/internalCss/dark-dimmed.css +28 -28
- package/dist/internalCss/dark-high-contrast.css +28 -28
- package/dist/internalCss/dark-tritanopia-high-contrast.css +28 -28
- package/dist/internalCss/dark-tritanopia.css +28 -28
- package/dist/internalCss/dark.css +28 -28
- package/dist/internalCss/light-colorblind-high-contrast.css +28 -28
- package/dist/internalCss/light-colorblind.css +28 -28
- package/dist/internalCss/light-high-contrast.css +28 -28
- package/dist/internalCss/light-tritanopia-high-contrast.css +28 -28
- package/dist/internalCss/light-tritanopia.css +28 -28
- package/dist/internalCss/light.css +28 -28
- package/dist/styleLint/base/motion/motion.json +96 -24
- package/dist/styleLint/base/size/size.json +76 -19
- package/dist/styleLint/base/typography/typography.json +30 -12
- package/dist/styleLint/functional/size/border.json +27 -12
- package/dist/styleLint/functional/size/breakpoints.json +24 -6
- package/dist/styleLint/functional/size/radius.json +17 -5
- package/dist/styleLint/functional/size/size-coarse.json +3 -3
- package/dist/styleLint/functional/size/size-fine.json +3 -3
- package/dist/styleLint/functional/size/size.json +111 -66
- package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +2757 -366
- package/dist/styleLint/functional/themes/dark-colorblind.json +2757 -366
- package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +2757 -366
- package/dist/styleLint/functional/themes/dark-dimmed.json +2757 -366
- package/dist/styleLint/functional/themes/dark-high-contrast.json +2757 -366
- package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +2757 -366
- package/dist/styleLint/functional/themes/dark-tritanopia.json +2757 -366
- package/dist/styleLint/functional/themes/dark.json +2757 -366
- package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +2763 -372
- package/dist/styleLint/functional/themes/light-colorblind.json +2760 -369
- package/dist/styleLint/functional/themes/light-high-contrast.json +2763 -372
- package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +2763 -372
- package/dist/styleLint/functional/themes/light-tritanopia.json +2760 -369
- package/dist/styleLint/functional/themes/light.json +2760 -369
- package/dist/styleLint/functional/typography/typography.json +28 -22
- package/package.json +9 -7
- package/src/tokens/base/motion/timing.json5 +12 -12
- package/src/tokens/base/size/size.json5 +194 -194
- package/src/tokens/base/typography/typography.json5 +6 -6
- package/src/tokens/component/avatar.json5 +72 -44
- package/src/tokens/component/button.json5 +1545 -1193
- package/src/tokens/functional/border/border.json5 +4 -1
- package/src/tokens/functional/color/bgColor.json5 +8 -0
- package/src/tokens/functional/color/display.json5 +7 -0
- package/src/tokens/functional/color/fgColor.json5 +8 -0
- package/src/tokens/functional/color/syntax.json5 +14 -0
- package/src/tokens/functional/shadow/shadow.json5 +1254 -163
- package/src/tokens/functional/size/border.json5 +8 -8
- package/src/tokens/functional/size/breakpoints.json5 +6 -6
- package/src/tokens/functional/size/radius.json5 +4 -4
- package/src/tokens/functional/size/size.json5 +15 -15
- package/src/tokens/functional/typography/typography.json5 +8 -4
- package/dist/build/parsers/index.d.ts +0 -1
- package/dist/build/parsers/index.js +0 -1
- package/dist/build/parsers/w3cJsonParser.d.ts +0 -6
- package/dist/build/parsers/w3cJsonParser.js +0 -25
- package/dist/removed/testing.json5 +0 -4
- package/guidelines/color.llm.md +0 -16
- package/guidelines/guidelines.llm.md +0 -34
- package/guidelines/motion.llm.md +0 -41
- package/guidelines/spacing.llm.md +0 -20
- package/guidelines/typography.llm.md +0 -14
- package/src/tokens/removed/testing.json5 +0 -4
- package/token-guidelines.llm.md +0 -695
|
@@ -3,6 +3,18 @@ import { isShadow } from '../filters/index.js';
|
|
|
3
3
|
import { alpha } from './utilities/alpha.js';
|
|
4
4
|
import { checkRequiredTokenProperties } from './utilities/checkRequiredTokenProperties.js';
|
|
5
5
|
import { getTokenValue } from './utilities/getTokenValue.js';
|
|
6
|
+
import { normalizeColorValue } from './utilities/normalizeColorValue.js';
|
|
7
|
+
/**
|
|
8
|
+
* @description Converts a W3C dimension object to CSS string
|
|
9
|
+
* @param dim - The dimension value in W3C object format
|
|
10
|
+
* @returns CSS dimension string (e.g., "16px", "1rem", "0")
|
|
11
|
+
*/
|
|
12
|
+
const dimensionToCss = (dim) => {
|
|
13
|
+
if (dim.value === 0) {
|
|
14
|
+
return '0';
|
|
15
|
+
}
|
|
16
|
+
return `${dim.value}${dim.unit}`;
|
|
17
|
+
};
|
|
6
18
|
/**
|
|
7
19
|
* @description converts w3c shadow tokens in css shadow string
|
|
8
20
|
* @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
|
|
@@ -27,7 +39,9 @@ export const shadowToCss = {
|
|
|
27
39
|
return shadow;
|
|
28
40
|
checkRequiredTokenProperties(shadow, ['color', 'offsetX', 'offsetY', 'blur', 'spread']);
|
|
29
41
|
/*css box shadow: inset? | offset-x | offset-y | blur-radius | spread-radius | color */
|
|
30
|
-
|
|
42
|
+
const colorString = normalizeColorValue(getTokenValue(Object.assign(Object.assign({}, token), { [valueProp]: shadow }), 'color'));
|
|
43
|
+
const colorHex = shadow.alpha !== undefined ? toHex(alpha(colorString, shadow.alpha, token, config)) : toHex(colorString);
|
|
44
|
+
return `${shadow.inset === true ? 'inset ' : ''}${dimensionToCss(shadow.offsetX)} ${dimensionToCss(shadow.offsetY)} ${dimensionToCss(shadow.blur)} ${dimensionToCss(shadow.spread)} ${colorHex}`;
|
|
31
45
|
})
|
|
32
46
|
.join(', ');
|
|
33
47
|
},
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Color from 'colorjs.io';
|
|
2
|
+
import type { ColorW3cValue } from '../../schemas/colorW3cValue.js';
|
|
3
|
+
export type ColorValue = string | ColorW3cValue;
|
|
4
|
+
/**
|
|
5
|
+
* Type guard to check if value is a valid W3C color object.
|
|
6
|
+
* Validates structure: colorSpace is a string, components is a 3-element array
|
|
7
|
+
* of numbers or 'none' keywords.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isW3cColorValue(value: unknown): value is ColorW3cValue;
|
|
10
|
+
/**
|
|
11
|
+
* Converts a W3C DTCG color object to a colorjs.io Color instance.
|
|
12
|
+
* The 'none' keyword is replaced with 0 per CSS Color 4 rules for color computation.
|
|
13
|
+
*/
|
|
14
|
+
export declare function w3cToColor(value: ColorW3cValue): Color;
|
|
15
|
+
/**
|
|
16
|
+
* Normalizes a color value for use in transformers.
|
|
17
|
+
* String values (hex, rgb, rgba, references) are returned as-is.
|
|
18
|
+
* W3C DTCG color objects are converted to hex via colorjs.io,
|
|
19
|
+
* correctly handling all color spaces (sRGB, display-p3, lab, etc.).
|
|
20
|
+
* @param value - color string or W3C color object
|
|
21
|
+
* @returns color string usable by downstream transformers
|
|
22
|
+
*/
|
|
23
|
+
export declare function normalizeColorValue(value: ColorValue): string;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import Color from 'colorjs.io';
|
|
2
|
+
/**
|
|
3
|
+
* Type guard to check if value is a valid W3C color object.
|
|
4
|
+
* Validates structure: colorSpace is a string, components is a 3-element array
|
|
5
|
+
* of numbers or 'none' keywords.
|
|
6
|
+
*/
|
|
7
|
+
export function isW3cColorValue(value) {
|
|
8
|
+
if (typeof value !== 'object' || value === null)
|
|
9
|
+
return false;
|
|
10
|
+
if (!('colorSpace' in value) || typeof value.colorSpace !== 'string')
|
|
11
|
+
return false;
|
|
12
|
+
if (!('components' in value))
|
|
13
|
+
return false;
|
|
14
|
+
const components = value.components;
|
|
15
|
+
if (!Array.isArray(components) || components.length !== 3)
|
|
16
|
+
return false;
|
|
17
|
+
return components.every(c => typeof c === 'number' || c === 'none');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Maps W3C DTCG color space names to colorjs.io space identifiers
|
|
21
|
+
*/
|
|
22
|
+
const getColorSpace = (colorSpace) => {
|
|
23
|
+
switch (colorSpace) {
|
|
24
|
+
case 'display-p3':
|
|
25
|
+
return 'p3';
|
|
26
|
+
case 'a98-rgb':
|
|
27
|
+
return 'a98rgb';
|
|
28
|
+
case 'prophoto-rgb':
|
|
29
|
+
return 'prophoto';
|
|
30
|
+
default:
|
|
31
|
+
return colorSpace;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Converts a W3C DTCG color object to a colorjs.io Color instance.
|
|
36
|
+
* The 'none' keyword is replaced with 0 per CSS Color 4 rules for color computation.
|
|
37
|
+
*/
|
|
38
|
+
export function w3cToColor(value) {
|
|
39
|
+
var _a;
|
|
40
|
+
const coords = value.components.map(c => (c === 'none' ? 0 : c));
|
|
41
|
+
return new Color({
|
|
42
|
+
space: getColorSpace(value.colorSpace),
|
|
43
|
+
coords,
|
|
44
|
+
alpha: (_a = value.alpha) !== null && _a !== void 0 ? _a : 1,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Normalizes a color value for use in transformers.
|
|
49
|
+
* String values (hex, rgb, rgba, references) are returned as-is.
|
|
50
|
+
* W3C DTCG color objects are converted to hex via colorjs.io,
|
|
51
|
+
* correctly handling all color spaces (sRGB, display-p3, lab, etc.).
|
|
52
|
+
* @param value - color string or W3C color object
|
|
53
|
+
* @returns color string usable by downstream transformers
|
|
54
|
+
*/
|
|
55
|
+
export function normalizeColorValue(value) {
|
|
56
|
+
// String value (hex, rgb, rgba, reference, etc.) - return as-is
|
|
57
|
+
if (typeof value === 'string') {
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
// W3C object with hex property and sRGB color space - use hex directly
|
|
61
|
+
if (value.hex && value.colorSpace === 'srgb' && (value.alpha === undefined || value.alpha === 1)) {
|
|
62
|
+
return value.hex;
|
|
63
|
+
}
|
|
64
|
+
// Convert via colorjs.io for correct color space handling
|
|
65
|
+
const color = w3cToColor(value);
|
|
66
|
+
const rgb = color.toGamut('srgb').to('srgb');
|
|
67
|
+
const [r, g, b] = rgb.coords.map(x => Math.round(Math.max(0, Math.min(1, x !== null && x !== void 0 ? x : 0)) * 255));
|
|
68
|
+
const hex = `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;
|
|
69
|
+
if (rgb.alpha < 1) {
|
|
70
|
+
const a = Math.round(rgb.alpha * 255);
|
|
71
|
+
return hex + a.toString(16).padStart(2, '0');
|
|
72
|
+
}
|
|
73
|
+
return hex;
|
|
74
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DimensionTokenValue } from '../../types/dimensionTokenValue.js';
|
|
2
|
+
/**
|
|
3
|
+
* @description Parses and validates a dimension value in W3C DTCG object format
|
|
4
|
+
* @param input - The dimension value in W3C object format { value: number, unit: "px" | "rem" | "em" }
|
|
5
|
+
* @returns Validated DimensionTokenValue
|
|
6
|
+
* @throws Error if the input is not a valid W3C dimension object
|
|
7
|
+
*
|
|
8
|
+
* W3C DTCG format: { value: 16, unit: "px" }
|
|
9
|
+
* @note `em` is not in the W3C spec but is supported for practical use
|
|
10
|
+
* @link https://www.designtokens.org/tr/drafts/format/#dimension
|
|
11
|
+
*/
|
|
12
|
+
export declare const parseDimension: (input: DimensionTokenValue) => DimensionTokenValue;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Parses and validates a dimension value in W3C DTCG object format
|
|
3
|
+
* @param input - The dimension value in W3C object format { value: number, unit: "px" | "rem" | "em" }
|
|
4
|
+
* @returns Validated DimensionTokenValue
|
|
5
|
+
* @throws Error if the input is not a valid W3C dimension object
|
|
6
|
+
*
|
|
7
|
+
* W3C DTCG format: { value: 16, unit: "px" }
|
|
8
|
+
* @note `em` is not in the W3C spec but is supported for practical use
|
|
9
|
+
* @link https://www.designtokens.org/tr/drafts/format/#dimension
|
|
10
|
+
*/
|
|
11
|
+
export const parseDimension = (input) => {
|
|
12
|
+
// Runtime validation for W3C DTCG object format
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
14
|
+
if (typeof input !== 'object' || input === null) {
|
|
15
|
+
throw new Error(`Invalid dimension value: ${JSON.stringify(input)} - must be a W3C DTCG dimension object with "value" and "unit" properties`);
|
|
16
|
+
}
|
|
17
|
+
const inputObj = input;
|
|
18
|
+
if (!('value' in inputObj) || !('unit' in inputObj)) {
|
|
19
|
+
throw new Error(`Invalid dimension value: ${JSON.stringify(input)} - must be a W3C DTCG dimension object with "value" and "unit" properties`);
|
|
20
|
+
}
|
|
21
|
+
const { value, unit } = input;
|
|
22
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
23
|
+
throw new Error(`Invalid dimension value: ${JSON.stringify(input)} - value must be a finite number`);
|
|
24
|
+
}
|
|
25
|
+
// Runtime check - unit could be invalid at runtime even if types say otherwise
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
27
|
+
if (unit !== 'px' && unit !== 'rem' && unit !== 'em') {
|
|
28
|
+
throw new Error(`Invalid dimension unit: ${String(unit)} - must be "px", "rem", or "em"`);
|
|
29
|
+
}
|
|
30
|
+
return { value, unit };
|
|
31
|
+
};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type {DimensionTokenValue} from './dimensionTokenValue.js'
|
|
2
|
+
import type {ColorW3cValue} from '../schemas/colorW3cValue.js'
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Type definition for w3c border composite token value
|
|
3
6
|
* @link https://design-tokens.github.io/community-group/format/#border
|
|
4
7
|
*/
|
|
5
8
|
export type StrokeStyleString = 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'outset' | 'inset'
|
|
6
9
|
export type BorderTokenValue = {
|
|
7
|
-
color: string
|
|
8
|
-
width: string
|
|
10
|
+
color: string | ColorW3cValue
|
|
11
|
+
width: string | DimensionTokenValue
|
|
9
12
|
style: StrokeStyleString
|
|
10
13
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* W3C DTCG dimension token value format
|
|
3
|
+
* @link https://www.designtokens.org/tr/drafts/format/#dimension
|
|
4
|
+
* @note `em` is not in the W3C spec but is supported for practical use
|
|
5
|
+
*/
|
|
6
|
+
export type DimensionTokenValue = {
|
|
7
|
+
value: number
|
|
8
|
+
unit: 'px' | 'rem' | 'em'
|
|
9
|
+
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import type {DimensionTokenValue} from './dimensionTokenValue.js'
|
|
2
|
+
import type {ColorW3cValue} from '../schemas/colorW3cValue.js'
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Type definition for w3c shadow composite token value
|
|
3
6
|
* @link https://design-tokens.github.io/community-group/format/#shadow
|
|
4
7
|
*/
|
|
5
8
|
export type ShadowTokenValue = {
|
|
6
|
-
color: string
|
|
7
|
-
offsetX:
|
|
8
|
-
offsetY:
|
|
9
|
-
blur:
|
|
10
|
-
spread:
|
|
9
|
+
color: string | ColorW3cValue
|
|
10
|
+
offsetX: DimensionTokenValue
|
|
11
|
+
offsetY: DimensionTokenValue
|
|
12
|
+
blur: DimensionTokenValue
|
|
13
|
+
spread: DimensionTokenValue
|
|
11
14
|
// custom non w3c values
|
|
12
15
|
inset?: boolean
|
|
13
16
|
alpha?: number
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @spec See /DESIGN_TOKENS_SPEC.md for naming logic and semantic pairings.
|
|
3
|
+
* @rule Never use raw values (hex/px). Use semantic tokens ONLY.
|
|
4
|
+
*/
|
|
1
5
|
[data-color-mode="dark"][data-dark-theme="dark_colorblind_high_contrast"],
|
|
2
6
|
[data-color-mode="auto"][data-light-theme="dark_colorblind_high_contrast"] {
|
|
3
7
|
--button-primary-bgColor-active: #3685f3;
|
|
@@ -11,7 +15,7 @@
|
|
|
11
15
|
--fgColor-done: #d3abff; /** Text color for completed/done state indicators */
|
|
12
16
|
--fgColor-sponsors: #ff90c8; /** Text color for GitHub Sponsors content */
|
|
13
17
|
--reactionButton-selected-bgColor-hover: #3a8cfd5c;
|
|
14
|
-
--avatar-shadow:
|
|
18
|
+
--avatar-shadow: 0 0 0 2px #0d1117;
|
|
15
19
|
--avatarStack-fade-bgColor-default: #3d444d;
|
|
16
20
|
--avatarStack-fade-bgColor-muted: #2a313c;
|
|
17
21
|
--bgColor-accent-emphasis: #194fb1; /** Strong accent background for active states and focused states */
|
|
@@ -59,8 +63,8 @@
|
|
|
59
63
|
--button-danger-bgColor-hover: #8f3c00;
|
|
60
64
|
--button-danger-borderColor-hover: #ffb757;
|
|
61
65
|
--button-danger-fgColor-rest: #ffb757;
|
|
62
|
-
--button-danger-shadow-selected:
|
|
63
|
-
--button-default-shadow-resting:
|
|
66
|
+
--button-danger-shadow-selected: 0 0 0 0 #00000000;
|
|
67
|
+
--button-default-shadow-resting: 0 0 0 0 #00000000;
|
|
64
68
|
--button-inactive-bgColor: #262c36;
|
|
65
69
|
--button-inactive-fgColor: #b7bdc8;
|
|
66
70
|
--button-invisible-bgColor-active: #212830;
|
|
@@ -74,10 +78,10 @@
|
|
|
74
78
|
--button-outline-fgColor-disabled: #74b9ff80;
|
|
75
79
|
--button-outline-fgColor-hover: #71b7ff;
|
|
76
80
|
--button-outline-fgColor-rest: #5cacff;
|
|
77
|
-
--button-outline-shadow-selected:
|
|
81
|
+
--button-outline-shadow-selected: 0 0 0 0 #00000000;
|
|
78
82
|
--button-primary-bgColor-disabled: #318bf8;
|
|
79
83
|
--button-primary-borderColor-rest: #91cbff;
|
|
80
|
-
--button-primary-shadow-selected:
|
|
84
|
+
--button-primary-shadow-selected: 0 0 0 0 #00000000;
|
|
81
85
|
--button-star-iconColor: #f7c843;
|
|
82
86
|
--buttonCounter-default-bgColor-rest: #2f3742;
|
|
83
87
|
--buttonCounter-outline-bgColor-hover: #194fb133;
|
|
@@ -792,11 +796,11 @@
|
|
|
792
796
|
--reactionButton-selected-fgColor-rest: var(--fgColor-link);
|
|
793
797
|
--selectMenu-borderColor: var(--borderColor-default);
|
|
794
798
|
--selection-bgColor: #194fb1b3; /** Background color for text selection highlights */
|
|
795
|
-
--shadow-floating-legacy:
|
|
796
|
-
--shadow-inset: inset
|
|
797
|
-
--shadow-resting-medium:
|
|
798
|
-
--shadow-resting-small:
|
|
799
|
-
--shadow-resting-xsmall:
|
|
799
|
+
--shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
|
|
800
|
+
--shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
|
|
801
|
+
--shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
|
|
802
|
+
--shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
|
|
803
|
+
--shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
|
|
800
804
|
--topicTag-borderColor: var(--borderColor-accent-emphasis);
|
|
801
805
|
--treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
|
|
802
806
|
--underlineNav-iconColor-rest: var(--fgColor-muted);
|
|
@@ -871,10 +875,10 @@
|
|
|
871
875
|
--focus-outline: 2px solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
|
|
872
876
|
--page-header-bgColor: var(--bgColor-default);
|
|
873
877
|
--progressBar-track-bgColor: var(--bgColor-inverse);
|
|
874
|
-
--shadow-floating-large:
|
|
875
|
-
--shadow-floating-medium:
|
|
876
|
-
--shadow-floating-small:
|
|
877
|
-
--shadow-floating-xlarge:
|
|
878
|
+
--shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
|
|
879
|
+
--shadow-floating-medium: 0 0 0 1px #b7bdc8, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
|
|
880
|
+
--shadow-floating-small: 0 0 0 1px #b7bdc8, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
|
|
881
|
+
--shadow-floating-xlarge: 0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
|
|
878
882
|
--tooltip-bgColor: var(--bgColor-inverse);
|
|
879
883
|
--tooltip-fgColor: var(--fgColor-onInverse);
|
|
880
884
|
--border-neutral-emphasis: 0.0625rem solid #b7bdc8;
|
|
@@ -908,7 +912,7 @@
|
|
|
908
912
|
--fgColor-done: #d3abff; /** Text color for completed/done state indicators */
|
|
909
913
|
--fgColor-sponsors: #ff90c8; /** Text color for GitHub Sponsors content */
|
|
910
914
|
--reactionButton-selected-bgColor-hover: #3a8cfd5c;
|
|
911
|
-
--avatar-shadow:
|
|
915
|
+
--avatar-shadow: 0 0 0 2px #0d1117;
|
|
912
916
|
--avatarStack-fade-bgColor-default: #3d444d;
|
|
913
917
|
--avatarStack-fade-bgColor-muted: #2a313c;
|
|
914
918
|
--bgColor-accent-emphasis: #194fb1; /** Strong accent background for active states and focused states */
|
|
@@ -956,8 +960,8 @@
|
|
|
956
960
|
--button-danger-bgColor-hover: #8f3c00;
|
|
957
961
|
--button-danger-borderColor-hover: #ffb757;
|
|
958
962
|
--button-danger-fgColor-rest: #ffb757;
|
|
959
|
-
--button-danger-shadow-selected:
|
|
960
|
-
--button-default-shadow-resting:
|
|
963
|
+
--button-danger-shadow-selected: 0 0 0 0 #00000000;
|
|
964
|
+
--button-default-shadow-resting: 0 0 0 0 #00000000;
|
|
961
965
|
--button-inactive-bgColor: #262c36;
|
|
962
966
|
--button-inactive-fgColor: #b7bdc8;
|
|
963
967
|
--button-invisible-bgColor-active: #212830;
|
|
@@ -971,10 +975,10 @@
|
|
|
971
975
|
--button-outline-fgColor-disabled: #74b9ff80;
|
|
972
976
|
--button-outline-fgColor-hover: #71b7ff;
|
|
973
977
|
--button-outline-fgColor-rest: #5cacff;
|
|
974
|
-
--button-outline-shadow-selected:
|
|
978
|
+
--button-outline-shadow-selected: 0 0 0 0 #00000000;
|
|
975
979
|
--button-primary-bgColor-disabled: #318bf8;
|
|
976
980
|
--button-primary-borderColor-rest: #91cbff;
|
|
977
|
-
--button-primary-shadow-selected:
|
|
981
|
+
--button-primary-shadow-selected: 0 0 0 0 #00000000;
|
|
978
982
|
--button-star-iconColor: #f7c843;
|
|
979
983
|
--buttonCounter-default-bgColor-rest: #2f3742;
|
|
980
984
|
--buttonCounter-outline-bgColor-hover: #194fb133;
|
|
@@ -1689,11 +1693,11 @@
|
|
|
1689
1693
|
--reactionButton-selected-fgColor-rest: var(--fgColor-link);
|
|
1690
1694
|
--selectMenu-borderColor: var(--borderColor-default);
|
|
1691
1695
|
--selection-bgColor: #194fb1b3; /** Background color for text selection highlights */
|
|
1692
|
-
--shadow-floating-legacy:
|
|
1693
|
-
--shadow-inset: inset
|
|
1694
|
-
--shadow-resting-medium:
|
|
1695
|
-
--shadow-resting-small:
|
|
1696
|
-
--shadow-resting-xsmall:
|
|
1696
|
+
--shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
|
|
1697
|
+
--shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
|
|
1698
|
+
--shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
|
|
1699
|
+
--shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
|
|
1700
|
+
--shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
|
|
1697
1701
|
--topicTag-borderColor: var(--borderColor-accent-emphasis);
|
|
1698
1702
|
--treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
|
|
1699
1703
|
--underlineNav-iconColor-rest: var(--fgColor-muted);
|
|
@@ -1768,10 +1772,10 @@
|
|
|
1768
1772
|
--focus-outline: 2px solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
|
|
1769
1773
|
--page-header-bgColor: var(--bgColor-default);
|
|
1770
1774
|
--progressBar-track-bgColor: var(--bgColor-inverse);
|
|
1771
|
-
--shadow-floating-large:
|
|
1772
|
-
--shadow-floating-medium:
|
|
1773
|
-
--shadow-floating-small:
|
|
1774
|
-
--shadow-floating-xlarge:
|
|
1775
|
+
--shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
|
|
1776
|
+
--shadow-floating-medium: 0 0 0 1px #b7bdc8, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
|
|
1777
|
+
--shadow-floating-small: 0 0 0 1px #b7bdc8, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
|
|
1778
|
+
--shadow-floating-xlarge: 0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
|
|
1775
1779
|
--tooltip-bgColor: var(--bgColor-inverse);
|
|
1776
1780
|
--tooltip-fgColor: var(--fgColor-onInverse);
|
|
1777
1781
|
--border-neutral-emphasis: 0.0625rem solid #b7bdc8;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @spec See /DESIGN_TOKENS_SPEC.md for naming logic and semantic pairings.
|
|
3
|
+
* @rule Never use raw values (hex/px). Use semantic tokens ONLY.
|
|
4
|
+
*/
|
|
1
5
|
[data-color-mode="dark"][data-dark-theme="dark_colorblind"],
|
|
2
6
|
[data-color-mode="auto"][data-light-theme="dark_colorblind"] {
|
|
3
7
|
--button-primary-bgColor-active: #3685f3;
|
|
@@ -9,7 +13,7 @@
|
|
|
9
13
|
--control-checked-bgColor-hover: #2a7aef;
|
|
10
14
|
--fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
|
|
11
15
|
--reactionButton-selected-bgColor-hover: #3a8cfd5c;
|
|
12
|
-
--avatar-shadow:
|
|
16
|
+
--avatar-shadow: 0 0 0 2px #0d1117;
|
|
13
17
|
--avatarStack-fade-bgColor-default: #3d444d;
|
|
14
18
|
--avatarStack-fade-bgColor-muted: #2a313c;
|
|
15
19
|
--bgColor-accent-emphasis: #1f6feb; /** Strong accent background for active states and focused states */
|
|
@@ -56,8 +60,8 @@
|
|
|
56
60
|
--borderColor-success-muted: #388bfd66; /** Subtle success border for positive feedback elements */
|
|
57
61
|
--borderColor-transparent: #00000000; /** Fully transparent border */
|
|
58
62
|
--button-danger-bgColor-hover: #9b4215;
|
|
59
|
-
--button-danger-shadow-selected:
|
|
60
|
-
--button-default-shadow-resting:
|
|
63
|
+
--button-danger-shadow-selected: 0 0 0 0 #00000000;
|
|
64
|
+
--button-default-shadow-resting: 0 0 0 0 #00000000;
|
|
61
65
|
--button-inactive-bgColor: #262c36;
|
|
62
66
|
--button-inactive-fgColor: #9198a1;
|
|
63
67
|
--button-invisible-bgColor-disabled: #00000000;
|
|
@@ -67,9 +71,9 @@
|
|
|
67
71
|
--button-outline-fgColor-disabled: #4493f880;
|
|
68
72
|
--button-outline-fgColor-hover: #58a6ff;
|
|
69
73
|
--button-outline-fgColor-rest: #388bfd;
|
|
70
|
-
--button-outline-shadow-selected:
|
|
74
|
+
--button-outline-shadow-selected: 0 0 0 0 #00000000;
|
|
71
75
|
--button-primary-bgColor-disabled: #1158c7;
|
|
72
|
-
--button-primary-shadow-selected:
|
|
76
|
+
--button-primary-shadow-selected: 0 0 0 0 #00000000;
|
|
73
77
|
--button-star-iconColor: #e3b341;
|
|
74
78
|
--buttonCounter-danger-bgColor-rest: #49020233;
|
|
75
79
|
--buttonCounter-default-bgColor-rest: #2f3742;
|
|
@@ -815,11 +819,11 @@
|
|
|
815
819
|
--reactionButton-selected-fgColor-rest: var(--fgColor-link);
|
|
816
820
|
--selectMenu-borderColor: var(--borderColor-default);
|
|
817
821
|
--selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
|
|
818
|
-
--shadow-floating-legacy:
|
|
819
|
-
--shadow-inset: inset
|
|
820
|
-
--shadow-resting-medium:
|
|
821
|
-
--shadow-resting-small:
|
|
822
|
-
--shadow-resting-xsmall:
|
|
822
|
+
--shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
|
|
823
|
+
--shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
|
|
824
|
+
--shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
|
|
825
|
+
--shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
|
|
826
|
+
--shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
|
|
823
827
|
--tooltip-bgColor: var(--bgColor-emphasis);
|
|
824
828
|
--treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
|
|
825
829
|
--underlineNav-iconColor-rest: var(--fgColor-muted);
|
|
@@ -886,10 +890,10 @@
|
|
|
886
890
|
--buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
|
|
887
891
|
--buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
|
|
888
892
|
--buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
|
|
889
|
-
--shadow-floating-large:
|
|
890
|
-
--shadow-floating-medium:
|
|
891
|
-
--shadow-floating-small:
|
|
892
|
-
--shadow-floating-xlarge:
|
|
893
|
+
--shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
|
|
894
|
+
--shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
|
|
895
|
+
--shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
|
|
896
|
+
--shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
|
|
893
897
|
--underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
|
|
894
898
|
--button-danger-borderColor-active: var(--button-danger-borderColor-hover);
|
|
895
899
|
--button-outline-borderColor-hover: var(--button-default-borderColor-hover);
|
|
@@ -906,7 +910,7 @@
|
|
|
906
910
|
--control-checked-bgColor-hover: #2a7aef;
|
|
907
911
|
--fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
|
|
908
912
|
--reactionButton-selected-bgColor-hover: #3a8cfd5c;
|
|
909
|
-
--avatar-shadow:
|
|
913
|
+
--avatar-shadow: 0 0 0 2px #0d1117;
|
|
910
914
|
--avatarStack-fade-bgColor-default: #3d444d;
|
|
911
915
|
--avatarStack-fade-bgColor-muted: #2a313c;
|
|
912
916
|
--bgColor-accent-emphasis: #1f6feb; /** Strong accent background for active states and focused states */
|
|
@@ -953,8 +957,8 @@
|
|
|
953
957
|
--borderColor-success-muted: #388bfd66; /** Subtle success border for positive feedback elements */
|
|
954
958
|
--borderColor-transparent: #00000000; /** Fully transparent border */
|
|
955
959
|
--button-danger-bgColor-hover: #9b4215;
|
|
956
|
-
--button-danger-shadow-selected:
|
|
957
|
-
--button-default-shadow-resting:
|
|
960
|
+
--button-danger-shadow-selected: 0 0 0 0 #00000000;
|
|
961
|
+
--button-default-shadow-resting: 0 0 0 0 #00000000;
|
|
958
962
|
--button-inactive-bgColor: #262c36;
|
|
959
963
|
--button-inactive-fgColor: #9198a1;
|
|
960
964
|
--button-invisible-bgColor-disabled: #00000000;
|
|
@@ -964,9 +968,9 @@
|
|
|
964
968
|
--button-outline-fgColor-disabled: #4493f880;
|
|
965
969
|
--button-outline-fgColor-hover: #58a6ff;
|
|
966
970
|
--button-outline-fgColor-rest: #388bfd;
|
|
967
|
-
--button-outline-shadow-selected:
|
|
971
|
+
--button-outline-shadow-selected: 0 0 0 0 #00000000;
|
|
968
972
|
--button-primary-bgColor-disabled: #1158c7;
|
|
969
|
-
--button-primary-shadow-selected:
|
|
973
|
+
--button-primary-shadow-selected: 0 0 0 0 #00000000;
|
|
970
974
|
--button-star-iconColor: #e3b341;
|
|
971
975
|
--buttonCounter-danger-bgColor-rest: #49020233;
|
|
972
976
|
--buttonCounter-default-bgColor-rest: #2f3742;
|
|
@@ -1712,11 +1716,11 @@
|
|
|
1712
1716
|
--reactionButton-selected-fgColor-rest: var(--fgColor-link);
|
|
1713
1717
|
--selectMenu-borderColor: var(--borderColor-default);
|
|
1714
1718
|
--selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
|
|
1715
|
-
--shadow-floating-legacy:
|
|
1716
|
-
--shadow-inset: inset
|
|
1717
|
-
--shadow-resting-medium:
|
|
1718
|
-
--shadow-resting-small:
|
|
1719
|
-
--shadow-resting-xsmall:
|
|
1719
|
+
--shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
|
|
1720
|
+
--shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
|
|
1721
|
+
--shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
|
|
1722
|
+
--shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
|
|
1723
|
+
--shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
|
|
1720
1724
|
--tooltip-bgColor: var(--bgColor-emphasis);
|
|
1721
1725
|
--treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
|
|
1722
1726
|
--underlineNav-iconColor-rest: var(--fgColor-muted);
|
|
@@ -1783,10 +1787,10 @@
|
|
|
1783
1787
|
--buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
|
|
1784
1788
|
--buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
|
|
1785
1789
|
--buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
|
|
1786
|
-
--shadow-floating-large:
|
|
1787
|
-
--shadow-floating-medium:
|
|
1788
|
-
--shadow-floating-small:
|
|
1789
|
-
--shadow-floating-xlarge:
|
|
1790
|
+
--shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
|
|
1791
|
+
--shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
|
|
1792
|
+
--shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
|
|
1793
|
+
--shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
|
|
1790
1794
|
--underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
|
|
1791
1795
|
--button-danger-borderColor-active: var(--button-danger-borderColor-hover);
|
|
1792
1796
|
--button-outline-borderColor-hover: var(--button-default-borderColor-hover);
|