@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.
Files changed (165) hide show
  1. package/DESIGN_TOKENS_GUIDE.md +185 -0
  2. package/DESIGN_TOKENS_SPEC.md +565 -0
  3. package/dist/build/formats/jsonFigma.js +8 -1
  4. package/dist/build/formats/markdownLlmGuidelines.d.ts +7 -6
  5. package/dist/build/formats/markdownLlmGuidelines.js +1034 -60
  6. package/dist/build/schemas/borderToken.d.ts +61 -5
  7. package/dist/build/schemas/borderToken.js +2 -1
  8. package/dist/build/schemas/colorToken.d.ts +639 -30
  9. package/dist/build/schemas/colorToken.js +3 -2
  10. package/dist/build/schemas/colorW3cValue.d.ts +28 -0
  11. package/dist/build/schemas/colorW3cValue.js +42 -0
  12. package/dist/build/schemas/cubicBezierToken.d.ts +1 -1
  13. package/dist/build/schemas/dimensionToken.d.ts +9 -2
  14. package/dist/build/schemas/dimensionValue.d.ts +12 -1
  15. package/dist/build/schemas/dimensionValue.js +10 -13
  16. package/dist/build/schemas/durationToken.d.ts +8 -2
  17. package/dist/build/schemas/durationValue.d.ts +11 -1
  18. package/dist/build/schemas/durationValue.js +13 -3
  19. package/dist/build/schemas/fontFamilyToken.d.ts +1 -1
  20. package/dist/build/schemas/fontWeightToken.d.ts +1 -1
  21. package/dist/build/schemas/gradientToken.d.ts +23 -2
  22. package/dist/build/schemas/gradientToken.js +2 -1
  23. package/dist/build/schemas/numberToken.d.ts +1 -1
  24. package/dist/build/schemas/shadowToken.d.ts +1751 -127
  25. package/dist/build/schemas/shadowToken.js +8 -2
  26. package/dist/build/schemas/stringToken.d.ts +1 -1
  27. package/dist/build/schemas/stringToken.js +1 -1
  28. package/dist/build/schemas/tokenType.d.ts +1 -1
  29. package/dist/build/schemas/transitionToken.d.ts +15 -3
  30. package/dist/build/schemas/typographyToken.d.ts +19 -5
  31. package/dist/build/schemas/typographyToken.js +1 -1
  32. package/dist/build/schemas/validTokenType.d.ts +1 -1
  33. package/dist/build/schemas/validTokenType.js +1 -1
  34. package/dist/build/schemas/viewportRangeToken.d.ts +1 -1
  35. package/dist/build/transformers/borderToCss.js +19 -1
  36. package/dist/build/transformers/colorAlphaToCss.js +6 -3
  37. package/dist/build/transformers/colorToHex.js +5 -2
  38. package/dist/build/transformers/colorToRgbAlpha.js +5 -2
  39. package/dist/build/transformers/colorToRgbaFloat.js +5 -0
  40. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +3 -2
  41. package/dist/build/transformers/dimensionToPixelUnitless.js +22 -26
  42. package/dist/build/transformers/dimensionToRem.d.ts +2 -1
  43. package/dist/build/transformers/dimensionToRem.js +21 -22
  44. package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -1
  45. package/dist/build/transformers/dimensionToRemPxArray.js +21 -22
  46. package/dist/build/transformers/durationToCss.d.ts +2 -1
  47. package/dist/build/transformers/durationToCss.js +18 -11
  48. package/dist/build/transformers/gradientToCss.js +2 -1
  49. package/dist/build/transformers/shadowToCss.js +15 -1
  50. package/dist/build/transformers/utilities/normalizeColorValue.d.ts +23 -0
  51. package/dist/build/transformers/utilities/normalizeColorValue.js +74 -0
  52. package/dist/build/transformers/utilities/parseDimension.d.ts +12 -0
  53. package/dist/build/transformers/utilities/parseDimension.js +31 -0
  54. package/dist/build/types/borderTokenValue.d.ts +5 -2
  55. package/dist/build/types/dimensionTokenValue.d.ts +9 -0
  56. package/dist/build/types/shadowTokenValue.d.ts +8 -5
  57. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +32 -28
  58. package/dist/css/functional/themes/dark-colorblind.css +32 -28
  59. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +32 -28
  60. package/dist/css/functional/themes/dark-dimmed.css +32 -28
  61. package/dist/css/functional/themes/dark-high-contrast.css +32 -28
  62. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +32 -28
  63. package/dist/css/functional/themes/dark-tritanopia.css +32 -28
  64. package/dist/css/functional/themes/dark.css +32 -28
  65. package/dist/css/functional/themes/light-colorblind-high-contrast.css +32 -28
  66. package/dist/css/functional/themes/light-colorblind.css +32 -28
  67. package/dist/css/functional/themes/light-high-contrast.css +32 -28
  68. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +32 -28
  69. package/dist/css/functional/themes/light-tritanopia.css +32 -28
  70. package/dist/css/functional/themes/light.css +32 -28
  71. package/dist/css/primitives.css +4 -0
  72. package/dist/docs/base/motion/motion.json +96 -24
  73. package/dist/docs/base/size/size.json +76 -19
  74. package/dist/docs/base/typography/typography.json +24 -6
  75. package/dist/docs/functional/size/border.json +26 -11
  76. package/dist/docs/functional/size/breakpoints.json +24 -6
  77. package/dist/docs/functional/size/radius.json +16 -4
  78. package/dist/docs/functional/size/size.json +60 -15
  79. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +2629 -346
  80. package/dist/docs/functional/themes/dark-colorblind.json +2629 -346
  81. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +2629 -346
  82. package/dist/docs/functional/themes/dark-dimmed.json +2629 -346
  83. package/dist/docs/functional/themes/dark-high-contrast.json +2629 -346
  84. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +2629 -346
  85. package/dist/docs/functional/themes/dark-tritanopia.json +2629 -346
  86. package/dist/docs/functional/themes/dark.json +2629 -346
  87. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +2635 -352
  88. package/dist/docs/functional/themes/light-colorblind.json +2632 -349
  89. package/dist/docs/functional/themes/light-high-contrast.json +2635 -352
  90. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +2635 -352
  91. package/dist/docs/functional/themes/light-tritanopia.json +2632 -349
  92. package/dist/docs/functional/themes/light.json +2632 -349
  93. package/dist/docs/functional/typography/typography.json +8 -2
  94. package/dist/fallbacks/base/motion/motion.json +48 -12
  95. package/dist/figma/themes/light-colorblind.json +4 -4
  96. package/dist/figma/themes/light-high-contrast.json +4 -4
  97. package/dist/figma/themes/light-tritanopia.json +4 -4
  98. package/dist/figma/themes/light.json +4 -4
  99. package/dist/internalCss/dark-colorblind-high-contrast.css +28 -28
  100. package/dist/internalCss/dark-colorblind.css +28 -28
  101. package/dist/internalCss/dark-dimmed-high-contrast.css +28 -28
  102. package/dist/internalCss/dark-dimmed.css +28 -28
  103. package/dist/internalCss/dark-high-contrast.css +28 -28
  104. package/dist/internalCss/dark-tritanopia-high-contrast.css +28 -28
  105. package/dist/internalCss/dark-tritanopia.css +28 -28
  106. package/dist/internalCss/dark.css +28 -28
  107. package/dist/internalCss/light-colorblind-high-contrast.css +28 -28
  108. package/dist/internalCss/light-colorblind.css +28 -28
  109. package/dist/internalCss/light-high-contrast.css +28 -28
  110. package/dist/internalCss/light-tritanopia-high-contrast.css +28 -28
  111. package/dist/internalCss/light-tritanopia.css +28 -28
  112. package/dist/internalCss/light.css +28 -28
  113. package/dist/styleLint/base/motion/motion.json +96 -24
  114. package/dist/styleLint/base/size/size.json +76 -19
  115. package/dist/styleLint/base/typography/typography.json +30 -12
  116. package/dist/styleLint/functional/size/border.json +27 -12
  117. package/dist/styleLint/functional/size/breakpoints.json +24 -6
  118. package/dist/styleLint/functional/size/radius.json +17 -5
  119. package/dist/styleLint/functional/size/size-coarse.json +3 -3
  120. package/dist/styleLint/functional/size/size-fine.json +3 -3
  121. package/dist/styleLint/functional/size/size.json +111 -66
  122. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +2757 -366
  123. package/dist/styleLint/functional/themes/dark-colorblind.json +2757 -366
  124. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +2757 -366
  125. package/dist/styleLint/functional/themes/dark-dimmed.json +2757 -366
  126. package/dist/styleLint/functional/themes/dark-high-contrast.json +2757 -366
  127. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +2757 -366
  128. package/dist/styleLint/functional/themes/dark-tritanopia.json +2757 -366
  129. package/dist/styleLint/functional/themes/dark.json +2757 -366
  130. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +2763 -372
  131. package/dist/styleLint/functional/themes/light-colorblind.json +2760 -369
  132. package/dist/styleLint/functional/themes/light-high-contrast.json +2763 -372
  133. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +2763 -372
  134. package/dist/styleLint/functional/themes/light-tritanopia.json +2760 -369
  135. package/dist/styleLint/functional/themes/light.json +2760 -369
  136. package/dist/styleLint/functional/typography/typography.json +28 -22
  137. package/package.json +9 -7
  138. package/src/tokens/base/motion/timing.json5 +12 -12
  139. package/src/tokens/base/size/size.json5 +194 -194
  140. package/src/tokens/base/typography/typography.json5 +6 -6
  141. package/src/tokens/component/avatar.json5 +72 -44
  142. package/src/tokens/component/button.json5 +1545 -1193
  143. package/src/tokens/functional/border/border.json5 +4 -1
  144. package/src/tokens/functional/color/bgColor.json5 +8 -0
  145. package/src/tokens/functional/color/display.json5 +7 -0
  146. package/src/tokens/functional/color/fgColor.json5 +8 -0
  147. package/src/tokens/functional/color/syntax.json5 +14 -0
  148. package/src/tokens/functional/shadow/shadow.json5 +1254 -163
  149. package/src/tokens/functional/size/border.json5 +8 -8
  150. package/src/tokens/functional/size/breakpoints.json5 +6 -6
  151. package/src/tokens/functional/size/radius.json5 +4 -4
  152. package/src/tokens/functional/size/size.json5 +15 -15
  153. package/src/tokens/functional/typography/typography.json5 +8 -4
  154. package/dist/build/parsers/index.d.ts +0 -1
  155. package/dist/build/parsers/index.js +0 -1
  156. package/dist/build/parsers/w3cJsonParser.d.ts +0 -6
  157. package/dist/build/parsers/w3cJsonParser.js +0 -25
  158. package/dist/removed/testing.json5 +0 -4
  159. package/guidelines/color.llm.md +0 -16
  160. package/guidelines/guidelines.llm.md +0 -34
  161. package/guidelines/motion.llm.md +0 -41
  162. package/guidelines/spacing.llm.md +0 -20
  163. package/guidelines/typography.llm.md +0 -14
  164. package/src/tokens/removed/testing.json5 +0 -4
  165. 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
