@telekom/scale-components
Version:
Scale is the digital design system for Telekom products and experiences.
132 lines (122 loc) • 3.33 kB
CSS
/**
* @license
* Scale https://github.com/telekom/scale
*
* Copyright (c) 2021 Egor Kirpichev and contributors, Deutsche Telekom AG
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
:host {
outline: none;
--font: var(--telekom-text-style-ui-bold);
--color: var(--telekom-color-text-and-icon-standard);
--color-hover: var(--telekom-color-text-and-icon-primary-hovered);
--color-active: var(--telekom-color-text-and-icon-primary-pressed);
--color-selected: var(--telekom-color-text-and-icon-primary-standard);
--focus-outline: var(--telekom-line-weight-highlight) solid
var(--telekom-color-functional-focus-standard);
--spacing-right-slotted: var(--telekom-spacing-composition-space-04);
--color-disabled: var(--telekom-color-text-and-icon-disabled);
--radius: var(--telekom-radius-standard);
--font-size-large: var(--telekom-typography-font-size-callout);
}
.tab-header {
color: var(--color);
cursor: pointer;
display: inline-flex;
outline: none;
position: relative;
box-sizing: border-box;
align-items: center;
height: var(--tab-height);
font: var(--font);
border-radius: var(--tab-radius);
padding-right: var(--tab-spacing-horizontal);
padding-left: var(--tab-spacing-horizontal);
padding-top: var(--tab-spacing-vertical);
padding-bottom: var(--tab-spacing-vertical);
}
.tab-header--disabled {
cursor: auto;
color: var(--color-disabled);
}
.tab-header--disabled:after {
cursor: auto;
background-color: var(--telekom-color-ui-border-disabled) ;
}
.tab-header--disabled:active {
color: var(--color-disabled);
}
.tab-header--disabled:hover {
color: var(--color-disabled) ;
}
.tab-header--disabled:hover:after {
background-color: var(--telekom-color-ui-border-disabled) ;
}
.tab-header:after {
left: 0;
right: 0;
width: 100%;
bottom: 0;
content: '';
display: block;
position: absolute;
height: var(--tab-border-size);
background-color: var(--tab-border-color);
}
.tab-header:before {
left: 0;
right: 0;
width: 100%;
bottom: 0;
height: 0;
content: '';
display: block;
position: absolute;
border-top: 1px solid transparent;
}
.tab-header:hover {
color: var(--color-hover);
}
.tab-header:hover:after {
background-color: var(--color-hover);
}
.tab-header:active {
color: var(--color-active);
}
.tab-header:active:after {
background-color: var(--color-active);
}
.tab-header:active:after {
background-color: var(--color-active);
}
.tab-header ::slotted(*) {
margin-right: var(--spacing-right-slotted);
}
.tab-header--has-focus {
border-radius: var(--tab-radius);
outline: var(--focus-outline);
z-index: 1;
}
.tab-header--has-focus.tab-header--selected:after {
border-radius: 0 0 3px 3px;
width: 98%;
margin-left: 1%;
}
.tab-header--selected {
color: var(--color-selected);
}
.tab-header--selected:after {
height: var(--tab-border-size-selected);
background-color: var(--color-selected);
}
.tab-header--selected:before {
border-top: var(--tab-border-size-selected) solid transparent;
}
/* small size */
.tab-header--large {
font-size: var(--font-size-large);
height: var(--tab-height-large);
}