@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
186 lines (183 loc) • 5.57 kB
CSS
/*
* Utilities
*/
:root {
--card-outline-width: 0.0625rem;
}
.dnb-card {
--card-outline-color: var(
--border-color,
var(--token-color-stroke-neutral-subtle)
);
--card-background-color: var(--token-color-background-neutral);
}
.dnb-card__title {
padding-bottom: 1rem;
font-size: var(--font-size-basis);
font-weight: var(--font-weight-medium);
}
.dnb-card:not([style*="--padding-"]) .dnb-card__title {
padding: 1rem;
}
.dnb-card.dnb-section {
background-color: var(--background-color);
}
.dnb-card .dnb-section {
z-index: 1;
}
.dnb-card .dnb-card {
--rounded-corner: var(--token-radius-lg);
--drop-shadow--small: var(--drop-shadow-none);
--drop-shadow--medium: var(--drop-shadow-none);
--drop-shadow--large: var(--drop-shadow-none);
}
.dnb-card .dnb-card .dnb-card {
--rounded-corner: var(--token-radius-md);
}
@media screen and (min-width: 40.00625em) {
.dnb-card {
--nested-space-l: calc(var(--padding-left, 0px) * -1);
--nested-space-r: calc(var(--padding-right, 0px) * -1);
}
.dnb-card .dnb-section::after {
--left: var(--nested-space-l);
--width: calc(100% - var(--nested-space-r) * 2);
}
}
.dnb-card--filled.dnb-card.dnb-section {
--background-color: var(--outline-color);
}
@media screen and (max-width: 40em) {
.dnb-card--responsive.dnb-section::before {
left: var(--left);
--outline:
99vw 0 0 0 var(--background-color),
198vw 0 0 0 var(--background-color),
297vw 0 0 0 var(--background-color),
396vw 0 0 0 var(--background-color),
0 var(--outline-width) 0 0 var(--outline-color),
99vw var(--outline-width) 0 0 var(--outline-color),
0 calc(var(--outline-width) * -1) 0 0 var(--outline-color),
99vw calc(var(--outline-width) * -1) 0 0 var(--outline-color),
198vw var(--outline-width) 0 0 var(--outline-color),
198vw calc(var(--outline-width) * -1) 0 0 var(--outline-color);
}
.dnb-card--responsive.dnb-section[style*="--drop-shadow"] {
--drop-shadow: var(--drop-shadow-none);
}
}
@media screen and (max-width: 40em) {
.dnb-card + .dnb-card--responsive:not([class*=space__top])::before {
top: var(--outline-width);
}
.dnb-card + .dnb-card--responsive:not([class*=space__top]) {
background: linear-gradient(to left, var(--background-color), var(--background-color)) no-repeat 0 var(--outline-width);
}
}
@media screen and (max-width: 40em) {
.dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card--responsive {
margin-top: 0;
}
.dnb-flex-container.dnb-flex-container--divider-space .dnb-card + .dnb-card--responsive::before {
top: var(--outline-width);
z-index: 0;
background-color: transparent;
}
}
.dnb-card .dnb-flex-container:has(> .dnb-card__title + .dnb-scroll-view) {
align-items: stretch;
flex-wrap: nowrap;
}
.dnb-card--filled .dnb-scroll-view {
clip-path: inset(0 0 0 0 round var(--rounded-corner) var(--rounded-corner) var(--rounded-corner) var(--rounded-corner));
}
.dnb-card > .dnb-flex-container > .dnb-space:has(> .dnb-scroll-view) {
width: 100%;
}
.dnb-card > .dnb-flex-container--align-stretch > .dnb-button {
align-self: flex-start;
}
.dnb-card[style*="--outset"].dnb-space[style]:not(.dnb-card) {
padding-left: calc(var(--padding-left) * (1 - var(--outset)));
padding-right: calc(var(--padding-right) * (1 - var(--outset)));
}
.dnb-card[style*="--outset"].dnb-card > .dnb-flex-container {
margin-left: calc(var(--padding-left, 1rem) * -1 * var(--outset));
margin-right: calc(var(--padding-right, 1rem) * -1 * var(--outset));
}
.dnb-card-action {
display: block;
-webkit-text-decoration: none;
text-decoration: none;
color: inherit;
outline: none;
cursor: pointer;
}
.dnb-card-action:hover, .dnb-card-action:active, .dnb-card-action:focus {
-webkit-text-decoration: none;
text-decoration: none;
color: inherit;
}
.dnb-card-action:hover .dnb-card {
--card-outline-color: var(--token-color-stroke-action-hover);
--outline-color: var(--token-color-stroke-action-hover);
--outline-width: 0.125rem;
}
.dnb-card-action:active .dnb-card {
--card-outline-color: var(--token-color-stroke-action-pressed);
--outline-color: var(--token-color-stroke-action-pressed);
--outline-width: 0.0625rem;
}
.dnb-card-action:focus-visible .dnb-card {
--card-outline-color: var(--token-color-stroke-action-focus);
--outline-color: var(--token-color-stroke-action-focus);
--outline-width: var(--focus-ring-width);
}
.dnb-card-list {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
list-style: none;
}
@media screen and (min-width: 40.00625em) {
.dnb-card-list {
gap: 1rem;
}
}
@media screen and (min-width: 40.00625em) {
.dnb-card-list__item {
flex: 1;
}
}
.dnb-card-list__item {
/* stylelint-disable-next-line no-descending-specificity */
}
.dnb-card-list__item .dnb-card,
.dnb-card-list__item .dnb-card-action {
height: 100%;
}
.dnb-card-list__item .dnb-card:hover,
.dnb-card-list__item .dnb-card-action:hover {
z-index: 1;
}
.dnb-card-list__item--center {
align-items: center;
text-align: center;
/* stylelint-disable-next-line no-descending-specificity */
}
.dnb-card-list__item--center .dnb-card .dnb-button {
align-self: center;
}
@media screen and (max-width: 40em) {
.dnb-card-list__item--center-when-small {
width: 100%;
}
.dnb-card-list__item--center-when-small .dnb-flex-container {
align-items: center;
text-align: center;
}
.dnb-card-list__item--center-when-small .dnb-flex-container .dnb-button {
align-self: center;
}
}