toolbar-menu.pcss.css

Admin Toolbar menus styles.

File

core/modules/navigation/css/components/toolbar-menu.pcss.css

View source
  1. /* cspell:ignore csvg cpath wght */
  2. /**
  3. * @file
  4. * Admin Toolbar menus styles.
  5. */
  6. @import "../base/media-queries.pcss.css";
  7. :is(#extra-specificity-hack, [data-drupal-admin-styles]) {
  8. .toolbar-menu {
  9. display: grid;
  10. margin: 0;
  11. padding: 0;
  12. list-style-type: none;
  13. gap: var(--admin-toolbar-space-4);
  14. }
  15. [class*="toolbar-menu--level-"] {
  16. display: none;
  17. }
  18. [data-toolbar-menu-trigger][aria-expanded="true"] + [class*="toolbar-menu--level-"] {
  19. display: grid;
  20. }
  21. .toolbar-menu__item {
  22. display: grid;
  23. }
  24. .toolbar-menu__item--level-1 {
  25. border-radius: var(--admin-toolbar-space-8);
  26. &:has(> [data-toolbar-menu-trigger][aria-expanded="true"]) {
  27. background: var(--admin-toolbar-color-gray-050);
  28. }
  29. }
  30. .toolbar-menu--level-2 {
  31. padding-block-end: var(--admin-toolbar-space-12);
  32. box-shadow: inset var(--admin-toolbar-space-4) 0 0 0 var(--admin-toolbar-color-gray-100);
  33. [dir="rtl"]
  34. }
  35. .toolbar-menu__link {
  36. position: relative;
  37. display: flex;
  38. align-items: center;
  39. justify-content: space-between;
  40. box-sizing: border-box;
  41. padding-inline: var(--admin-toolbar-space-20) var(--admin-toolbar-space-12);
  42. padding-block: var(--admin-toolbar-space-8);
  43. cursor: pointer;
  44. text-align: start;
  45. text-decoration: none;
  46. letter-spacing: var(--admin-toolbar-letter-spacing-0-06);
  47. overflow-wrap: break-word;
  48. color: var(--admin-toolbar-color-gray-800);
  49. border: none;
  50. background-color: transparent;
  51. font-family: inherit;
  52. font-size: var(--admin-toolbar-font-size-info-xs);
  53. line-height: var(--admin-toolbar-line-height-info-xs);
  54. font-variation-settings: "wght" 600;
  55. inline-size: 100%;
  56. gap: var(--admin-toolbar-space-8);
  57. &:has(+ .toolbar-menu .is-active) {
  58. color: var(--admin-toolbar-color-gray-950);
  59. }
  60. &.current {
  61. color: var(--admin-toolbar-color-gray-990);
  62. &::after {
  63. position: absolute;
  64. z-index: 1;
  65. inset-block-start: calc(50% - var(--admin-toolbar-space-8) / 2);
  66. inset-inline-start: calc(var(--admin-toolbar-space-4) * -0.5);
  67. content: "";
  68. border-radius: 50%;
  69. background-color: currentColor;
  70. inline-size: var(--admin-toolbar-space-8);
  71. block-size: var(--admin-toolbar-space-8);
  72. }
  73. }
  74. &:focus {
  75. color: var(--admin-toolbar-color-gray-990);
  76. outline-offset: -2px;
  77. background-color: transparent;
  78. }
  79. &:hover {
  80. color: var(--admin-toolbar-color-blue-700);
  81. background-color: transparent;
  82. &::before {
  83. position: absolute;
  84. z-index: 1;
  85. inset-block-start: 0;
  86. inset-inline-start: 0;
  87. content: "";
  88. background-color: currentColor;
  89. inline-size: var(--admin-toolbar-space-8);
  90. block-size: 100%;
  91. }
  92. }
  93. }
  94. .toolbar-menu__link--3 {
  95. padding-inline-start: var(--admin-toolbar-space-32);
  96. font-size: var(--admin-toolbar-font-size-info-xs);
  97. line-height: var(--admin-toolbar-line-height-info-xs);
  98. font-variation-settings: "wght" 500;
  99. &::after {
  100. position: absolute;
  101. z-index: 1;
  102. inset-block-start: 50%;
  103. inset-inline-start: 0;
  104. content: "";
  105. background-color: var(--admin-toolbar-color-gray-100);
  106. inline-size: var(--admin-toolbar-space-20);
  107. block-size: 1px;
  108. }
  109. &:hover {
  110. &::after {
  111. background-color: currentColor;
  112. }
  113. }
  114. }
  115. .toolbar-menu__chevron {
  116. flex-shrink: 0;
  117. margin-inline-start: auto;
  118. transition: rotate var(--admin-toolbar-transition);
  119. rotate: 90deg;
  120. fill: currentColor;
  121. block-size: var(--admin-toolbar-space-16);
  122. inline-size: var(--admin-toolbar-space-16);
  123. [dir="rtl"]
  124. [aria-expanded="true"]
  125. }
  126. }
  127. }

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