- return `${shadow.inset === true ? 'inset ' : ''}${shadow.offsetX} ${shadow.offsetY} ${shadow.blur} ${shadow.spread} ${toHex(alpha(getTokenValue(Object.assign(Object.assign({}, token), { [valueProp]: shadow }), 'color'), shadow.alpha || 1, token, config))}`;
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: string
8
- offsetY: string
9
- blur: string
10
- spread: string
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: 0px 0px 0px 2px #0d1117;
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: 0px 0px 0px 0px #000000;
63
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
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: 0px 0px 0px 0px #000000;
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: 0px 0px 0px 0px #000000;
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: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
796
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
797
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
798
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
799
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
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: 0px 0px 0px 1px #b7bdc8, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
875
- --shadow-floating-medium: 0px 0px 0px 1px #b7bdc8, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
876
- --shadow-floating-small: 0px 0px 0px 1px #b7bdc8, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
877
- --shadow-floating-xlarge: 0px 0px 0px 1px #b7bdc8, 0px 32px 64px 0px #010409;
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: 0px 0px 0px 2px #0d1117;
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: 0px 0px 0px 0px #000000;
960
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
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: 0px 0px 0px 0px #000000;
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: 0px 0px 0px 0px #000000;
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: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
1693
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
1694
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
1695
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
1696
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
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: 0px 0px 0px 1px #b7bdc8, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
1772
- --shadow-floating-medium: 0px 0px 0px 1px #b7bdc8, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
1773
- --shadow-floating-small: 0px 0px 0px 1px #b7bdc8, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1774
- --shadow-floating-xlarge: 0px 0px 0px 1px #b7bdc8, 0px 32px 64px 0px #010409;
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: 0px 0px 0px 2px #0d1117;
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: 0px 0px 0px 0px #000000;
60
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
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: 0px 0px 0px 0px #000000;
74
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
71
75
  --button-primary-bgColor-disabled: #1158c7;
72
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
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: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
819
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
820
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
821
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
822
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
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: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
890
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
891
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
892
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
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: 0px 0px 0px 2px #0d1117;
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: 0px 0px 0px 0px #000000;
957
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
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: 0px 0px 0px 0px #000000;
971
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
968
972
  --button-primary-bgColor-disabled: #1158c7;
969
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
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: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
1716
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
1717
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
1718
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
1719
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
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: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
1787
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
1788
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1789
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
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);