vertical-tabs.css

Same filename in this branch
  1. 11.x core/misc/vertical-tabs.css
  2. 11.x core/themes/olivero/css/components/vertical-tabs.css
  3. 11.x core/themes/stable9/css/core/vertical-tabs.css
  4. 11.x core/themes/claro/css/components/vertical-tabs.css
  5. 11.x core/themes/admin/css/components/vertical-tabs.css
Same filename and directory in other branches
  1. 10 core/misc/vertical-tabs.css
  2. 10 core/themes/olivero/css/components/vertical-tabs.css
  3. 10 core/themes/stable9/css/core/vertical-tabs.css
  4. 10 core/themes/claro/css/components/vertical-tabs.css
  5. 9 core/misc/vertical-tabs.css
  6. 9 core/themes/olivero/css/components/vertical-tabs.css
  7. 9 core/themes/stable9/css/core/vertical-tabs.css
  8. 9 core/themes/seven/css/components/vertical-tabs.css
  9. 9 core/themes/claro/css/components/vertical-tabs.css
  10. 9 core/themes/stable/css/core/vertical-tabs.css
  11. 8.9.x core/misc/vertical-tabs.css
  12. 8.9.x core/themes/seven/css/components/vertical-tabs.css
  13. 8.9.x core/themes/claro/css/components/vertical-tabs.css
  14. 8.9.x core/themes/stable/css/core/vertical-tabs.css
  15. 7.x misc/vertical-tabs.css
  16. 7.x themes/seven/vertical-tabs.css
  17. main core/misc/vertical-tabs.css
  18. main core/themes/olivero/css/components/vertical-tabs.css
  19. main core/themes/stable9/css/core/vertical-tabs.css
  20. main core/themes/claro/css/components/vertical-tabs.css
  21. main core/themes/admin/css/components/vertical-tabs.css
  22. main core/themes/default_admin/css/components/vertical-tabs.css

Vertical tabs module.

Replaces /core/misc/vertical-tabs.css.

File

