variables-color-accent.css

Same filename and directory in other branches
  1. main core/themes/default_admin/css/_variables/variables-color-accent.css

Accent color tokens — the accent ramp and the semantic tokens derived from it.

Scoped to [data-gin-accent] (set on <html>). Builds the --admin-color-accent-* ramp from --accent-base (written at runtime by the accent picker JS) via color-mix(in lch), and maps it onto the canonical semantic tokens (--admin-color-primary*, --admin-color-bg, --admin-color-bg-item*). Each value is a single light-dark() pair so the whole ramp recomputes per color-scheme from one selector.

This is distinct from theme/accent.css, which holds the per-variant overrides ([data-gin-accent="blue"] …) plus the focus-ring and high-contrast tweaks.

Loads FIRST in the _variables group: it shares specificity (0,1,0) with the :root token files, so source order breaks ties — see default_admin.libraries.yml.

File

core/themes/default_admin/css/_variables/variables-color-accent.css

View source
  1. /*
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/3084859
  5. * @preserve
  6. */
  7. /**
  8. * @file
  9. * Accent color tokens — the accent ramp and the semantic tokens derived from it.
  10. *
  11. * Scoped to [data-gin-accent] (set on ). Builds the --admin-color-accent-*
  12. * ramp from --accent-base (written at runtime by the accent picker JS) via
  13. * color-mix(in lch), and maps it onto the canonical semantic tokens
  14. * (--admin-color-primary*, --admin-color-bg, --admin-color-bg-item*). Each value
  15. * is a single light-dark() pair so the whole ramp recomputes per color-scheme
  16. * from one selector.
  17. *
  18. * This is distinct from theme/accent.css, which holds the per-variant overrides
  19. * ([data-gin-accent="blue"] …) plus the focus-ring and high-contrast tweaks.
  20. *
  21. * Loads FIRST in the _variables group: it shares specificity (0,1,0) with the
  22. * :root token files, so source order breaks ties — see default_admin.libraries.yml.
  23. */
  24. [data-gin-accent] {
  25. /*
  26. * Default accent color.
  27. */
  28. --accent-base: #015efe;
  29. /*
  30. * Mix base.
  31. *
  32. * Each value is a single light-dark() pair, so the whole accent ramp below
  33. * (and everything derived from it) recomputes per color-scheme from ONE
  34. * selector — the former `.gin--dark-mode [data-gin-accent]` override block is
  35. * gone. light-dark() resolves correctly inside color-mix()/relative-color.
  36. */
  37. --admin-color-accent-base: light-dark(var(--accent-base), color-mix(in lch, lch(from var(--accent-base) calc(l * 20) c h), #000 12%));
  38. --accent-mix-base: light-dark(color-mix(in lch, var(--accent-base), #fff 97%), color-mix(in lch, var(--accent-base), #000 80%));
  39. --accent-mix-base-dark: light-dark(black, white);
  40. --app-bg-color: light-dark(color-mix(in lch, var(--accent-base), #fff 97%), #1b1b1d);
  41. --layer-background: light-dark(#fff, #2a2a2d);
  42. /*
  43. * Base accent colors.
  44. */
  45. --admin-color-accent-010: color-mix(in lch, var(--accent-mix-base) 95%, var(--admin-color-accent-base));
  46. --admin-color-accent-020: color-mix(in lch, var(--accent-mix-base) 90%, var(--admin-color-accent-base));
  47. --admin-color-accent-030: color-mix(in lch, var(--accent-mix-base) 85%, var(--admin-color-accent-base));
  48. --admin-color-accent-040: color-mix(in lch, var(--accent-mix-base) 80%, var(--admin-color-accent-base));
  49. --admin-color-accent-050: color-mix(in lch, var(--accent-mix-base) 75%, var(--admin-color-accent-base));
  50. --admin-color-accent-100: color-mix(in lch, var(--accent-mix-base) 60%, var(--admin-color-accent-base));
  51. --admin-color-accent-200: color-mix(in lch, var(--accent-mix-base) 45%, var(--admin-color-accent-base));
  52. --admin-color-accent-300: color-mix(in lch, var(--accent-mix-base) 30%, var(--admin-color-accent-base));
  53. --admin-color-accent-400: color-mix(in lch, var(--accent-mix-base) 15%, var(--admin-color-accent-base));
  54. --admin-color-accent-500: var(--admin-color-accent-base);
  55. --admin-color-accent-550: color-mix(in lch, var(--accent-mix-base-dark) 8%, var(--admin-color-accent-base));
  56. --admin-color-accent-600: color-mix(in lch, var(--accent-mix-base-dark) 15%, var(--admin-color-accent-base));
  57. --admin-color-accent-700: color-mix(in lch, var(--accent-mix-base-dark) 30%, var(--admin-color-accent-base));
  58. --admin-color-accent-800: color-mix(in lch, var(--accent-mix-base-dark) 45%, var(--admin-color-accent-base));
  59. --admin-color-accent-900: color-mix(in lch, var(--accent-mix-base-dark) 60%, var(--admin-color-accent-base));
  60. /*
  61. * Polyfill for Default Admin theme.
  62. */
  63. --admin-color-bg: var(--app-bg-color);
  64. --admin-color-primary: var(--admin-color-accent-500);
  65. --admin-color-primary-hover: var(--admin-color-accent-550);
  66. --admin-color-primary-active: var(--admin-color-accent-600);
  67. --admin-color-primary-soft: var(--admin-color-accent-030);
  68. --admin-color-primary-soft-hover: var(--admin-color-accent-040);
  69. --admin-color-primary-soft-active: var(--admin-color-accent-050);
  70. --admin-color-bg-item: var(--admin-color-accent-020);
  71. --admin-color-bg-item-hover: var(--admin-color-accent-030);
  72. }
  73. @supports (color: lab(from red l 1 1% / calc(alpha + 0.1))) {
  74. [data-gin-accent] {
  75. /* stylelint-disable-next-line color-function-notation */
  76. --admin-color-accent-010: rgb(from var(--admin-color-accent-base) r g b / 0.05);
  77. /* stylelint-disable-next-line color-function-notation */
  78. --admin-color-accent-020: rgb(from var(--admin-color-accent-base) r g b / 0.1);
  79. /* stylelint-disable-next-line color-function-notation */
  80. --admin-color-accent-030: rgb(from var(--admin-color-accent-base) r g b / 0.15);
  81. /* stylelint-disable-next-line color-function-notation */
  82. --admin-color-accent-040: rgb(from var(--admin-color-accent-base) r g b / 0.2);
  83. }
  84. }

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.