variables-color-semantic.pcss.css

/*
 * @file
 * Semantic CSS color variables.
 */

.root,
[data-gin-accent] {
  /*
  * Accent colors.
  */
  --admin-color-primary: var(--admin-color-accent-500);
  --admin-color-primary-hover: var(--admin-color-accent-550);
  --admin-color-primary-active: var(--admin-color-accent-600);
  --admin-color-primary-soft: var(--admin-color-accent-030);
  --admin-color-primary-soft-hover: var(--admin-color-accent-040);
  --admin-color-primary-soft-active: var(--admin-color-accent-050);
  --admin-color-bg-item: var(--admin-color-accent-020);
  --admin-color-bg-item-hover: var(--admin-color-accent-030);

  /*
   * Semantic tokens (tier 2).
   */
  /*
   * Text. Contrast ladder is soft / (default) / loud.
   *   --admin-color-text       default body text.
   *   --admin-color-text-soft  lower-contrast / secondary text — labels, help,
   *                            descriptions. Quieter; recedes.
   *   --admin-color-text-loud  higher-contrast / emphasized text — headings, titles.
   * (--admin-color-text-on-primary, below, is text on a primary-colored fill.)
   */
  --admin-color-text: light-dark(var(--admin-color-gray-950), #d2d3d3);
  --admin-color-text-soft: light-dark(var(--admin-color-gray-800), #9e9fa0);
  --admin-color-text-loud: light-dark(var(--admin-color-gray-950), white);

  /*
   * Surfaces.
   *
   *   -surface         default surface — cards, panes, tables, page chrome.
   *   -surface-nested  a surface recessed inside another surface (e.g. a panel
   *                    within a card; also the form-control fill in dark mode).
   *   -raised          floating ABOVE the page — dropdowns, tooltips, contextual
   *                    links, the sticky toolbar. The most "popped" surface
   *                    (lightest in dark mode).
   *   -sunken          an inset WELL — code blocks, recessed/embedded regions
   *                    (darker than the canvas in both modes).
   *   -input           form-control background.
   *   -header          table/section header tint and the sticky page header.
   */
  --admin-color-bg: light-dark(color-mix(in lch, var(--accent-base), #fff 97%), #1b1b1d);
  --admin-color-bg-surface: light-dark(var(--admin-color-white), #2a2a2d);
  --admin-color-bg-surface-nested: light-dark(#edeff5, #3b3b3f);
  --admin-color-bg-raised: light-dark(var(--admin-color-white), #47474c);
  --admin-color-bg-sunken: light-dark(#e2e5ec, #19191b);
  --admin-color-bg-input: light-dark(var(--admin-color-white), #3b3b3f);
  --admin-color-bg-header: light-dark(#e1eafc, #1b1b1d);
  --admin-color-bg-unpublished: light-dark(var(--admin-color-bg-error), var(--admin-color-bg-warning));
  --admin-color-icon: light-dark(#414247, #888);

  /*
   * Borders. Contrast ladder soft / (default) / loud.
   *   --admin-color-border        default divider/edge — cards, panes, controls.
   *   --admin-color-border-soft   subtle/translucent hairline; also soft shadows.
   *   --admin-color-border-loud   strongest divider — table-header separators.
   *   --admin-color-border-input  form-control border.
   *   --admin-color-border-table  thin table row divider (soft in light, default
   *                               edge in dark).
   */
  --admin-color-border: light-dark(var(--admin-color-gray-200), #43454a);
  --admin-color-border-soft: light-dark(color-mix(in lch, black 8%, transparent), color-mix(in lch, black 5%, transparent));
  --admin-color-border-loud: light-dark(color-mix(in lch, black 30%, transparent), color-mix(in lch, white 40%, transparent));
  --admin-color-border-input: light-dark(var(--admin-color-gray-500), #76777b);
  --admin-color-border-table: light-dark(color-mix(in srgb, black 10%, transparent), #43454a);
  --admin-color-text-on-primary: light-dark(var(--admin-color-white), #111);
  --admin-color-switch: light-dark(#26a769, var(--admin-color-accent-100));
  --admin-color-bg-inverse: light-dark(var(--admin-color-gray-950), var(--admin-color-bg-raised));

  /*
   * Elevation shadows.
   */
  --admin-shadow-color-1: light-dark(color-mix(in srgb, #142d52 2%, transparent), color-mix(in srgb, black 2%, transparent));
  --admin-shadow-color-2: light-dark(color-mix(in srgb, #142d52 3%, transparent), color-mix(in srgb, black 3%, transparent));
  --admin-shadow-color-3: light-dark(color-mix(in srgb, #142d52 4%, transparent), color-mix(in srgb, black 4%, transparent));
  --admin-shadow-color-4: light-dark(color-mix(in srgb, #142d52 12%, transparent), color-mix(in srgb, black 12%, transparent));
  --admin-shadow-color-button: light-dark(#0003, transparent);
  --admin-shadow-1: 0 1px 2px var(--admin-shadow-color-1), 0 3px 4px var(--admin-shadow-color-2), 0 5px 8px var(--admin-shadow-color-3);
  --admin-shadow-2: 0 1px 2px var(--admin-shadow-color-1), 0 3px 4px var(--admin-shadow-color-2), 0 5px 8px var(--admin-shadow-color-3), 0 20px 24px var(--admin-shadow-color-4);

  /*
   * Status — each family has three roles:
   *   --admin-color-{status}       solid — icons, borders, emphasis on a neutral bg.
   *   --admin-color-bg-{status}    the light tint behind highlighted rows / reports.
   *   --admin-color-text-{status}  text ON that tint (AA-verified pair).
   */
  --admin-color-error: light-dark(#cc3d3d, #ce6060);
  --admin-color-bg-error: color-mix(in srgb, #de7560 15%, transparent);
  --admin-color-text-error: light-dark(#cc3d3d, #e69e9e);
  --admin-color-warning: light-dark(#d8b234, #dec15f);
  --admin-color-bg-warning: color-mix(in srgb, #e29700 15%, transparent);
  --admin-color-text-warning: light-dark(#826b1f, #e8d185);
  --admin-color-success: light-dark(#058260, #32cea4);
  --admin-color-bg-success: light-dark(#26a76930, #26a76940);
  --admin-color-text-success: light-dark(#1d6844, #8bd3b1);

  /*
   * Focus & disabled.
   *   --admin-color-focus          focus-ring color.
   *   --admin-color-focus-border   inner focus-ring border.
   *   --admin-color-focus-neutral  neutral focus-ring variant ([data-gin-focus]).
   *   --admin-color-text-disabled / -bg-disabled / -border-disabled  disabled controls.
   */
  --admin-color-focus: light-dark(color-mix(in srgb, #007dfa 60%, transparent), #51a8ff);
  /* @todo this is used in box-shadow focus states, which will be phased out in favor of outline. */
  --admin-color-focus-border: light-dark(color-mix(in lch, black 20%, transparent), color-mix(in lch, black 80%, transparent));
  --admin-color-focus-neutral: light-dark(color-mix(in lch, black 40%, transparent), color-mix(in lch, white 80%, transparent));
  --admin-color-text-disabled: light-dark(var(--admin-color-gray-700), #919191);
  --admin-color-bg-disabled: light-dark(#eaeaea, #47474c);
  --admin-color-border-disabled: light-dark(var(--admin-color-gray-300), #646464);

  /*
   * Link / interactive blue. Used for links and blue focus/selected accents
   * (text, border, and bg).
   */
  --admin-color-link: var(--admin-color-primary);
  --admin-color-link-hover: light-dark(var(--admin-color-accent-600), var(--admin-color-accent-700));
  --admin-color-link-active: light-dark(var(--admin-color-accent-700), var(--admin-color-accent-900));
}

@media (forced-colors: active) {
  :root {
    --admin-color-icon: CanvasText;
  }
}

File

core/themes/default_admin/css/_variables/variables-color-semantic.pcss.css

View source
  1. /*
  2. * @file
  3. * Semantic CSS color variables.
  4. */
  5. .root,
  6. [data-gin-accent] {
  7. /*
  8. * Accent colors.
  9. */
  10. --admin-color-primary: var(--admin-color-accent-500);
  11. --admin-color-primary-hover: var(--admin-color-accent-550);
  12. --admin-color-primary-active: var(--admin-color-accent-600);
  13. --admin-color-primary-soft: var(--admin-color-accent-030);
  14. --admin-color-primary-soft-hover: var(--admin-color-accent-040);
  15. --admin-color-primary-soft-active: var(--admin-color-accent-050);
  16. --admin-color-bg-item: var(--admin-color-accent-020);
  17. --admin-color-bg-item-hover: var(--admin-color-accent-030);
  18. /*
  19. * Semantic tokens (tier 2).
  20. */
  21. /*
  22. * Text. Contrast ladder is soft / (default) / loud.
  23. * --admin-color-text default body text.
  24. * --admin-color-text-soft lower-contrast / secondary text — labels, help,
  25. * descriptions. Quieter; recedes.
  26. * --admin-color-text-loud higher-contrast / emphasized text — headings, titles.
  27. * (--admin-color-text-on-primary, below, is text on a primary-colored fill.)
  28. */
  29. --admin-color-text: light-dark(var(--admin-color-gray-950), #d2d3d3);
  30. --admin-color-text-soft: light-dark(var(--admin-color-gray-800), #9e9fa0);
  31. --admin-color-text-loud: light-dark(var(--admin-color-gray-950), white);
  32. /*
  33. * Surfaces.
  34. *
  35. * -surface default surface — cards, panes, tables, page chrome.
  36. * -surface-nested a surface recessed inside another surface (e.g. a panel
  37. * within a card; also the form-control fill in dark mode).
  38. * -raised floating ABOVE the page — dropdowns, tooltips, contextual
  39. * links, the sticky toolbar. The most "popped" surface
  40. * (lightest in dark mode).
  41. * -sunken an inset WELL — code blocks, recessed/embedded regions
  42. * (darker than the canvas in both modes).
  43. * -input form-control background.
  44. * -header table/section header tint and the sticky page header.
  45. */
  46. --admin-color-bg: light-dark(color-mix(in lch, var(--accent-base), #fff 97%), #1b1b1d);
  47. --admin-color-bg-surface: light-dark(var(--admin-color-white), #2a2a2d);
  48. --admin-color-bg-surface-nested: light-dark(#edeff5, #3b3b3f);
  49. --admin-color-bg-raised: light-dark(var(--admin-color-white), #47474c);
  50. --admin-color-bg-sunken: light-dark(#e2e5ec, #19191b);
  51. --admin-color-bg-input: light-dark(var(--admin-color-white), #3b3b3f);
  52. --admin-color-bg-header: light-dark(#e1eafc, #1b1b1d);
  53. --admin-color-bg-unpublished: light-dark(var(--admin-color-bg-error), var(--admin-color-bg-warning));
  54. --admin-color-icon: light-dark(#414247, #888);
  55. /*
  56. * Borders. Contrast ladder soft / (default) / loud.
  57. * --admin-color-border default divider/edge — cards, panes, controls.
  58. * --admin-color-border-soft subtle/translucent hairline; also soft shadows.
  59. * --admin-color-border-loud strongest divider — table-header separators.
  60. * --admin-color-border-input form-control border.
  61. * --admin-color-border-table thin table row divider (soft in light, default
  62. * edge in dark).
  63. */
  64. --admin-color-border: light-dark(var(--admin-color-gray-200), #43454a);
  65. --admin-color-border-soft: light-dark(color-mix(in lch, black 8%, transparent), color-mix(in lch, black 5%, transparent));
  66. --admin-color-border-loud: light-dark(color-mix(in lch, black 30%, transparent), color-mix(in lch, white 40%, transparent));
  67. --admin-color-border-input: light-dark(var(--admin-color-gray-500), #76777b);
  68. --admin-color-border-table: light-dark(color-mix(in srgb, black 10%, transparent), #43454a);
  69. --admin-color-text-on-primary: light-dark(var(--admin-color-white), #111);
  70. --admin-color-switch: light-dark(#26a769, var(--admin-color-accent-100));
  71. --admin-color-bg-inverse: light-dark(var(--admin-color-gray-950), var(--admin-color-bg-raised));
  72. /*
  73. * Elevation shadows.
  74. */
  75. --admin-shadow-color-1: light-dark(color-mix(in srgb, #142d52 2%, transparent), color-mix(in srgb, black 2%, transparent));
  76. --admin-shadow-color-2: light-dark(color-mix(in srgb, #142d52 3%, transparent), color-mix(in srgb, black 3%, transparent));
  77. --admin-shadow-color-3: light-dark(color-mix(in srgb, #142d52 4%, transparent), color-mix(in srgb, black 4%, transparent));
  78. --admin-shadow-color-4: light-dark(color-mix(in srgb, #142d52 12%, transparent), color-mix(in srgb, black 12%, transparent));
  79. --admin-shadow-color-button: light-dark(#0003, transparent);
  80. --admin-shadow-1: 0 1px 2px var(--admin-shadow-color-1), 0 3px 4px var(--admin-shadow-color-2), 0 5px 8px var(--admin-shadow-color-3);
  81. --admin-shadow-2: 0 1px 2px var(--admin-shadow-color-1), 0 3px 4px var(--admin-shadow-color-2), 0 5px 8px var(--admin-shadow-color-3), 0 20px 24px var(--admin-shadow-color-4);
  82. /*
  83. * Status — each family has three roles:
  84. * --admin-color-{status} solid — icons, borders, emphasis on a neutral bg.
  85. * --admin-color-bg-{status} the light tint behind highlighted rows / reports.
  86. * --admin-color-text-{status} text ON that tint (AA-verified pair).
  87. */
  88. --admin-color-error: light-dark(#cc3d3d, #ce6060);
  89. --admin-color-bg-error: color-mix(in srgb, #de7560 15%, transparent);
  90. --admin-color-text-error: light-dark(#cc3d3d, #e69e9e);
  91. --admin-color-warning: light-dark(#d8b234, #dec15f);
  92. --admin-color-bg-warning: color-mix(in srgb, #e29700 15%, transparent);
  93. --admin-color-text-warning: light-dark(#826b1f, #e8d185);
  94. --admin-color-success: light-dark(#058260, #32cea4);
  95. --admin-color-bg-success: light-dark(#26a76930, #26a76940);
  96. --admin-color-text-success: light-dark(#1d6844, #8bd3b1);
  97. /*
  98. * Focus & disabled.
  99. * --admin-color-focus focus-ring color.
  100. * --admin-color-focus-border inner focus-ring border.
  101. * --admin-color-focus-neutral neutral focus-ring variant ([data-gin-focus]).
  102. * --admin-color-text-disabled / -bg-disabled / -border-disabled disabled controls.
  103. */
  104. --admin-color-focus: light-dark(color-mix(in srgb, #007dfa 60%, transparent), #51a8ff);
  105. /* @todo this is used in box-shadow focus states, which will be phased out in favor of outline. */
  106. --admin-color-focus-border: light-dark(color-mix(in lch, black 20%, transparent), color-mix(in lch, black 80%, transparent));
  107. --admin-color-focus-neutral: light-dark(color-mix(in lch, black 40%, transparent), color-mix(in lch, white 80%, transparent));
  108. --admin-color-text-disabled: light-dark(var(--admin-color-gray-700), #919191);
  109. --admin-color-bg-disabled: light-dark(#eaeaea, #47474c);
  110. --admin-color-border-disabled: light-dark(var(--admin-color-gray-300), #646464);
  111. /*
  112. * Link / interactive blue. Used for links and blue focus/selected accents
  113. * (text, border, and bg).
  114. */
  115. --admin-color-link: var(--admin-color-primary);
  116. --admin-color-link-hover: light-dark(var(--admin-color-accent-600), var(--admin-color-accent-700));
  117. --admin-color-link-active: light-dark(var(--admin-color-accent-700), var(--admin-color-accent-900));
  118. }
  119. @media (forced-colors: active) {
  120. :root {
  121. --admin-color-icon: CanvasText;
  122. }
  123. }

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