@scania/tegel
Version:
Tegel Design System
130 lines (127 loc) • 2.89 kB
CSS
.card {
box-sizing: border-box;
box-shadow: var(--tds-card-box);
background-color: var(--tds-card-background);
display: block;
border-radius: 4px;
overflow: hidden;
}
.card * {
box-sizing: border-box;
}
.card.clickable:hover {
box-shadow: var(--tds-card-box-hover);
cursor: pointer;
}
.card .card-header {
font: var(--tds-headline-06);
letter-spacing: var(--tds-headline-06-ls);
padding: 16px;
display: flex;
align-items: center;
}
.card .card-header slot[name=thumbnail]::slotted(*) {
width: 36px;
height: 36px;
border-radius: 100%;
margin-right: 16px;
}
.card .card-header .card-top-header {
padding-left: 16px;
display: flex;
flex-direction: column;
}
.card .card-header .card-top-header.no-header-img {
padding-left: 0;
}
.card .card-header.below {
padding-top: 16px;
}
.card .card-header.expandable tds-icon {
cursor: pointer;
margin-left: auto;
transition: transform 160ms ease-in-out, opacity 120ms ease-in-out;
}
.card .card-header.expandable tds-icon.rotated {
transform: rotate(180deg);
}
.card .header-subheader {
display: flex;
flex-direction: column;
width: 100%;
gap: 4px;
}
.card .header-subheader .header,
.card .header-subheader slot[name=header] {
color: var(--tds-card-headline);
}
.card .header-subheader .subheader,
.card .header-subheader slot[name=subheader] {
color: var(--tds-card-sub-headline);
}
.card .card-body-img {
width: 100%;
}
.card .tds-divider {
margin: 16px 16px 0;
background-color: var(--tds-card-divider);
height: 1px;
}
.card .card-body {
display: block;
word-wrap: break-word;
}
.card slot[name=body]::slotted(*) {
/* !important is needed here to prevent this from being overwritten by our CSS-reset. */
font: var(--tds-detail-03) ;
letter-spacing: var(--tds-detail-03-ls) ;
color: var(--tds-card-body-color);
padding: 0 16px;
margin-bottom: 16px;
margin-top: 16px;
max-width: 336px;
}
.card slot[name=actions]::slotted(*) {
display: flex;
padding: 16px;
color: var(--tds-card-icon-color);
}
button {
width: 100%;
border: none;
text-align: left;
padding: 0;
}
button:focus-visible {
outline: 2px solid var(--tds-blue-400);
outline-offset: -2px;
}
button:active {
box-shadow: var(--tds-card-box-pressed);
}
.below-header-stretch,
.above-header-stretch {
display: flex;
flex-direction: column;
}
.below-header-stretch .stretch,
.above-header-stretch .stretch {
display: flex;
flex-direction: column;
flex-grow: 1;
width: 100%;
}
.below-header-stretch .card-body,
.above-header-stretch .card-body {
display: flex;
flex-direction: column;
flex-grow: 1;
}
.below-header-stretch .card-body slot[name=body]::slotted(*),
.above-header-stretch .card-body slot[name=body]::slotted(*) {
max-width: unset;
flex-grow: 1;
}
:host([expandable]:not([expanded])) .card-body slot[name=body] {
display: none;
}