360 lines
8.1 KiB
CSS
360 lines
8.1 KiB
CSS
/*
|
|
* DO NOT EDIT THIS FILE.
|
|
* See the following change record for more information,
|
|
* https://www.drupal.org/node/3084859
|
|
* @preserve
|
|
*/
|
|
|
|
/**
|
|
* @file
|
|
* Vertical tabs module.
|
|
*
|
|
* Replaces /core/misc/vertical-tabs.css.
|
|
*/
|
|
|
|
/**
|
|
* Main wrapper of vertical tabs.
|
|
* This wrapper div is added by JavaScript.
|
|
*/
|
|
|
|
.vertical-tabs {
|
|
margin-top: 0.75rem;
|
|
margin-bottom: 0.75rem;
|
|
border-top: 1px solid transparent; /* Need to hide the pane wrapper clearfix's height */
|
|
}
|
|
|
|
@media screen and (-ms-high-contrast: active) {
|
|
.vertical-tabs {
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Vertical tabs menu.
|
|
*/
|
|
|
|
.vertical-tabs__menu {
|
|
position: relative;
|
|
display: none;
|
|
float: left; /* LTR */
|
|
width: 20em;
|
|
margin: 0;
|
|
padding-top: 0.5rem;
|
|
list-style: none;
|
|
color: #222330;
|
|
}
|
|
|
|
[dir="rtl"] .vertical-tabs__menu {
|
|
float: right;
|
|
margin: 0;
|
|
}
|
|
|
|
@media screen and (min-width: 85em) {
|
|
.vertical-tabs__menu {
|
|
display: block;
|
|
width: 20em;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Vertical tabs menu item.
|
|
*/
|
|
|
|
.vertical-tabs__menu-item {
|
|
overflow: hidden;
|
|
margin: -1rem -1px -0.5rem -0.5rem; /* LTR */
|
|
padding: 0.5rem 0 0.5rem 0.5rem; /* LTR */
|
|
}
|
|
|
|
[dir="rtl"] .vertical-tabs__menu-item {
|
|
margin-right: -0.5rem;
|
|
margin-left: -1px;
|
|
padding-right: 0.5rem;
|
|
padding-left: 0;
|
|
}
|
|
|
|
/**
|
|
* These are the (gray) lines that are visually separating the vertical tab menu
|
|
* items.
|
|
*/
|
|
|
|
.vertical-tabs__menu-item::before,
|
|
.vertical-tabs__menu-item::after {
|
|
position: absolute;
|
|
z-index: 1; /* The line should be kept above the vertical tabs menu link to keep it visible even if the link is hovered and gets the 'hover' background color. */
|
|
display: block;
|
|
width: 100%;
|
|
margin-top: -1px;
|
|
border-top: 1px solid #d4d4d8;
|
|
}
|
|
|
|
/**
|
|
* This pseudo element covers the gray separator line of the vertical tab menu
|
|
* item that follows the active one.
|
|
*
|
|
* Without this, we would have a lightgray line at the bottom-left (LTR) corner
|
|
* of the active vertical tab menu item.
|
|
*
|
|
* Let's call this 'masking' line.
|
|
*/
|
|
|
|
.vertical-tabs__menu-item::after {
|
|
z-index: 2;
|
|
border-color: #fff;
|
|
}
|
|
|
|
/**
|
|
* Making the separator line visible only if it follows an unhidden menu item.
|
|
*/
|
|
|
|
.vertical-tabs__menu-item:not(.vertical-tabs__menu-item--hidden) ~ .vertical-tabs__menu-item::before {
|
|
content: "";
|
|
}
|
|
|
|
/* Menu item states. */
|
|
|
|
.vertical-tabs__menu-item:focus {
|
|
outline: 0;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.vertical-tabs__menu-item.is-selected::before,
|
|
.vertical-tabs__menu-item:not(.vertical-tabs__menu-item--hidden) ~ .vertical-tabs__menu-item.is-selected::before {
|
|
content: normal;
|
|
}
|
|
|
|
/* Make the white masking line displayed for the selected menu item. */
|
|
|
|
.vertical-tabs__menu-item.is-selected::after {
|
|
content: "";
|
|
}
|
|
|
|
/**
|
|
* Anchor link inside the vertical tabs menu item.
|
|
*/
|
|
|
|
.vertical-tabs__menu-link {
|
|
position: relative;
|
|
display: block;
|
|
margin-top: -1px;
|
|
padding: 0.75rem 0.75rem 0.75rem calc(1.5rem - 0.25rem); /* LTR */
|
|
text-decoration: none;
|
|
word-wrap: break-word;
|
|
-webkit-hyphens: auto;
|
|
-ms-hyphens: auto;
|
|
hyphens: auto;
|
|
color: #222330;
|
|
border: 1px solid transparent;
|
|
border-width: 1px 0 1px 4px; /* LTR */
|
|
border-radius: 2px 0 0 2px; /* LTR */
|
|
}
|
|
|
|
[dir="rtl"] .vertical-tabs__menu-link {
|
|
padding-right: calc(1.5rem - 0.25rem);
|
|
padding-left: 0.75rem;
|
|
border-width: 1px 4px 1px 0;
|
|
border-radius: 0 2px 2px 0;
|
|
}
|
|
|
|
@media screen and (-ms-high-contrast: active) {
|
|
.vertical-tabs__menu-link {
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
|
|
/* Menu link states. */
|
|
|
|
.vertical-tabs__menu-link:focus {
|
|
z-index: 4; /* Focus state should be on the highest level to make the focus effect be fully visible. This also means that it should have bigger z-index than the selected link. */
|
|
text-decoration: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
.vertical-tabs__menu-link:hover {
|
|
text-decoration: none;
|
|
color: #003cc5;
|
|
}
|
|
|
|
/* This pseudo element provides the background for the hover state. */
|
|
|
|
.vertical-tabs__menu-link::before {
|
|
position: absolute;
|
|
z-index: 0; /* This should be on a lower level than the menu-item separator lines. */
|
|
top: -1px;
|
|
right: 0; /* LTR */
|
|
bottom: -1px;
|
|
left: -0.25rem; /* LTR */
|
|
content: "";
|
|
pointer-events: none;
|
|
background-clip: padding-box;
|
|
}
|
|
|
|
[dir="rtl"] .vertical-tabs__menu-link::before {
|
|
right: -0.25rem;
|
|
left: 0;
|
|
}
|
|
|
|
.vertical-tabs__menu-link:hover::before {
|
|
background: #f0f5fd;
|
|
}
|
|
|
|
.vertical-tabs__menu-link:focus::after {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: -1px -0.25rem;
|
|
content: "";
|
|
pointer-events: none;
|
|
border: 3px solid #26a769;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link {
|
|
z-index: 3; /* The selected menu link should be on a higher level than the white masking line that hides the gray separator. */
|
|
color: #003cc5;
|
|
border-color: #dedfe4 transparent;
|
|
background-color: #fff;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link:hover {
|
|
color: #0036b1;
|
|
background-color: #f0f5fd;
|
|
}
|
|
|
|
.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link::before {
|
|
z-index: 1; /* The blue active-tab indication should be on a higher level than the green focus border. */
|
|
border-left: 4px solid #003cc5; /* LTR */
|
|
border-radius: 2px 0 0 2px; /* LTR */
|
|
}
|
|
|
|
[dir=rtl] .vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link::before {
|
|
border-right: 4px solid #003cc5;
|
|
border-left: 0;
|
|
border-radius: 0 2px 2px 0;
|
|
}
|
|
|
|
.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link:hover::before {
|
|
background: none;
|
|
}
|
|
|
|
@media screen and (-ms-high-contrast: active) {
|
|
.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link {
|
|
border-color: windowText transparent;
|
|
}
|
|
|
|
.vertical-tabs__menu-link:focus::after {
|
|
border-color: transparent;
|
|
}
|
|
|
|
.vertical-tabs__menu-item.is-selected .vertical-tabs__menu-link::before {
|
|
border-color: windowText;
|
|
}
|
|
}
|
|
|
|
.vertical-tabs__menu-link-content {
|
|
position: relative;
|
|
z-index: 1; /* We are using a pseudo element for displaying the hover state's background, and we have to keep the link content above that pseudo element. Without this, the text would be covered by the background. */
|
|
}
|
|
|
|
/**
|
|
* Details summary in vertical tabs menu link and in the summary of the details.
|
|
*/
|
|
|
|
.vertical-tabs__menu-link-summary {
|
|
display: block;
|
|
color: #545560;
|
|
font-size: 0.889rem;
|
|
font-weight: normal;
|
|
}
|
|
|
|
/**
|
|
* Wrapper of vertical tabs panes.
|
|
*/
|
|
|
|
.vertical-tabs__items {
|
|
box-sizing: border-box;
|
|
margin-top: 0.75rem;
|
|
margin-bottom: 0.75rem;
|
|
color: #222330;
|
|
border: 1px solid #dedfe4;
|
|
border-radius: 2px;
|
|
background-color: #fff;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* This modifier is added by JavaScript (this is inherited from Drupal core). */
|
|
|
|
.vertical-tabs__items--processed {
|
|
position: relative;
|
|
z-index: 1; /* The wrapper of the details of the vertical tabs should be on a higher level than the vertical tabs menu */
|
|
top: -1px;
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
/* This clearfix makes the pane wrapper at least as tall as the menu. */
|
|
|
|
.vertical-tabs__items--processed::after {
|
|
display: block;
|
|
clear: both;
|
|
content: "";
|
|
}
|
|
|
|
@media screen and (min-width: 85em) {
|
|
.vertical-tabs__items--processed {
|
|
margin-left: 20em; /* LTR */
|
|
border-top-left-radius: 0; /* LTR */
|
|
}
|
|
|
|
.js[dir="rtl"] .vertical-tabs__items--processed {
|
|
margin-right: 20em;
|
|
margin-left: 0;
|
|
border-top-left-radius: 2px;
|
|
border-top-right-radius: 0;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* The actual vertical tabs pane.
|
|
*
|
|
* This is a claro-details element which in this case is also
|
|
* vertical-tabs__item.
|
|
*/
|
|
|
|
.vertical-tabs__item {
|
|
/* Render on top of the border of vertical-tabs__items. */
|
|
margin: -1px -1px 0;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.vertical-tabs__item--first {
|
|
border-top-left-radius: 2px;
|
|
border-top-right-radius: 2px;
|
|
}
|
|
|
|
.vertical-tabs__item--last {
|
|
margin-bottom: -1px;
|
|
border-bottom-right-radius: 2px;
|
|
border-bottom-left-radius: 2px;
|
|
}
|
|
|
|
@media screen and (min-width: 85em) {
|
|
.js .vertical-tabs__item {
|
|
overflow: hidden;
|
|
margin: 0;
|
|
border: 0;
|
|
}
|
|
|
|
.js .vertical-tabs__item--first,
|
|
.js .vertical-tabs__item--last {
|
|
border-radius: 0;
|
|
}
|
|
|
|
.js .vertical-tabs__item > summary {
|
|
display: none;
|
|
}
|
|
}
|