mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-04 07:03:56 +08:00
242 lines
5.1 KiB
CSS
242 lines
5.1 KiB
CSS
.fluent-dashboard {
|
|
--fluent-dashboard-border: var(--fluent-card-border, var(--inputborder-color, color-mix(in srgb, currentColor 16%, transparent)));
|
|
--fluent-dashboard-muted: var(--fluent-text-secondary, color-mix(in srgb, currentColor 68%, transparent));
|
|
--fluent-dashboard-surface: var(--fluent-card-bg, rgba(var(--primary-rgbbody, 255, 255, 255), 0.7));
|
|
--fluent-dashboard-shadow: var(--fluent-card-shadow, 0 .1rem .3rem var(--input-boxcolor, color-mix(in srgb, CanvasText 8%, transparent)));
|
|
color: var(--fluent-text, CanvasText);
|
|
container-type: inline-size;
|
|
}
|
|
|
|
.fluent-dashboard, .fluent-dashboard * {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.fluent-dashboard__header {
|
|
color: highlighttext;
|
|
background: linear-gradient(120deg, Highlight, color-mix(in srgb, Highlight 68%, CanvasText));
|
|
border-radius: .75rem;
|
|
justify-content: space-between;
|
|
align-items: end;
|
|
gap: 1rem;
|
|
margin-block-end: 1rem;
|
|
padding: 1.25rem;
|
|
display: flex;
|
|
z-index: 0;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
.fluent-dashboard__header h1, .fluent-dashboard__header p {
|
|
color: inherit;
|
|
margin: 0;
|
|
}
|
|
|
|
.fluent-dashboard__header h1 {
|
|
font-size: clamp(1.5rem, 4vw, 2.25rem);
|
|
line-height: 1.1;
|
|
}
|
|
|
|
.fluent-dashboard__header h1 + p {
|
|
opacity: .82;
|
|
margin-block-start: .4rem;
|
|
}
|
|
|
|
.fluent-dashboard__updated {
|
|
opacity: .86;
|
|
flex: none;
|
|
font-size: .85rem;
|
|
}
|
|
|
|
.fluent-dashboard__grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 1rem;
|
|
display: grid;
|
|
}
|
|
|
|
.fluent-dashboard__card {
|
|
min-width: 0;
|
|
color: inherit;
|
|
background: var(--fluent-dashboard-surface);
|
|
border: 1px solid var(--fluent-dashboard-border);
|
|
box-shadow: var(--fluent-dashboard-shadow);
|
|
border-radius: .75rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.fluent-dashboard__card--wide {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.fluent-dashboard__card-title {
|
|
color: inherit;
|
|
border-block-end: 1px solid var(--fluent-dashboard-border);
|
|
margin: 0;
|
|
padding: 1rem 1.1rem .85rem 1.35rem;
|
|
font-size: 1rem;
|
|
font-weight: 650;
|
|
line-height: 1.25;
|
|
position: relative;
|
|
}
|
|
|
|
.fluent-dashboard__card-title:before {
|
|
content: "";
|
|
background: highlight;
|
|
border-radius: 1rem;
|
|
width: .2rem;
|
|
position: absolute;
|
|
inset: 1rem auto .85rem .7rem;
|
|
}
|
|
|
|
.fluent-dashboard__card-content {
|
|
padding: 1rem 1.1rem;
|
|
}
|
|
|
|
.fluent-dashboard__details {
|
|
grid-template-columns: minmax(8rem, 36%) minmax(0, 1fr);
|
|
gap: .6rem 1rem;
|
|
margin: 0;
|
|
display: grid;
|
|
}
|
|
|
|
.fluent-dashboard__details-label {
|
|
color: var(--fluent-dashboard-muted);
|
|
}
|
|
|
|
.fluent-dashboard__details-value {
|
|
overflow-wrap: anywhere;
|
|
min-width: 0;
|
|
font-weight: 550;
|
|
}
|
|
|
|
.fluent-dashboard__meter + .fluent-dashboard__meter {
|
|
margin-block-start: 1.1rem;
|
|
}
|
|
|
|
.fluent-dashboard__meter-label {
|
|
justify-content: space-between;
|
|
gap: 1rem;
|
|
margin-block-end: .45rem;
|
|
font-size: .85rem;
|
|
display: flex;
|
|
}
|
|
|
|
.fluent-dashboard__meter-label span:last-child {
|
|
color: var(--fluent-dashboard-muted);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.fluent-dashboard__meter-track {
|
|
background: color-mix(in srgb, currentColor 12%, transparent);
|
|
border-radius: 1rem;
|
|
height: .5rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.fluent-dashboard__meter-value {
|
|
border-radius: inherit;
|
|
background: highlight;
|
|
height: 100%;
|
|
transition: width .2s;
|
|
display: block;
|
|
}
|
|
|
|
.fluent-dashboard__table-wrap {
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.fluent-dashboard__table {
|
|
width: 100%;
|
|
color: inherit;
|
|
border-collapse: collapse;
|
|
margin: 0;
|
|
}
|
|
|
|
.fluent-dashboard__table th, .fluent-dashboard__table td {
|
|
text-align: start;
|
|
vertical-align: middle;
|
|
border-block-end: 1px solid var(--fluent-dashboard-border);
|
|
padding: .7rem .65rem;
|
|
}
|
|
|
|
.fluent-dashboard__table th {
|
|
color: var(--fluent-dashboard-muted);
|
|
letter-spacing: .02em;
|
|
text-transform: uppercase;
|
|
font-size: .78rem;
|
|
font-weight: 650;
|
|
}
|
|
|
|
.fluent-dashboard__table tbody tr:last-child td {
|
|
border-block-end: 0;
|
|
}
|
|
|
|
.fluent-dashboard__status {
|
|
white-space: nowrap;
|
|
align-items: center;
|
|
gap: .35rem;
|
|
font-size: .82rem;
|
|
font-weight: 600;
|
|
display: inline-flex;
|
|
}
|
|
|
|
.fluent-dashboard__status:before {
|
|
content: "";
|
|
background: currentColor;
|
|
border-radius: 50%;
|
|
width: .5rem;
|
|
height: .5rem;
|
|
}
|
|
|
|
.fluent-dashboard__status--up {
|
|
color: color-mix(in srgb, LinkText 75%, Highlight);
|
|
}
|
|
|
|
.fluent-dashboard__status--down {
|
|
color: color-mix(in srgb, currentColor 58%, transparent);
|
|
}
|
|
|
|
.fluent-dashboard__table .fluent-dashboard__empty {
|
|
color: var(--fluent-dashboard-muted);
|
|
text-align: center;
|
|
padding-block: 1.5rem;
|
|
font-style: italic;
|
|
}
|
|
|
|
@container (width <= 44rem) {
|
|
.fluent-dashboard__grid {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.fluent-dashboard__card--wide {
|
|
grid-column: auto;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 575px) {
|
|
.fluent-dashboard__header {
|
|
flex-direction: column;
|
|
align-items: start;
|
|
padding: 1rem;
|
|
}
|
|
|
|
.fluent-dashboard__details {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
gap: .2rem;
|
|
}
|
|
|
|
.fluent-dashboard__details-value + .fluent-dashboard__details-label {
|
|
margin-block-start: .45rem;
|
|
}
|
|
|
|
.fluent-dashboard__card-content {
|
|
padding: .85rem;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fluent-dashboard__meter-value {
|
|
transition: none;
|
|
}
|
|
}
|