core/themes/default_admin/css/components/vertical-tabs.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. * Vertical tabs module.
  10. *
  11. * Replaces /core/misc/vertical-tabs.css.
  12. */
  13. /**
  14. * Main wrapper of vertical tabs.
  15. * This wrapper div is added by JavaScript.
  16. */
  17. .vertical-tabs {
  18. box-sizing: border-box;
  19. margin-block: var(--vertical-tabs-margin-vertical);
  20. border-block-start: 1px solid transparent; /* Hide the pane wrapper clearfix's height. */
  21. *,
  22. *::before,
  23. *::after {
  24. box-sizing: border-box;
  25. }
  26. }
  27. /**
  28. * Vertical tabs menu.
  29. */
  30. .vertical-tabs__menu {
  31. position: relative;
  32. display: block;
  33. float: inline-start;
  34. inline-size: var(--vertical-tabs-menu-width);
  35. margin: 0;
  36. padding-block-start: var(--vertical-tabs-menu-item-shadow-extraspace);
  37. list-style: none;
  38. color: var(--admin-color-text);
  39. }
  40. /**
  41. * Vertical tabs menu item.
  42. */
  43. .vertical-tabs__menu-item {
  44. overflow: hidden; /* Necessary to cut off the end of the focus state. */
  45. margin-block: var(--vertical-tabs-menu-item--top-margin);
  46. padding-block: var(--vertical-tabs-menu-item-shadow-extraspace);
  47. /**
  48. * The (gray) lines that visually separate the vertical tab menu items.
  49. */
  50. &::before,
  51. &::after {
  52. position: absolute;
  53. z-index: 1; /* Keep above the link hover background so the line stays visible. */
  54. display: block;
  55. inline-size: 100%;
  56. margin-block-start: calc(var(--vertical-tabs-menu-separator-size) * -1);
  57. border-block-start: var(--vertical-tabs-menu-separator-size) solid var(--admin-color-border);
  58. }
  59. /**
  60. * Masking line that hides the gray separator below the active item — without
  61. * it the active item shows a lightgray line at its bottom-start corner.
  62. */
  63. &::after {
  64. z-index: 2;
  65. /* Must match the active item's background so the separator is hidden: that
  66. item is --admin-color-bg-surface in light but blends into the canvas in
  67. dark (see the .is-selected dark override below), so mirror it here. */
  68. border-color: var(--admin-color-bg-surface);
  69. .gin--dark-mode
  70. }
  71. /* Only show a separator after an unhidden menu item. */
  72. &:not(.vertical-tab--hidden) ~ &::before {
  73. content: "";
  74. }
  75. &:focus {
  76. outline: 0;
  77. box-shadow: none;
  78. }
  79. &.is-selected {
  80. width: calc(100% + 1px); /* Cover up the border of the vertical tabs pane. */
  81. }
  82. &.is-selected::before,
  83. &:not(.vertical-tab--hidden) ~ &.is-selected::before {
  84. content: normal;
  85. }
  86. /* Show the white masking line for the selected menu item. */
  87. &.is-selected::after {
  88. content: "";
  89. }
  90. }
  91. /**
  92. * Anchor link inside the vertical tabs menu item.
  93. */
  94. .vertical-tabs__menu-link {
  95. position: relative;
  96. display: block;
  97. margin-block-start: calc(var(--vertical-tabs-border-size) * -1);
  98. padding-block: var(--admin-space-s);
  99. padding-inline: calc(var(--admin-space-l) - var(--vertical-tabs-menu-link--active-border-size)) var(--admin-space-s);
  100. -webkit-text-decoration: none;
  101. text-decoration: none;
  102. color: var(--admin-color-text);
  103. border: var(--vertical-tabs-border-size) solid transparent;
  104. border-block-width: var(--vertical-tabs-border-size);
  105. border-inline-width: var(--vertical-tabs-menu-link--active-border-size) 0;
  106. border-start-start-radius: var(--vertical-tabs-border-radius);
  107. border-start-end-radius: 0;
  108. border-end-end-radius: 0;
  109. border-end-start-radius: var(--vertical-tabs-border-radius);
  110. &:focus {
  111. outline-offset: calc(-1 * var(--outline-size, 0px));
  112. }
  113. &:hover {
  114. -webkit-text-decoration: none;
  115. text-decoration: none;
  116. color: var(--admin-color-primary);
  117. &::before {
  118. background: var(--admin-color-bg-item-hover);
  119. }
  120. }
  121. &::before {
  122. position: absolute;
  123. z-index: 0; /* Below the menu-item separator lines. */
  124. inset-block: calc(var(--vertical-tabs-border-size) * -1);
  125. inset-inline: calc(var(--vertical-tabs-menu-link--active-border-size) * -1) 0;
  126. content: "";
  127. pointer-events: none;
  128. background-clip: padding-box;
  129. }
  130. .gin--dark-mode
  131. .vertical-tabs__menu-item.is-selected
  132. }
  133. &::before {
  134. z-index: 1; /* Blue active-tab indicator above the green focus border. */
  135. border-color: var(--admin-color-primary);
  136. border-inline-start: var(--vertical-tabs-menu-link--active-border-size) solid var(--vertical-tabs-menu-link--active-border-color);
  137. border-start-start-radius: var(--admin-radius-2xs);
  138. border-start-end-radius: 0;
  139. border-end-end-radius: 0;
  140. border-end-start-radius: var(--admin-radius-2xs);
  141. &:hover {
  142. border-color: var(--admin-color-primary-hover);
  143. }
  144. &:active {
  145. border-color: var(--admin-color-primary-active);
  146. }
  147. @media (forced-colors: active) {
  148. border-inline-start: var(--vertical-tabs-menu-link--active-border-size) solid canvastext;
  149. }
  150. }
  151. &:hover::before {
  152. background: none;
  153. }
  154. .gin--dark-mode
  155. }
  156. @media (forced-colors: active) {
  157. &:not(.is-selected *) {
  158. margin-inline-start: var(--vertical-tabs-menu-link--active-border-size);
  159. border-width: 0;
  160. }
  161. }
  162. }
  163. .vertical-tabs__menu-link-content {
  164. position: relative;
  165. z-index: 1; /* Keep text above the pseudo element that paints the hover background. */
  166. }
  167. /**
  168. * Details summary in vertical tabs menu link and in the summary of the details.
  169. */
  170. .vertical-tabs__menu-link-summary {
  171. display: block;
  172. color: var(--admin-color-text-soft);
  173. font-size: var(--admin-font-size-s);
  174. font-weight: normal;
  175. .gin--dark-mode
  176. }
  177. /**
  178. * Wrapper of vertical tabs panes.
  179. */
  180. .vertical-tabs__items {
  181. box-sizing: border-box;
  182. margin-block: var(--vertical-tabs-margin-vertical);
  183. color: var(--admin-color-text);
  184. border: var(--vertical-tabs-border);
  185. border-radius: var(--admin-radius-m);
  186. background-color: var(--admin-color-bg-surface);
  187. box-shadow: var(--vertical-tabs-shadow);
  188. .gin--dark-mode
  189. @media (min-width: 64em) {
  190. border-start-start-radius: 0;
  191. }
  192. }
  193. /* This modifier is added by JavaScript (this is inherited from Drupal core). */
  194. .vertical-tabs__panes {
  195. position: relative;
  196. z-index: 1; /* Above the vertical tabs menu. */
  197. inset-block-start: -1px;
  198. margin-block: 0;
  199. &::after {
  200. display: block; /* Clearfix so the pane wrapper is at least as tall as the menu. */
  201. clear: both;
  202. content: "";
  203. }
  204. .vertical-tabs
  205. }
  206. }
  207. /**
  208. * The actual vertical tabs pane.
  209. *
  210. * This is a gin-details element which in this case is also vertical-tabs__item.
  211. */
  212. .vertical-tabs__item {
  213. /* Render on top of the border of vertical-tabs__items. */
  214. margin-block: calc(var(--vertical-tabs-border-size) * -1) 0;
  215. margin-inline: calc(var(--vertical-tabs-border-size) * -1);
  216. border-radius: 0;
  217. &.first {
  218. border-start-start-radius: var(--details-accordion-border-size-radius);
  219. border-start-end-radius: var(--details-accordion-border-size-radius);
  220. }
  221. &.last {
  222. margin-block-end: calc(var(--vertical-tabs-border-size) * -1);
  223. border-end-start-radius: var(--details-accordion-border-size-radius);
  224. border-end-end-radius: var(--details-accordion-border-size-radius);
  225. }
  226. .js .vertical-tabs
  227. > summary {
  228. display: none;
  229. }
  230. }
  231. .gin--dark-mode
  232. @media (min-width: 85em) {
  233. border-start-end-radius: var(--admin-radius-m);
  234. border-end-end-radius: var(--admin-radius-m);
  235. border-end-start-radius: var(--admin-radius-m);
  236. & ~ .vertical-tabs__item {
  237. border-start-start-radius: var(--admin-radius-m);
  238. }
  239. }
  240. @media (min-width: 64em) {
  241. .gin-details__summary {
  242. padding-inline-start: var(--admin-space-2xl);
  243. &::before {
  244. inset-inline-start: var(--admin-space-m);
  245. }
  246. }
  247. }
  248. }
  249. .vertical-tabs__menu-item-title {
  250. font-weight: var(--admin-font-weight-bold);
  251. }
  252. [open] > .gin-details__summary--vertical-tabs-item:not(:focus, :active)::after {
  253. border-inline-start-width: 0.3125rem;
  254. }

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