big restructure

This commit is contained in:
2026-02-11 19:28:12 +01:00
parent cd59ccd99b
commit 3eb9cc0ac4
209 changed files with 5101 additions and 2459 deletions

View File

@@ -26,8 +26,8 @@
--app-grid-column-gap: var(--app-spacing);
--app-grid-row-gap: var(--app-spacing);
--app-flex-gap: var(--app-spacing);
--app-form-element-spacing-vertical: .5rem;
--app-form-element-spacing-horizontal: .7rem;
--app-form-element-spacing-vertical: 0.5rem;
--app-form-element-spacing-horizontal: 0.7rem;
--app-button-padding-vertical: var(--app-form-element-spacing-vertical);
--app-button-padding-horizontal: var(--app-form-element-spacing-horizontal);
--app-button-padding-vertical-small: calc(
@@ -53,6 +53,21 @@
--app-secondary-h-base: 223;
--app-secondary-s-base: 19%;
--app-secondary-l-base: 45%;
--app-blockquote-background-color: var(
--app-form-element-active-background-color
);
--list-tabs-border: var(--app-border);
--list-tabs-active: var(--app-primary);
--list-tabs-muted: var(--app-muted-color);
--tabs-border: var(--app-border);
--tabs-active: var(--app-primary);
--tabs-muted: var(--app-muted-color);
--tooltip-bg: var(--app-card-background-color);
--tooltip-color: var(--app-color);
--tooltip-border: var(--app-border);
--tooltip-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
--tooltip-radius: 8px;
--tooltip-offset: 8px;
--app-badge-background-color: coral;
}
@@ -104,8 +119,8 @@
}
}
:host(:not([data-theme="dark"])),
:root:not([data-theme="dark"]),
:host(:not([data-theme])),
:root:not([data-theme]),
[data-theme="light"] {
color-scheme: light;
--app-background-color: #fff;
@@ -208,6 +223,29 @@
--app-mark-color: #0f1114;
--app-ins-color: rgb(28.5, 105.5, 84);
--app-del-color: rgb(136, 56.5, 53);
--badge-success-bg: #e6f6eb;
--badge-success-color: #1f6a3a;
--badge-success-border: #c9ead3;
--badge-danger-bg: #fdecec;
--badge-danger-color: #8f2c2c;
--badge-danger-border: #f6caca;
--badge-info-bg: #e9f0ff;
--badge-info-color: #264db3;
--badge-info-border: #cbd7ff;
--badge-warn-bg: #fff5e6;
--badge-warn-color: #9a5a00;
--badge-warn-border: #ffd9a6;
--badge-neutral-bg: #f2f4f7;
--badge-neutral-color: #4a5568;
--badge-neutral-border: #e1e6ee;
--app-tile-bg: var(--app-card-background-color);
--app-tile-border: var(--app-muted-border-color);
--app-tile-shadow: var(--app-box-shadow);
--app-tile-icon-bg: rgba(0, 0, 0, 0.04);
--app-tile-icon-color: var(--app-contrast);
--app-tile-count-color: var(--app-contrast);
--app-tile-label-color: var(--app-color);
--app-tile-link-color: var(--app-muted-color);
--app-blockquote-border-color: var(--app-muted-border-color);
--app-blockquote-footer-color: var(--app-muted-color);
--app-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
@@ -282,7 +320,7 @@
--app-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
:host(:not([data-theme="dark"]))
:host(:not([data-theme]))
input:is(
[type="submit"],
[type="button"],
@@ -291,7 +329,7 @@
[type="radio"],
[type="file"]
),
:root:not([data-theme="dark"])
:root:not([data-theme])
input:is(
[type="submit"],
[type="button"],
@@ -426,6 +464,29 @@
--app-mark-color: #fff;
--app-ins-color: #62af9a;
--app-del-color: rgb(205.5, 126, 123);
--badge-success-bg: #163a2a;
--badge-success-color: #8fe0b0;
--badge-success-border: #25523c;
--badge-danger-bg: #3a1b1b;
--badge-danger-color: #f2a3a3;
--badge-danger-border: #5b2c2c;
--badge-info-bg: #1a253f;
--badge-info-color: #9fb6ff;
--badge-info-border: #2a3a66;
--badge-warn-bg: #3a2a14;
--badge-warn-color: #ffd596;
--badge-warn-border: #5b401d;
--badge-neutral-bg: #222831;
--badge-neutral-color: #cbd5e1;
--badge-neutral-border: #2f3945;
--app-tile-bg: rgba(20, 24, 32, 0.6);
--app-tile-border: rgba(255, 255, 255, 0.08);
--app-tile-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
--app-tile-icon-bg: rgba(255, 255, 255, 0.08);
--app-tile-icon-color: #e6ecff;
--app-tile-count-color: #f1f5ff;
--app-tile-label-color: #d1d7e3;
--app-tile-link-color: #98a2b3;
--app-blockquote-border-color: var(--app-muted-border-color);
--app-blockquote-footer-color: var(--app-muted-color);
--app-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
@@ -510,7 +571,7 @@
}
}
[data-theme="dark"] {
[data-theme^="dark"] {
color-scheme: dark;
--app-background-color: rgb(19, 22.5, 30.5);
--app-sidebar-background-color: rgb(18 20 27);
@@ -621,6 +682,29 @@
--app-mark-color: #fff;
--app-ins-color: #62af9a;
--app-del-color: rgb(205.5, 126, 123);
--badge-success-bg: #163a2a;
--badge-success-color: #8fe0b0;
--badge-success-border: #25523c;
--badge-danger-bg: #3a1b1b;
--badge-danger-color: #f2a3a3;
--badge-danger-border: #5b2c2c;
--badge-info-bg: #1a253f;
--badge-info-color: #9fb6ff;
--badge-info-border: #2a3a66;
--badge-warn-bg: #3a2a14;
--badge-warn-color: #ffd596;
--badge-warn-border: #5b401d;
--badge-neutral-bg: #222831;
--badge-neutral-color: #cbd5e1;
--badge-neutral-border: #2f3945;
--app-tile-bg: rgba(20, 24, 32, 0.6);
--app-tile-border: rgba(255, 255, 255, 0.08);
--app-tile-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
--app-tile-icon-bg: rgba(255, 255, 255, 0.08);
--app-tile-icon-color: #e6ecff;
--app-tile-count-color: #f1f5ff;
--app-tile-label-color: #d1d7e3;
--app-tile-link-color: #98a2b3;
--app-blockquote-border-color: var(--app-muted-border-color);
--app-blockquote-footer-color: var(--app-muted-color);
--app-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
@@ -695,7 +779,7 @@
--app-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme="dark"]
[data-theme^="dark"]
input:is(
[type="submit"],
[type="button"],

View File

@@ -0,0 +1,44 @@
@charset "UTF-8";
/* High contrast overrides */
html[data-contrast="high"][data-theme="light"],
[data-contrast="high"][data-theme="light"] {
--app-background-color: #fff;
--app-sidebar-background-color: #fff;
--app-color: #0f172a;
--app-muted-color: #1f2937;
--app-muted-border-color: #64748b;
--app-form-element-background-color: #fff;
--app-form-element-border-color: #475569;
--app-form-element-color: #0f172a;
--app-form-element-placeholder-color: #334155;
--app-table-border-color: var(--app-muted-border-color);
--app-card-border-color: var(--app-muted-border-color);
--app-dropdown-border-color: var(--app-muted-border-color);
--app-accordion-border-color: white;
--app-card-background-color: #ffffff;
--app-blockquote-border-color: var(--app-muted-border-color);
--app-tooltip-background-color: #000;
--app-tooltip-color: #fff;
}
html[data-contrast="high"][data-theme^="dark"],
[data-contrast="high"][data-theme^="dark"] {
--app-background-color: #000;
--app-sidebar-background-color: #000;
--app-color: #f8fafc;
--app-muted-color: #cbd5e1;
--app-muted-border-color: #64748b;
--app-form-element-background-color: #000000;
--app-form-element-border-color: #94a3b8;
--app-form-element-color: #f8fafc;
--app-form-element-placeholder-color: #cbd5e1;
--app-table-border-color: var(--app-muted-border-color);
--app-card-border-color: var(--app-muted-border-color);
--app-dropdown-border-color: var(--app-muted-border-color);
--app-accordion-border-color: black;
--app-card-background-color: #000000;
--app-blockquote-border-color: var(--app-muted-border-color);
--app-tooltip-background-color: #fff;
--app-tooltip-color: #0b0f14;
}

View File

@@ -0,0 +1,42 @@
@charset "UTF-8";
[data-theme="dark-green"] {
--app-background-color: #0f1713;
--app-sidebar-background-color: #0d1511;
--app-color: #cfe0d6;
--app-text-selection-color: rgba(64, 170, 118, 0.25);
--app-muted-color: #8a9b91;
--app-muted-border-color: #223028;
--app-form-element-background-color: #141f19;
--app-form-element-border-color: #26362d;
--app-form-element-color: #d5e6dc;
--app-form-element-placeholder-color: #7f9187;
--app-card-background-color: #141f19;
--app-card-border-color: #223028;
--app-card-sectioning-background-color: #1a261f;
--app-dropdown-background-color: #141f19;
--app-dropdown-border-color: #223028;
--app-dropdown-hover-background-color: #1f2a24;
--app-modal-overlay-background-color: rgba(7, 10, 8, 0.75);
--app-progress-background-color: #223028;
--app-primary-h-base: 145;
--app-primary-s-base: 38%;
--app-primary-l-base: 38%;
--badge-success-bg: #123225;
--badge-success-color: #8de2b4;
--badge-success-border: #1f4a36;
--badge-danger-bg: #361a1d;
--badge-danger-color: #f4a3ad;
--badge-danger-border: #5a2b32;
--badge-info-bg: #142735;
--badge-info-color: #9ad2e0;
--badge-info-border: #214156;
--badge-warn-bg: #3a2a12;
--badge-warn-color: #ffdf9e;
--badge-warn-border: #5a401b;
--badge-neutral-bg: #1b2620;
--badge-neutral-color: #cfe0d6;
--badge-neutral-border: #2a3a31;
--app-tile-bg: rgb(20 28 24);
--app-blockquote-background-color: rgb(20 28 24);
}

View File

@@ -1,39 +1,3 @@
:root {
--badge-success-bg: #e6f6eb;
--badge-success-color: #1f6a3a;
--badge-success-border: #c9ead3;
--badge-danger-bg: #fdecec;
--badge-danger-color: #8f2c2c;
--badge-danger-border: #f6caca;
--badge-info-bg: #e9f0ff;
--badge-info-color: #264db3;
--badge-info-border: #cbd7ff;
--badge-warn-bg: #fff5e6;
--badge-warn-color: #9a5a00;
--badge-warn-border: #ffd9a6;
--badge-neutral-bg: #f2f4f7;
--badge-neutral-color: #4a5568;
--badge-neutral-border: #e1e6ee;
}
[data-theme="dark"] {
--badge-success-bg: #163a2a;
--badge-success-color: #8fe0b0;
--badge-success-border: #25523c;
--badge-danger-bg: #3a1b1b;
--badge-danger-color: #f2a3a3;
--badge-danger-border: #5b2c2c;
--badge-info-bg: #1a253f;
--badge-info-color: #9fb6ff;
--badge-info-border: #2a3a66;
--badge-warn-bg: #3a2a14;
--badge-warn-color: #ffd596;
--badge-warn-border: #5b401d;
--badge-neutral-bg: #222831;
--badge-neutral-color: #cbd5e1;
--badge-neutral-border: #2f3945;
}
.badge[role="button"],
.badge {
display: inline-flex;
@@ -121,6 +85,22 @@
border-color: var(--badge-neutral-border);
}
.badge .badge-color-dot {
width: 0.85em;
height: 0.85em;
border-radius: 999px;
display: inline-block;
border: 1px solid var(--app-border-color);
background: currentColor;
box-shadow: 0 0 0 2px var(--app-background-color) inset;
flex: 0 0 auto;
}
[data-theme="dark"] .badge .badge-color-dot {
border-color: var(--app-border-color);
box-shadow: 0 0 0 2px var(--app-background-color) inset;
}
.badge-list {
display: flex;
gap: 0.35rem;

View File

@@ -1,9 +1,3 @@
:root {
--app-blockquote-background-color: var(
--app-form-element-active-background-color
);
}
blockquote {
--blockquote-bg: var(--app-blockquote-background-color);
--blockquote-color: inherit;

View File

@@ -96,20 +96,31 @@
}
.app-details-container > section > * {
padding-inline: calc(var(--app-spacing) * 2);
padding-inline: calc(var(--app-spacing) * 2);
}
.app-details-container .app-breadcrumb {
padding-top: calc(var(--app-spacing) * 2);
position: sticky;
top: 20px;
background: var(--app-background-color);
padding-top: calc(var(--app-spacing) * 2);
position: sticky;
top: 20px;
background: var(--app-background-color);
}
.app-details-container .app-details-titlebar {
position: sticky;
top: 69px;
background: var(--app-background-color);
position: sticky;
top: 69px;
background: var(--app-background-color);
}
.app-details-container:not(:has(.app-breadcrumb)) .app-details-titlebar {
top: 37px;
padding-block-start: var(--app-spacing);
}
@media (max-width: 768px) {
.app-details-container > section > * {
padding-inline: calc(var(--app-spacing) * 0);
}
}
@media (min-width: 968px) {
@@ -135,3 +146,5 @@
min-height: 100vh;
}
}

View File

@@ -2,12 +2,12 @@
--app-notice-border-color: var(--app-muted-border-color);
--app-notice-background-color: var(--app-card-background-color);
--app-notice-accent-color: var(--app-color);
border: var(--app-border-width) solid var(--app-notice-border-color);
border-radius: var(--app-border-radius);
/* border: var(--app-border-width) solid var(--app-notice-border-color); */
/* border-radius: var(--app-border-radius); */
background: var(--app-notice-background-color);
padding: calc(var(--app-spacing) * .5) calc(var(--app-spacing) * 1);
padding-right: calc(var(--app-spacing) * .5);
margin-bottom: var(--app-spacing);
/* margin-bottom: var(--app-spacing); */
display: flex;
align-items: center;
justify-content: space-between;
@@ -103,7 +103,7 @@
.notice ul {
margin: 0;
padding-left: 20px;
padding-left: 0;
}
.notice li:last-child {
@@ -114,6 +114,17 @@
padding-block-start: 1rem;
}
.flash-stack:has(.notice) {
/* .flash-stack:has(.notice) {
margin-top: var(--app-spacing);
} */
.app-main-content .flash-stack {
margin-bottom: var(--app-spacing);
}
.app-main-content:has(.app-details-container) .flash-stack {
margin-bottom: 0;
}
.notice li {
list-style: none;
}

View File

@@ -1,9 +1,3 @@
:root {
--list-tabs-border: var(--app-border);
--list-tabs-active: var(--app-primary);
--list-tabs-muted: var(--app-muted-color);
}
.app-list-tabs {
display: flex;
flex-wrap: wrap;

View File

@@ -1,6 +1,6 @@
.app-list-toolbar {
display: flex;
align-items: center;
align-items: flex-end;
flex-wrap: wrap;
gap: 10px;
margin-bottom: calc(var(--app-spacing) * 1);
@@ -22,6 +22,14 @@
font-size: 13px !important;
height: auto !important;
}
.app-list-toolbar > * > * > *{
margin: 0 !important;
width: auto !important;
--app-form-element-spacing-horizontal: 10px;
--app-form-element-spacing-vertical: 6px;
font-size: 13px !important;
height: auto !important;
}
.app-list-toolbar
input:not(

View File

@@ -37,15 +37,17 @@ ul.app-search-preview {
.search-details-hidden ul.app-search-preview {
display: none;
}
ul.app-search-preview::before {
ul.app-search-preview li::before {
content: "";
position: absolute;
left: 9px;
top: 2px;
bottom: 20px;
width: 1px;
background: var(--app-border);
border-radius: 999px;
left: 17px;
bottom: 11px;
width: 8px;
height: 10px;
background: transparent;
border-left: 1px solid var(--app-border);
border-bottom: 1px solid var(--app-border);
border-bottom-left-radius: 6px;
}
ul.app-search-preview li {
@@ -56,7 +58,7 @@ ul.app-search-preview li {
ul.app-search-preview li::before {
content: "";
position: absolute;
left: -11px;
left: 17px;
bottom: 11px;
width: 8px;
height: 10px;
@@ -67,7 +69,7 @@ ul.app-search-preview li::before {
}
ul.app-search-preview a {
padding-inline: 0;
padding-inline: 30px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;

View File

@@ -1,9 +1,3 @@
:root {
--tabs-border: var(--app-border);
--tabs-active: var(--app-primary);
--tabs-muted: var(--app-muted-color);
}
.app-tabs {
display: flex;
flex-direction: column;
@@ -17,6 +11,7 @@
-webkit-overflow-scrolling: touch;
padding-block-start: 2px;
padding-left: 2px;
white-space: nowrap;
}
.app-tabs-nav button,
@@ -26,7 +21,6 @@
padding: 5px 10px 5px 10px;
color: var(--tabs-muted) !important;
cursor: pointer;
font-weight: 500;
border-bottom: 2px solid transparent;
text-decoration: none;
border-radius: 0;

View File

@@ -1,51 +1,27 @@
:root {
--app-tile-bg: var(--app-card-background-color);
--app-tile-border: var(--app-muted-border-color);
--app-tile-shadow: var(--app-box-shadow);
--app-tile-icon-bg: rgba(0, 0, 0, 0.04);
--app-tile-icon-color: var(--app-contrast);
--app-tile-count-color: var(--app-contrast);
--app-tile-label-color: var(--app-color);
--app-tile-link-color: var(--app-muted-color);
}
[data-theme="dark"] {
--app-tile-bg: rgba(20, 24, 32, 0.6);
--app-tile-border: rgba(255, 255, 255, 0.08);
--app-tile-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
--app-tile-icon-bg: rgba(255, 255, 255, 0.08);
--app-tile-icon-color: #e6ecff;
--app-tile-count-color: #f1f5ff;
--app-tile-label-color: #d1d7e3;
--app-tile-link-color: #98a2b3;
}
.app-tiles {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: calc(var(--app-spacing) * 1);
margin-bottom: calc(var(--app-spacing) * 2);
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: calc(var(--app-spacing) * 1);
margin-bottom: calc(var(--app-spacing) * 2);
}
.app-stats-table {
overflow: auto;
border: 1px solid var(--app-border);
border-radius: var(--app-border-radius);
margin-bottom: calc(var(--app-spacing) * 1);
overflow: auto;
border: 1px solid var(--app-border);
border-radius: var(--app-border-radius);
margin-bottom: calc(var(--app-spacing) * 1);
}
.app-stats-table th {
border-top: 0;
border-top: 0;
}
.app-stats-table table {
margin: 0;
margin: 0;
}
.app-stats-table table tr:last-child td {
border-bottom: 0;
border-bottom: 0;
}
.app-tile {
@@ -62,7 +38,10 @@
background: var(--app-tile-bg);
color: var(--app-tile-label-color);
text-decoration: none;
transition: transform var(--app-transition), box-shadow var(--app-transition), border-color var(--app-transition);
transition:
transform var(--app-transition),
box-shadow var(--app-transition),
border-color var(--app-transition);
}
.app-tile:hover {
@@ -82,18 +61,21 @@
}
.app-tile-count {
position: absolute;
top: calc(var(--app-spacing) * 1);
right: calc(var(--app-spacing) * 1);
font-weight: 700;
color: var(--tile-count-color);
position: absolute;
top: calc(var(--app-spacing) * 1);
right: calc(var(--app-spacing) * 1);
font-weight: 700;
color: var(--tile-count-color);
}
.app-tile-label {
display: block;
margin-top: calc(var(--app-spacing) * 1);
font-weight: 600;
color: var(--tile-label-color);
display: block;
margin-top: calc(var(--app-spacing) * 1);
color: var(--tile-label-color);
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 191px;
}
.app-tile-link {
@@ -104,6 +86,43 @@
font-size: 0.9rem;
}
.app-tile.is-small {
padding: 10px;
display: flex;
align-items: center;
min-height: 50px;
}
.app-tile.is-small span.app-tile-icon {
width: 25px;
height: 25px;
border-radius: 6px;
font-size: 12px;
margin-right: 10px;
}
.app-tile.is-small .app-tile-link {
bottom: 14px;
}
.app-tile.is-small .app-tile-count {
position: static;
margin-right: 5px;
display: block;
}
.app-tile.is-small .app-tile-label {
margin-top: 0;
font-weight: 400;
}
.app-stats-table-header {
border-bottom: 1px solid var(--app-border);
padding: 4px 10px 4px 10px;
text-transform: uppercase;
font-size: 13px;
letter-spacing: 0.4px;
background: var(--app-blockquote-background-color);
}
@media (max-width: 640px) {
.app-tiles {
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

View File

@@ -1,12 +1,3 @@
:root {
--tooltip-bg: var(--app-card-background-color);
--tooltip-color: var(--app-color);
--tooltip-border: var(--app-border);
--tooltip-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
--tooltip-radius: 8px;
--tooltip-offset: 8px;
}
[data-tooltip] {
--app-card-background-color: inherit;
position: relative;

View File

@@ -90,7 +90,7 @@ input.gridjs-input:focus {
background-color: var(--app-background-color);
border: var(--app-border-width) solid var(--app-table-border-color);
color: var(--app-color);
padding: 0.4rem 0.7rem;
padding: 1px 10px;
}
.gridjs-pagination .gridjs-pages button:hover {
@@ -186,6 +186,11 @@ html[data-theme=dark] button.gridjs-sort-neutral {
filter: invert(1);
}
html[data-theme=dark-green] button.gridjs-sort,
html[data-theme=dark-green] button.gridjs-sort-neutral {
filter: invert(1);
}
.gridjs-tbody, td.gridjs-td {
background-color: var(--app-background-color)
}

View File

@@ -1,41 +1,4 @@
:root {
--spacing-smaller: 3px;
--spacing-small: 5px;
--spacing-medium: 7px;
--spacing-large: 12px;
--font-size: 12px;
--font-size-large: 14px;
--font-size-larger: 16px;
--line-height: 16px;
--line-height-larger: 20px;
--primary-color: var(--app-primary);
--text-color-dark: #212529;
--text-color: #585858;
--text-color-light: #65727e;
--border-color: #bebebe;
--border-color-light: #f1f3f5;
--input-placeholder: #65727e;
--input-background: #e9e9ed;
--input-border: #dee2e6;
--input-border-active: #c1c9d0;
--input-border-invalid: #e44e4e;
--input-outline-invalid: rgba(219, 138, 138, 0.5);
--input-color: #e9e9ed;
--input-disabled: #f7f7f7;
--input-min-height: 45px;
--options-height: 40dvh;
--option-background: #f3f4f7;
--border-radius: 5px;
--icon-size: 12px;
--icon-space: 30px;
--checkbox-size: 16px;
--checkbox-radius: 4px;
--checkbox-border: #ced4da;
--checkbox-background: #fff;
--checkbox-active: #fff;
--checkbox-thickness: 2px;
}
/* Overrides for MultiSelect */
.multi-select {
--spacing-smaller: 3px;
@@ -128,3 +91,13 @@
.multi-select .multi-select-header {
padding-left: 7px;
}
.multi-select .multi-select-option.is-disabled {
opacity: 0.45;
cursor: not-allowed;
}
.multi-select .multi-select-all.is-disabled {
opacity: 0.45;
cursor: not-allowed;
}

View File

@@ -1,60 +1,106 @@
aside.aside-icon-bar {
--app-icon-bar-item-padding: 0.5rem;
--app-icon-bar-item-size: 20px;
--app-icon-bar-border-width: 3px;
--app-icon-bar-hover-bg: var(--app-accordion-border-color);
--app-icon-bar-border: 1px solid var(--app-border);
display: none;
}
aside.aside-icon-bar ul {
aside.aside-icon-bar nav {
display: flex;
flex-direction: column;
justify-content: space-between;
height: 100vh;
}
aside.aside-icon-bar ul,
aside.aside-icon-bar li {
margin: 0;
padding: 0;
list-style: none;
}
aside.aside-icon-bar ul {
display: grid;
gap: 0;
}
aside.aside-icon-bar li {
margin: 0;
padding: 0;
}
aside.aside-icon-bar li a,
aside.aside-icon-bar li button {
margin: 0;
padding: 0.5rem;
font-size: 20px;
padding: var(--app-icon-bar-item-padding);
font-size: var(--app-icon-bar-item-size);
text-align: center;
color: var(--app-muted-color);
border-radius: 0;
background: transparent;
border: 0;
border-left: 3px solid transparent;
border-left: var(--app-icon-bar-border-width) solid transparent;
display: block;
width: 100%;
cursor: pointer;
}
aside.aside-icon-bar li a:hover, aside.aside-icon-bar li a.active, aside.aside-icon-bar li button:hover, aside.aside-icon-bar li button.active {
border-left: 3px solid var(--app-primary);
color: var(--app-contrast);
background: var(--app-accordion-border-color);
}
aside.aside-icon-bar nav {
display: flex;
flex-direction: column;
justify-content: space-between;
height: calc(100vh - var(--app-spacing));
aside.aside-icon-bar li a:hover,
aside.aside-icon-bar li a.active,
aside.aside-icon-bar li button:hover,
aside.aside-icon-bar li button.active {
border-left: var(--app-icon-bar-border-width) solid var(--app-primary);
color: var(--app-contrast);
background: var(--app-icon-bar-hover-bg);
}
/* aside.aside-icon-bar ul.aside-icon-group li:first-child {
margin-bottom: 1rem;
} */
@media (min-width: 768px) {
aside.aside-icon-bar {
border-right: 1px solid var(--app-border);
border-right: var(--app-icon-bar-border);
display: block;
position: sticky;
top: 0;
z-index: 11;
padding-top: var(--app-spacing);
}
.is-sidebar-collapsed aside.aside-icon-bar {
border-right: 0;
}
}
@media (max-width: 767px) {
aside.aside-icon-bar {
display: block;
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 20;
border-top: var(--app-icon-bar-border);
background: var(--app-background-color);
}
aside.aside-icon-bar nav {
flex-direction: row;
height: auto;
justify-content: center;
gap: var(--app-spacing);
}
aside.aside-icon-bar ul {
display: flex;
justify-content: space-around;
gap: var(--app-spacing);
}
aside.aside-icon-bar li a,
aside.aside-icon-bar li button {
border-left: 0;
border-top: var(--app-icon-bar-border-width) solid transparent;
}
aside.aside-icon-bar li a:hover,
aside.aside-icon-bar li a.active,
aside.aside-icon-bar li button:hover,
aside.aside-icon-bar li button.active {
border-left: 0;
border-top: var(--app-icon-bar-border-width) solid var(--app-primary);
}
}

View File

@@ -14,7 +14,15 @@ small {
}
div#debugger-bar {
display: none;
display: none;
}
.app-container.is-sidebar-hidden .app-sidebar {
display: none;
}
.sidebar-hidden .app-sidebar {
display: none;
}
h1,
@@ -27,13 +35,13 @@ h6 {
}
h1 {
--app-font-size: 1.8rem;
--app-font-size: 1.5rem;
--app-line-height: 1.125;
--app-typography-spacing-top: 3rem;
}
h2 {
--app-font-size: 1.6rem;
--app-font-size: 1.4rem;
--app-line-height: 1.15;
--app-typography-spacing-top: 2.625rem;
}
@@ -179,7 +187,7 @@ table td .grid-actions [role="button"] {
color: var(--app-muted-color);
border: 1px solid var(--app-border);
font-size: small;
background: var(--app-form-element-active-background-color);
background: var(--app-form-element-background-color);
box-shadow: var(--app-group-box-shadow);
}
@@ -364,12 +372,51 @@ section {
padding-right: 0;
padding-left: 0;
}
h1 {
--app-font-size: 1.7rem;
}
h2 {
--app-font-size: 1.6rem;
}
h3 {
--app-font-size: 1.3rem;
}
h4 {
--app-font-size: 1.2rem;
}
h5 {
--app-font-size: 1.1rem;
}
h6 {
--app-font-size: 1rem;
}
}
@media (min-width: 768px) {
.container {
max-width: 700px;
}
.app-container.is-sidebar-hidden:has(.aside-icon-bar):has(.app-sidebar) {
display: grid;
min-height: 100dvh;
align-items: flex-start;
grid-template-columns: minmax(0, 60px) minmax(0, 1fr);
}
.sidebar-hidden .app-container:has(.aside-icon-bar):has(.app-sidebar) {
grid-template-columns: minmax(0, 60px) minmax(0, 1fr);
}
.app-container:has(.aside-icon-bar):has(.app-sidebar) {
display: grid;
min-height: 100dvh;
@@ -380,15 +427,15 @@ section {
display: grid;
min-height: 100dvh;
align-items: flex-start;
grid-template-columns: minmax(0, 60px) minmax(0, 1fr);
grid-template-columns: minmax(0, 60px) minmax(0, 220px) minmax(0, 1fr);
}
.app-container.is-sidebar-collapsed {
grid-template-columns: minmax(0, 60px) minmax(0, 1fr);
grid-template-columns: minmax(0, 60px) minmax(0, 220px) minmax(0, 1fr);
}
.sidebar-collapsed .app-container {
grid-template-columns: minmax(0, 60px) minmax(0, 1fr);
grid-template-columns: minmax(0, 60px) minmax(0, 220px) minmax(0, 1fr);
}
.app-main {
@@ -404,6 +451,8 @@ section {
.app-main-content:has(.app-details-container) {
margin-bottom: 0;
padding: 0;
position: relative;
z-index: 1;
}
}
@@ -634,7 +683,6 @@ mark {
vertical-align: baseline;
}
abbr[title] {
border-bottom: 1px dotted;
text-decoration: none;
@@ -665,7 +713,7 @@ del {
--app-underline: var(--app-primary-underline);
outline: 0;
background-color: var(--app-background-color);
color: var(--app-color);
color: cornflowerblue;
-webkit-text-decoration: var(--app-text-decoration);
text-decoration: var(--app-text-decoration);
text-decoration-color: var(--app-underline);
@@ -2323,6 +2371,8 @@ details.dropdown > summary + ul li {
padding: calc(var(--app-form-element-spacing-vertical) * 0.5)
var(--app-form-element-spacing-horizontal);
list-style: none;
text-align: left;
border-bottom: 1px solid var(--app-accordion-border-color);
}
details.dropdown > summary + ul li:first-of-type {
@@ -2331,6 +2381,7 @@ details.dropdown > summary + ul li:first-of-type {
details.dropdown > summary + ul li:last-of-type {
margin-bottom: calc(var(--app-form-element-spacing-vertical) * 0.5);
border-bottom: 0;
}
details.dropdown > summary + ul li a {

View File

@@ -1,5 +1,16 @@
.app-sidebar {
background: var(--app-sidebar-background-color);
--app-sidebar-gap: 0.5rem;
--app-sidebar-item-gap: 10px;
--app-sidebar-title-size: 10px;
--app-sidebar-summary-size: 12px;
--app-sidebar-tenant-size: 14px;
--app-sidebar-titlebar-height: 30px;
--app-sidebar-border-width: 2px;
--app-sidebar-summary-max-width: 157px;
--app-sidebar-section-gap: 2rem;
--app-sidebar-section-space: 5px;
--app-sidebar-hover-bg: transparent;
}
.app-sidebar .brand {
@@ -7,13 +18,17 @@
}
.app-sidebar-titlebar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
padding: 0px var(--app-spacing) 0px var(--app-spacing);
margin-bottom: 0;
min-height: 30px;
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--app-sidebar-gap);
padding: 0 var(--app-spacing);
margin-bottom: 0;
min-height: var(--app-sidebar-titlebar-height);
}
.aside-pending .app-sidebar-titlebar {
visibility: hidden;
}
.app-sidebar .app-sidebar-panel {
@@ -24,57 +39,62 @@
display: none !important;
}
.app-sidebar.is-collapsed {
display: none;
}
.sidebar-collapsed .app-sidebar {
.app-sidebar.is-collapsed .app-sidebar-panels,
.app-sidebar.is-collapsed .app-sidebar-titlebar,
.sidebar-collapsed .app-sidebar .app-sidebar-titlebar,
.sidebar-collapsed .app-sidebar .app-sidebar-panels {
display: none;
}
.app-sidebar-tenant-logo {
display: flex;
align-items: center;
justify-content: space-between;
gap: 5px;
padding: var(--app-spacing) var(--app-spacing) 10px var(--app-spacing);
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--app-sidebar-gap);
padding: var(--app-spacing);
}
.app-sidebar .app-sidebar-tenant-logo a:hover {
background: transparent;
border: 0;
background: transparent;
border: 0;
}
.app-sidebar .app-sidebar-tenant-logo > a {
padding: 0;
flex: 1;
border: 0;
padding: 0;
flex: 1;
border: 0;
}
.app-sidebar-tenant-toggle {
display: none;
border: 1px solid var(--app-border);
background: transparent;
margin: 0;
}
.app-sidebar-tenant-toggle:hover {
color: var(--app-contrast);
border-color: var(--app-contrast);
}
.app-sidebar-tenant-name {
flex: 1;
font-weight: 600;
font-size: 14px;
color: var(--app-contrast);
padding: 8px 12px;
border-radius: var(--app-border-radius);
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
border: 1px solid var(--app-border);
flex: 1;
font-weight: 600;
font-size: var(--app-sidebar-tenant-size);
color: var(--app-contrast);
padding: 8px 12px;
border-radius: var(--app-border-radius);
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
border: 1px solid var(--app-border);
}
.app-sidebar-title {
text-transform: uppercase;
font-size: 10px;
font-size: var(--app-sidebar-title-size);
color: var(--app-muted-color);
display: none;
}
.app-sidebar-tools {
@@ -102,6 +122,7 @@
margin-bottom: 1rem;
padding-block-start: 0.5rem;
}
.app-sidebar-title {
display: block;
}
@@ -113,38 +134,60 @@
}
}
.app-sidebar a {
color: inherit;
display: flex;
@media (max-width: 767px) {
.app-sidebar-tenant-toggle {
display: inline-flex;
align-items: center;
gap: 10px;
text-decoration: none;
padding: 5px var(--app-spacing);
border-radius: 0;
margin: 0;
border-left: 2px solid transparent;
width: 100%;
justify-content: center;
}
.app-sidebar-tenant-logo img {
max-width: 120px;
flex-shrink: 0;
}
.app-sidebar {
border-bottom: 1px solid var(--app-border);
}
.app-sidebar-panels {
padding-block-end: var(--app-spacing);
}
}
.app-sidebar a {
color: inherit;
display: flex;
align-items: center;
gap: var(--app-sidebar-item-gap);
text-decoration: none;
padding: 5px var(--app-spacing);
border-radius: 0;
margin: 0;
border-left: var(--app-sidebar-border-width) solid transparent;
width: 100%;
}
.app-sidebar a:hover,
.app-sidebar .active {
.app-sidebar a.active,
.app-sidebar .active > a {
color: var(--app-primary);
--app-background-color: inherit;
background: var(--app-background-color);
border-left: 2px solid var(--app-primary);
background: var(--app-sidebar-hover-bg);
border-left: var(--app-sidebar-border-width) solid var(--app-primary);
}
aside.app-sidebar ul {
aside.app-sidebar ul,
aside.app-sidebar li {
margin: 0;
padding: 0;
list-style: none;
}
.app-sidebar small {
margin-top: 2rem;
margin-bottom: 5px;
margin-top: var(--app-sidebar-section-gap);
margin-bottom: var(--app-sidebar-section-space);
display: block;
padding-inline: var(--app-spacing);
opacity: 0.7;
}
.app-sidebar .app-sidebar-group small {
margin-top: 0;
margin-bottom: 0;
@@ -153,29 +196,20 @@ aside.app-sidebar ul {
opacity: 1;
}
.app-sidebar li {
padding-block: 0;
padding: 0;
}
.app-sidebar .app-sidebar-group {
list-style: none;
}
.app-sidebar .app-sidebar-group details {
padding: 0;
margin: 0;
}
.app-sidebar .app-sidebar-group summary {
padding: 0 var(--app-spacing);
font-size: 12px;
color: var(--app-muted-color);
line-height: 1;
padding: 0 var(--app-spacing);
font-size: var(--app-sidebar-summary-size);
color: var(--app-muted-color);
line-height: 1;
}
nav#aside-panel-people {
margin-top: var(--app-spacing);
margin-top: var(--app-spacing);
}
.app-sidebar .app-sidebar-group summary::-webkit-details-marker {
@@ -188,21 +222,17 @@ nav#aside-panel-people {
}
.app-sidebar .app-sidebar-group summary > span {
text-overflow: ellipsis;
display: inline-block;
max-width: 157px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: inline-block;
max-width: var(--app-sidebar-summary-max-width);
overflow: hidden;
white-space: nowrap;
}
.app-sidebar .app-sidebar-group details > ul li:first-child {
margin-top: 10px;
margin-top: 10px;
}
.app-sidebar .app-sidebar-group details > ul li a {
padding-block: 2px;
opacity: .7;
.app-sidebar .app-sidebar-group > small {
padding-inline: var(--app-spacing);
}
.app-sidebar .app-sidebar-group details > ul li a:hover {
opacity: 1;
}

View File

@@ -1,29 +1,35 @@
.app-header nav li {
padding: 0;
}
form:has(input#app-search) {
flex: 1;
}
.app-header nav {
gap: var(--app-spacing);
}
.app-header {
--app-topbar-item-padding: 5px;
--app-topbar-list-gap: 8px;
--app-topbar-divider: 1px solid var(--app-border);
--app-topbar-margin-bottom: calc(var(--app-spacing) * 2);
--app-topbar-muted: var(--app-form-element-placeholder-color);
--app-topbar-bg: var(--app-background-color);
padding-block-start: 0;
padding-left: var(--app-spacing);
padding-right: var(--app-spacing);
margin-bottom: calc(var(--app-spacing) * 2);
margin-bottom: var(--app-topbar-margin-bottom);
color: var(--app-contrast);
border-bottom: 1px solid var(--app-border);
border-bottom: var(--app-topbar-divider);
}
main:has(.app-details-container) .app-header {
margin-bottom: 0;
}
li:has(#toggle-main-content-aside) {
.app-header nav {
gap: var(--app-spacing);
}
.app-header nav li {
padding: 0;
}
.app-header form:has(input#app-search) {
flex: 1;
}
.app-header li:has(#toggle-main-content-aside) {
display: none;
}
@@ -33,7 +39,7 @@ main:has(#app-details-aside-section) li:has(#toggle-main-content-aside) {
.app-header nav > ul {
display: flex;
gap: 8px;
gap: var(--app-topbar-list-gap);
align-items: center;
color: var(--app-muted-color);
}
@@ -41,7 +47,7 @@ main:has(#app-details-aside-section) li:has(#toggle-main-content-aside) {
.app-header details.dropdown > summary:not([role]) {
border: none;
height: auto;
padding: 5px;
padding: var(--app-topbar-item-padding);
border-radius: 0;
background: transparent;
}
@@ -51,15 +57,15 @@ main:has(#app-details-aside-section) li:has(#toggle-main-content-aside) {
}
.app-header nav > ul li a {
padding: 5px;
color: var(--app-form-element-placeholder-color);
padding: var(--app-topbar-item-padding);
color: var(--app-topbar-muted);
display: block;
margin: 0;
}
.app-header button {
padding: 5px;
color: var(--app-form-element-placeholder-color);
padding: var(--app-topbar-item-padding);
color: var(--app-topbar-muted);
display: block;
margin: 0;
background: transparent;
@@ -77,11 +83,11 @@ main:has(#app-details-aside-section) li:has(#toggle-main-content-aside) {
header.app-header {
position: sticky;
top: 0;
background: var(--app-background-color);
background: var(--app-topbar-bg);
z-index: 10;
}
}
.app-header details.dropdown[open] > summary::before {
display: none;
}
}