.tabs { box-shadow: none; } // Tabs .tabs-wrapper, .horizontal-tabs ul.horizontal-tabs-list { padding: 0 var(--gin-spacing-xs); margin-left: calc(var(--gin-spacing-xs) * -1); margin-right: calc(var(--gin-spacing-xs) * -1); @include mq(small) { 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; } } } } .vertical-tabs { &__items { z-index: inherit; } } .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-size: var(--gin-font-size); font-weight: var(--gin-font-weight-bold); padding-top: calc(var(--gin-spacing-l) - var(--gin-spacing-xxs)); padding-bottom: calc(var(--gin-spacing-l) - var(--gin-spacing-xxs)); strong { font-weight: inherit; } } .tabs__link.is-active, .claro-details__summary[aria-expanded=true], .horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button.selected a { font-weight: var(--gin-font-weight-bold); } .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: var(--gin-border-m); box-shadow: none; } .claro-details__summary { &::after { border-radius: var(--gin-border-m); } &: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(small) { width: 100%; padding: .3125rem var(--gin-spacing-xs) var(--gin-spacing-l); margin-bottom: calc(var(--gin-spacing-l) * -1); overflow-x: auto; .gin--edit-form & { padding-top: .4rem; } } &::after { pointer-events: none; content: ""; position: absolute; bottom: 0; left: 0; display: block; width: 100%; max-width: calc(100% + var(--gin-spacing-xs)); border-bottom: 1px solid var(--gin-border-color); transition: var(--gin-transition); @include mq(small) { left: var(--gin-spacing-xs); bottom: var(--gin-spacing-l); max-width: calc(100% - var(--gin-spacing-m)); } } .tabs__tab, .horizontal-tab-button { position: relative; &:focus-within { &::after { content: ""; width: calc(100% + var(--gin-spacing-xs)); height: 4px; background: var(--gin-bg-app); display: block; position: absolute; bottom: calc(var(--gin-spacing-xxs) * -1); left: calc(var(--gin-spacing-xxs) * -1); 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: var(--gin-spacing-xs); max-width: calc(100% - var(--gin-spacing-m)); } } .is-horizontal .tabs--primary, .is-horizontal .tabs--secondary { @include mq(small) { margin-left: 0; margin-right: 0; } } .tabs--primary { @include mq(small) { margin-bottom: 0; } } .is-horizontal .tabs--primary { @include mq(small) { &::after { border-bottom: 0 none; .gin--high-contrast-mode & { border-bottom: 1px solid; } } } .tabs__tab { @include mq($to: small) { background-color: var(--gin-bg-layer); border-bottom: 1px solid var(--gin-border-color-layer2); &[data-original-order="0"] { border-bottom: none; } } @include mq(small) { &:focus-within::after { display: none; } } } .tabs__link { min-height: var(--gin-spacing-xxl); height: 100%; @include mq(small) { padding: var(--gin-spacing-s) var(--gin-spacing-m); margin-right: 0.25em; min-height: 0; border-radius: 48px; } &.is-active { @include mq(small) { color: var(--gin-color-primary-active); background: var(--gin-color-primary-light); } &::before { display: none; } } } } .tabs__trigger { svg { stroke: var(--gin-color-primary); } } .is-horizontal .tabs--secondary { @include mq(small) { margin-top: var(--gin-spacing-m); &::before { width: 100%; } } .tabs__link { min-height: 2.5rem; padding: var(--gin-spacing-xs) var(--gin-spacing-m) var(--gin-spacing-m); font-size: var(--gin-font-size-s); border-radius: var(--gin-border-m) var(--gin-border-m) 0 0; } } // Horizontal Tabs in Claro style .horizontal-tabs { position: static !important; display: flex; flex-wrap: wrap; width: 100%; border: 0 none; margin-top: calc(var(--gin-spacing-m) * -1); ul.horizontal-tabs-list { background: none; border-right: 0 none; border-bottom: 0 none; overflow: hidden; &:after { @include mq(small) { left: var(--gin-spacing-xs); max-width: calc(100% - var(--gin-spacing-m)); } } li.horizontal-tab-button { background: none; border-right: 0 none; border-bottom: 0 none; a { padding: var(--gin-spacing-xs) var(--gin-spacing-m) var(--gin-spacing-m); font-size: var(--gin-font-size-s); border-radius: var(--gin-border-m) var(--gin-border-m) 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%; } } } } // Nested horizontal tabs. .horizontal-tabs { margin-top: var(--gin-spacing-m); } .horizontal-tabs-panes, [data-horizontal-tabs-panes] { width: 100%; } .horizontal-tabs-pane { padding: 0; margin: 0; box-shadow: none; > .details-wrapper { margin: 0; > .claro-details__description { margin-top: var(--gin-spacing-m); } } } } // Icon .claro-details__summary::before, .claro-details[open] > .claro-details__summary::before { left: 1.125rem; 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-text-light); } } .claro-details__wrapper--accordion, .claro-details__wrapper--accordion-item, .claro-details__wrapper--vertical-tabs-item { border-top: 1px solid var(--gin-border-color); background: var(--gin-bg-app); } .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); } .vertical-tabs { &__items { background: none; border: 0 none; } &__menu-item.is-selected .vertical-tabs__menu-link { background: var(--gin-bg-app); border-color: transparent; } &__menu-link { color: var(--gin-color-text); } &__menu-link-summary { color: var(--gin-color-text-light); } .claro-details__wrapper { background: var(--gin-bg-app); } } } .vertical-tabs { &__items { border-radius: var(--gin-border-m); @include mq(large) { border-top-left-radius: 0; } .vertical-tabs__item { border-radius: 0; @include mq(1360px) { border-top-right-radius: var(--gin-border-m); border-bottom-right-radius: var(--gin-border-m); border-bottom-left-radius: var(--gin-border-m); ~ .vertical-tabs__item { border-top-left-radius: var(--gin-border-m); } } .claro-details__summary { @include mq(large) { padding-left: var(--gin-spacing-xxl); &::before { left: var(--gin-spacing-m); } } } .claro-details__wrapper { display: inline-block; width: 100%; } } } &__menu-item { &::before, &::after { border-color: var(--gin-border-color); } } &__menu-link, &__menu-item.is-selected &__menu-link { &:hover { color: var(--gin-color-primary); &::before { background: var(--gin-bg-item-hover); } } } } [open] > .claro-details__summary--vertical-tabs-item:not(:focus):not(:active)::after, [open] > .claro-details__summary--accordion-item:not(:focus):not(:active)::after { border-left-width: 5px; } @media screen and (min-width: 85em) { html.js .vertical-tabs__item { overflow: visible; float: left; width: 100%; } }