v1/web/modules/contrib/gin_lb/styles/components/_tabs.scss

385 lines
7.3 KiB
SCSS

.tabs {
box-shadow: none;
}
.horizontal-tabs {
details:first-child {
border-top: 0 !important;
}
}
// Tabs
.tabs-wrapper,
.horizontal-tabs ul.horizontal-tabs-list {
padding: 0 .5em;
margin-left: -.5em;
margin-right: -.5em;
@include mq($breakpointSmall) {
padding: 0;
}
}
// Vertical tabs
.tabs-wrapper:not(.is-horizontal) {
.tabs {
.gin--dark-mode & {
border-color: #8E929C;
}
&__tab {
.gin--dark-mode & {
background-color: var(--gin-bg-item-hover);
border-color: #8E929C;
}
}
}
}
.gin--dark-mode {
.tabs {
border-color: var(--gin-border-color-layer2);
.tabs__tab,
.tabs__tab.is-active {
border-color: var(--gin-border-color-layer2);
background-color: transparent;
}
}
}
.tabs__link,
.claro-details__summary,
.horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button a
{
color: var(--gin-color-text);
font-weight: 600;
padding-top: 1.25em;
padding-bottom: 1.25em;
strong {
font-weight: inherit;
}
&.is-active {
filter: drop-shadow(0 -8px 12px var(--gin-color-primary-light-hover));
.gin--dark-mode & {
filter: drop-shadow(0 4px 12px var(--gin-color-primary-light-hover));
}
}
}
.tabs__link.is-active,
.claro-details__summary[aria-expanded=true],
.horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button.selected a {
font-weight: 700;
}
.is-horizontal .tabs__link,
.horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button a {
&:hover,
&:focus {
color: var(--gin-color-primary);
background: var(--gin-bg-item-hover);
}
}
.claro-details {
color: var(--gin-color-text);
border: 1px solid var(--gin-border-color);
border-radius: $borderDefault;
box-shadow: none;
}
.claro-details__summary {
&:after {
left: 0;
}
&:hover {
color: var(--gin-color-primary);
background-color: var(--gin-bg-item-hover);
}
}
.is-horizontal .tabs--primary,
.is-horizontal .tabs--secondary,
.horizontal-tabs ul.horizontal-tabs-list {
position: relative;
@include mq($breakpointSmall) {
width: 100%;
padding: .3125em .5em 1.5em;
margin-bottom: -24px;
overflow-x: auto;
.gin--edit-form & {
padding-top: .4em;
}
}
&::after {
pointer-events: none;
content: "";
position: absolute;
bottom: 0;
left: 0;
display: block;
width: 100%;
max-width: calc(100% + .5em);
border-bottom: 1px solid var(--gin-border-color);
transition: $transition;
@include mq($breakpointSmall) {
left: .5em;
bottom: 1.5em;
max-width: calc(100% - 1em);
}
}
.tabs__tab,
.horizontal-tab-button {
position: relative;
&:focus-within {
&::after {
content: "";
width: calc(100% + 8px);
height: 4px;
background: var(--gin-bg-app);
display: block;
position: absolute;
bottom: -4px;
left: -4px;
z-index: 3;
}
}
}
.horizontal-tab-button {
&:focus-within {
&::after {
background: var(--gin-bg-layer);
}
}
}
}
.horizontal-tabs ul.horizontal-tabs-list {
&::before {
z-index: 1;
background: var(--gin-bg-layer);
}
&::after {
left: .5em;
max-width: calc(100% - 1em);
}
}
.is-horizontal .tabs--primary,
.is-horizontal .tabs--secondary {
@include mq($breakpointSmall) {
margin-left: 0;
margin-right: 0;
}
}
.tabs--primary {
@include mq($breakpointSmall) {
margin-bottom: 0;
}
}
.is-horizontal .tabs--primary {
@include mq($breakpointSmall) {
&::after {
border-bottom: 0 none;
.gin--dark-mode & {
border-bottom: 1px solid var(--gin-border-color);
}
}
}
.tabs__link {
min-height: 3em;
height: 100%;
border-radius: $borderDefault $borderDefault 0 0;
@include mq($breakpointSmall) {
padding: 1.25em 1.5em 1.5em;
}
}
}
.is-horizontal .tabs--secondary {
@include mq($breakpointSmall) {
margin-top: -1em;
&::before {
width: 100%;
}
}
.tabs__link {
min-height: 2.5em;
padding: .75em 1.5em 1em;
font-size: .875em;
border-radius: $borderDefault $borderDefault 0 0;
}
}
// Horizontal Tabs in Claro style
.horizontal-tabs {
position: static !important;
display: flex;
flex-wrap: wrap;
width: 100%;
border: 0 none;
margin-top: -1em;
ul.horizontal-tabs-list {
background: none;
border-right: 0 none;
border-bottom: 0 none;
overflow: hidden;
&:after {
@include mq($breakpointSmall) {
left: .5em;
max-width: calc(100% - 1em);
}
}
li.horizontal-tab-button {
background: none;
border-right: 0 none;
border-bottom: 0 none;
a {
padding-right: 1.5em;
padding-left: 1.5em;
border-radius: $borderDefault $borderDefault 0 0;
&::before {
content: '';
display: block;
position: absolute;
}
}
&.selected a {
color: var(--gin-color-primary);
&::before {
z-index: 1;
border-left: none;
border-right: none;
border-bottom: 3px solid var(--gin-color-primary);
top: auto;
bottom: 0;
left: 0;
right: 0;
height: 3px;
width: 100%;
}
}
}
}
.horizontal-tabs-panes {
width: 100%;
}
.horizontal-tabs-pane {
padding: 0 !important;
box-shadow: none !important;
border-bottom: 0 !important;
> .details-wrapper {
margin: 0 !important;
> .claro-details__description {
margin-top: 1em !important;
}
}
}
}
// Icon
.claro-details__summary::before,
.claro-details[open] > .claro-details__summary::before {
background: var(--gin-color-text);
mask-image: icon('handle');
mask-repeat: no-repeat;
mask-position: center center;
mask-size: 100% 100%;
}
.claro-details__summary:hover::before,
.claro-details__summary:hover:focus::before,
.claro-details[open] > .claro-details__summary:hover::before,
.claro-details[open] > .claro-details__summary:focus::before,
.claro-details[open] > .claro-details__summary--accordion::before,
.claro-details[open] > .claro-details__summary--accordion-item::before,
.claro-details[open] > .claro-details__summary--vertical-tabs-item::before {
background: var(--gin-color-primary);
}
.claro-details {
&__description {
color: var(--gin-color-textLight);
}
}
.gin--dark-mode {
.claro-details,
.claro-details__summary--accordion,
.claro-details__summary--accordion-item,
.claro-details__summary--vertical-tabs-item {
background-color: transparent;
}
.claro-details {
border-color: var(--gin-border-color);
}
.glb-claro-details__wrapper--accordion,
.glb-claro-details__wrapper--accordion-item,
.glb-claro-details__wrapper--vertical-tabs-item {
border: 1px solid var(--gin-border-color);
background: var(--gin-bg-app);
}
.vertical-tabs {
&__items {
background: none;
border: 0 none;
}
&__menu-item.is-selected a {
background: var(--gin-bg-app);
border-color: var(--gin-border-color);
}
&__menu-link {
color: var(--gin-color-text);
}
&__menu-link-summary {
color: var(--gin-color-textLight);
}
}
}
@media screen and (min-width: 85em) {
.js .vertical-tabs__item {
overflow: visible;
float: left;
width: 100%;
}
}