@telekom/scale-components
Version:
Scale is the digital design system for Telekom products and experiences.
377 lines (351 loc) • 11.3 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 {
--background: var(--telekom-color-ui-faint);
--color: var(--telekom-color-text-and-icon-standard);
--font: var(--telekom-text-style-caption-bold);
--radius: 2px;
--focus-outline: var(--telekom-line-weight-highlight) solid
var(--telekom-color-functional-focus-standard);
--icon-color: var(--telekom-color-text-and-icon-additional);
--icon-color-hover: var(--color);
--background-disabled: var(--telekom-color-ui-faint);
--color-disabled: var(--telekom-color-text-and-icon-disabled);
--spacing-dismissable: var(--telekom-spacing-composition-space-02)
var(--telekom-spacing-composition-space-02)
var(--telekom-spacing-composition-space-02)
var(--telekom-spacing-composition-space-03);
--spacing-dismissable-small: var(--telekom-spacing-composition-space-02)
var(--telekom-spacing-composition-space-02)
var(--telekom-spacing-composition-space-02)
var(--telekom-spacing-composition-space-03);
--height: 24px;
--height-small: 20px;
--border-button-dismissable-focus: 1px solid transparent;
--box-shadow-button-dismissable-focus: var(--box-shadow-focus);
--background-button-dismissable-hover: var(
--telekom-color-ui-state-fill-hovered
);
--background-button-standard-strong-dismissible-hover: var(
--telekom-color-ui-state-fill-hovered-inverted
);
--background-button-standard-dismissible-hover: var(
--telekom-color-ui-state-fill-hovered
);
--background-button-dismissable-active: var(
--telekom-color-ui-state-fill-pressed
);
--height-button-dismissable: 20px;
--width-button-dismissable: 20px;
--height-button-dismissable-small: 16px;
--width-button-dismissable-small: 16px;
--spacing-small: 0 var(--telekom-spacing-composition-space-04);
--font-size-small: var(--telekom-typography-font-size-small);
--line-height-small: var(--telekom-typography-line-spacing-loose);
}
.tag {
display: inline-flex;
outline: none;
padding: 0 8px;
text-align: center;
transition: all 0.15s ease-in-out;
align-items: center;
white-space: nowrap;
border-radius: var(--telekom-radius-small);
vertical-align: baseline;
justify-content: center;
font: var(--font);
line-height: 1;
background: var(--background);
color: var(--color);
cursor: default;
height: var(--height);
}
.tag scale-icon-action-close {
color: var(--icon-color);
}
.tag:not(.tag--disabled) scale-icon-action-close:hover {
color: var(--icon-color-hover);
}
.tag::slotted(*) {
padding: 100px;
}
/**
dismissable
**/
.tag--dismissable {
padding: 0 0 0 8px;
}
.tag--dismissable button {
border: none;
cursor: pointer;
height: var(--height-button-dismissable);
width: var(--width-button-dismissable);
margin: 0;
outline: none;
padding: 0;
background: transparent;
margin: var(--spacing-dismissable);
border-radius: var(--radius);
align-items: center;
}
.tag--dismissable scale-icon-action-close {
display: flex ;
align-items: center;
justify-content: center;
}
.tag--dismissable button:focus {
justify-content: center;
outline: var(--focus-outline);
outline-offset: 1px;
}
.tag--dismissable:not(.tag--disabled) button:hover {
background: var(--background-button-dismissable-hover);
}
.tag--dismissable.tag--color-standard:not(.tag--disabled) button:hover {
background: var(--background-button-standard-dismissible-hover);
}
.tag--dismissable.tag--type-strong.tag--color-standard:not(.tag--disabled)
button:hover {
background: var(--background-button-standard-strong-dismissible-hover);
}
.tag--dismissable button:active {
background: var(--background-button-dismissable-active);
}
.tag--dismissable.tag--color-standard button:active {
background: var(--background-button-standard-dismissible-hover);
}
.tag--dismissable.tag--type-strong.tag--color-standard button:active {
background: var(--background-button-standard-strong-dismissible-hover);
}
/**
size small
**/
.tag--size-small {
font-size: var(--font-size-small);
padding: 0 6px;
height: var(--height-small);
}
.tag--size-small.tag--dismissable {
padding-right: 0px;
}
.tag--size-small.tag--dismissable button {
height: var(--height-button-dismissable-small);
width: var(--width-button-dismissable-small);
margin: var(--spacing-dismissable-small);
}
/**
disabled
**/
.tag--disabled {
background-color: var(--telekom-color-ui-faint) ;
color: var(--color-disabled) ;
pointer-events: none;
}
.tag--disabled scale-icon-action-close {
color: var(--color-disabled) ;
pointer-events: none;
}
/**
link
**/
.tag--link {
text-decoration: none;
}
.tag--link:focus {
outline: var(--focus-outline);
}
.tag--link {
background: var(--background-secondary);
}
.tag--link:hover {
background: var(--background-secondary);
}
/**
standard type
**/
/*cyan*/
.tag--type-standard.tag--color-cyan {
background-color: var(--telekom-color-additional-cyan-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-cyan);
}
.tag--type-standard.tag--color-cyan.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-cyan);
}
/*yellow*/
.tag--type-standard.tag--color-yellow {
background-color: var(--telekom-color-additional-yellow-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-yellow);
}
.tag--type-standard.tag--color-yellow.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-yellow);
}
/*green*/
.tag--type-standard.tag--color-green {
background-color: var(--telekom-color-functional-success-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-success);
}
.tag--type-standard.tag--color-green.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-success);
}
/*orange*/
.tag--type-standard.tag--color-orange {
background-color: var(--telekom-color-functional-warning-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-warning);
}
.tag--type-standard.tag--color-orange.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-warning);
}
/*red*/
.tag--type-standard.tag--color-red {
background-color: var(--telekom-color-functional-danger-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-danger);
}
.tag--type-standard.tag--color-red.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-danger);
}
/*violet*/
.tag--type-standard.tag--color-violet {
background-color: var(--telekom-color-additional-violet-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-violet);
}
.tag--type-standard.tag--color-violet.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-violet);
}
/*brown*/
.tag--type-standard.tag--color-brown {
background-color: var(--telekom-color-additional-brown-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-brown);
}
.tag--type-standard.tag--color-brown.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-brown);
}
/*olive*/
.tag--type-standard.tag--color-olive {
background-color: var(--telekom-color-additional-olive-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-olive);
}
.tag--type-standard.tag--color-olive.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-olive);
}
/*teal*/
.tag--type-standard.tag--color-teal {
background-color: var(--telekom-color-additional-teal-subtle);
color: var(--telekom-color-text-and-icon-on-subtle-teal);
}
.tag--type-standard.tag--color-teal.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-on-subtle-teal);
}
/*
*
strong type
*
*/
/*
standard
*/
.tag--type-strong.tag--color-standard {
background-color: var(--telekom-color-ui-extra-strong);
color: var(--telekom-color-text-and-icon-inverted-standard);
}
.tag--type-strong.tag--color-standard.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-inverted-additional);
}
/*
cyan
*/
.tag--type-strong.tag--color-cyan {
background-color: var(--telekom-color-additional-cyan-400);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-cyan.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
yellow
*/
.tag--type-strong.tag--color-yellow {
background-color: var(--telekom-color-additional-yellow-400);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-yellow.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
green
*/
.tag--type-strong.tag--color-green {
background-color: var(--telekom-color-functional-success-standard);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-green.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
orange
*/
.tag--type-strong.tag--color-orange {
background-color: var(--telekom-color-functional-warning-standard);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-orange.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
red
*/
.tag--type-strong.tag--color-red {
background-color: var(--telekom-color-functional-danger-standard);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-red.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
violet
*/
.tag--type-strong.tag--color-violet {
background-color: var(--telekom-color-additional-violet-300);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-violet.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
brown
*/
.tag--type-strong.tag--color-brown {
background-color: var(--telekom-color-additional-brown-400);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-brown.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
olive
*/
.tag--type-strong.tag--color-olive {
background-color: var(--telekom-color-additional-olive-400);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-olive.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}
/*
teal
*/
.tag--type-strong.tag--color-teal {
background-color: var(--telekom-color-additional-teal-400);
color: var(--telekom-color-text-and-icon-black-standard);
}
.tag--type-strong.tag--color-teal.tag--dismissable scale-icon-action-close {
color: var(--telekom-color-text-and-icon-black-additional);
}