forked from fa/breadcrumb-the-shire
baseline
This commit is contained in:
713
web/css/base/variables.css
Normal file
713
web/css/base/variables.css
Normal file
@@ -0,0 +1,713 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
:host,
|
||||
:root {
|
||||
--app-font-family-emoji:
|
||||
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
--app-font-family-sans-serif:
|
||||
system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial,
|
||||
"Helvetica Neue", sans-serif, var(--app-font-family-emoji);
|
||||
--app-font-family-monospace:
|
||||
ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono",
|
||||
monospace, var(--app-font-family-emoji);
|
||||
--app-font-family: var(--app-font-family-sans-serif);
|
||||
--app-line-height: 1.5;
|
||||
--app-font-weight: 400;
|
||||
--app-font-size: 100%;
|
||||
--app-text-underline-offset: 0.1rem;
|
||||
--app-border-radius: 0.5rem;
|
||||
--app-border-width: 0.0625rem;
|
||||
--app-outline-width: 0.125rem;
|
||||
--app-transition: 0.2s ease-in-out;
|
||||
--app-spacing: 1rem;
|
||||
--app-typography-spacing-vertical: 1rem;
|
||||
--app-block-spacing-vertical: 1.5rem;
|
||||
--app-block-spacing-horizontal: 1.5rem;
|
||||
--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-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(
|
||||
var(--app-form-element-spacing-vertical) * 0.3
|
||||
);
|
||||
--app-button-padding-horizontal-small: calc(
|
||||
var(--app-form-element-spacing-horizontal) * 0.5
|
||||
);
|
||||
--app-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-group-box-shadow-focus-with-button: 0 0 0 var(--app-outline-width)
|
||||
var(--app-primary-focus);
|
||||
--app-group-box-shadow-focus-with-input: 0 0 0 0.0625rem
|
||||
var(--app-form-element-border-color);
|
||||
--app-modal-overlay-backdrop-filter: blur(0.375rem);
|
||||
--app-nav-element-spacing-vertical: 1rem;
|
||||
--app-nav-element-spacing-horizontal: 0.5rem;
|
||||
--app-nav-link-spacing-vertical: 0.5rem;
|
||||
--app-nav-link-spacing-horizontal: 0.5rem;
|
||||
--app-nav-breadcrumb-divider: ">";
|
||||
--app-primary-h-base: 180.75;
|
||||
--app-primary-s-base: 37.38%;
|
||||
--app-primary-l-base: 58.04%;
|
||||
--app-secondary-h-base: 223;
|
||||
--app-secondary-s-base: 19%;
|
||||
--app-secondary-l-base: 45%;
|
||||
--app-badge-background-color: coral;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
:host,
|
||||
:root {
|
||||
--app-icon-checkbox: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
||||
--app-icon-minus: 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(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
|
||||
--app-icon-chevron: 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(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
|
||||
--app-icon-date: 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(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
|
||||
--app-icon-time: 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(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
|
||||
--app-icon-search: 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(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
|
||||
--app-icon-close: 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(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
|
||||
--app-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
:host,
|
||||
:root {
|
||||
--app-font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
:host,
|
||||
:root {
|
||||
--app-font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
:host,
|
||||
:root {
|
||||
--app-font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1280px) {
|
||||
:host,
|
||||
:root {
|
||||
--app-font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1536px) {
|
||||
:host,
|
||||
:root {
|
||||
--app-font-size: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
:host(:not([data-theme="dark"])),
|
||||
:root:not([data-theme="dark"]),
|
||||
[data-theme="light"] {
|
||||
color-scheme: light;
|
||||
--app-background-color: #fff;
|
||||
--app-sidebar-background-color: rgb(247 250 252);
|
||||
--app-color: #373c44;
|
||||
--app-text-selection-color: rgba(2, 154, 232, 0.25);
|
||||
--app-muted-color: #646b79;
|
||||
--app-muted-border-color: rgb(231, 234, 239.5);
|
||||
--app-primary-h-light: 180.75;
|
||||
--app-primary-s-light: 37.38%;
|
||||
--app-primary-l-light: 58.04%;
|
||||
--app-primary-h: var(--app-primary-h-light, var(--app-primary-h-base));
|
||||
--app-primary-s: var(--app-primary-s-light, var(--app-primary-s-base));
|
||||
--app-primary-l: var(--app-primary-l-light, var(--app-primary-l-base));
|
||||
--app-primary-l-hover: -7%;
|
||||
--app-primary-l-hover-bg: -4%;
|
||||
--app-primary-l-focus: 16%;
|
||||
--app-primary: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s) var(--app-primary-l)
|
||||
);
|
||||
--app-primary-background: var(--app-primary);
|
||||
--app-primary-border: var(--app-primary-background);
|
||||
--app-primary-underline: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s) var(--app-primary-l) / 0.5
|
||||
);
|
||||
--app-primary-hover: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-hover))
|
||||
);
|
||||
--app-primary-hover-background: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-hover-bg))
|
||||
);
|
||||
--app-primary-hover-border: var(--app-primary-hover-background);
|
||||
--app-primary-hover-underline: var(--app-primary-hover);
|
||||
--app-primary-focus: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-focus)) / 0.5
|
||||
);
|
||||
--app-primary-inverse: #fff;
|
||||
--app-secondary-h-light: 223;
|
||||
--app-secondary-s-light: 19%;
|
||||
--app-secondary-l-light: 45%;
|
||||
--app-secondary-h: var(--app-secondary-h-light, var(--app-secondary-h-base));
|
||||
--app-secondary-s: var(--app-secondary-s-light, var(--app-secondary-s-base));
|
||||
--app-secondary-l: var(--app-secondary-l-light, var(--app-secondary-l-base));
|
||||
--app-secondary-l-hover: -6%;
|
||||
--app-secondary-l-hover-bg: -6%;
|
||||
--app-secondary-l-focus: 0%;
|
||||
--app-secondary: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l)
|
||||
);
|
||||
--app-secondary-background: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) - 4%)
|
||||
);
|
||||
--app-secondary-border: var(--app-secondary-background);
|
||||
--app-secondary-underline: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l) / 0.5
|
||||
);
|
||||
--app-secondary-hover: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) + var(--app-secondary-l-hover))
|
||||
);
|
||||
--app-secondary-hover-background: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) + var(--app-secondary-l-hover-bg))
|
||||
);
|
||||
--app-secondary-hover-border: var(--app-secondary-hover-background);
|
||||
--app-secondary-hover-underline: var(--app-secondary-hover);
|
||||
--app-secondary-focus: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l) / 0.25
|
||||
);
|
||||
--app-secondary-inverse: #fff;
|
||||
--app-contrast: #181c25;
|
||||
--app-contrast-background: #181c25;
|
||||
--app-contrast-border: var(--app-contrast-background);
|
||||
--app-contrast-underline: rgba(24, 28, 37, 0.5);
|
||||
--app-contrast-hover: #000;
|
||||
--app-contrast-hover-background: #000;
|
||||
--app-contrast-hover-border: var(--app-contrast-hover-background);
|
||||
--app-contrast-hover-underline: var(--app-secondary-hover);
|
||||
--app-contrast-focus: rgba(93, 107, 137, 0.25);
|
||||
--app-contrast-inverse: #fff;
|
||||
--app-box-shadow:
|
||||
0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698),
|
||||
0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024),
|
||||
0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03),
|
||||
0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036),
|
||||
0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302),
|
||||
0.5rem 1rem 6rem rgba(129, 145, 181, 0.06),
|
||||
0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
|
||||
--app-h1-color: #2d3138;
|
||||
--app-h2-color: #373c44;
|
||||
--app-h3-color: #424751;
|
||||
--app-h4-color: #4d535e;
|
||||
--app-h5-color: #5c6370;
|
||||
--app-h6-color: #646b79;
|
||||
--app-mark-background-color: rgb(252.5, 230.5, 191.5);
|
||||
--app-mark-color: #0f1114;
|
||||
--app-ins-color: rgb(28.5, 105.5, 84);
|
||||
--app-del-color: rgb(136, 56.5, 53);
|
||||
--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);
|
||||
--app-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-table-border-color: var(--app-muted-border-color);
|
||||
--app-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
|
||||
--app-code-background-color: rgb(243, 244.5, 246.75);
|
||||
--app-code-color: #646b79;
|
||||
--app-code-kbd-background-color: var(--app-color);
|
||||
--app-code-kbd-color: var(--app-background-color);
|
||||
--app-form-element-background-color: rgb(251, 251.5, 252.25);
|
||||
--app-form-element-selected-background-color: #dfe3eb;
|
||||
--app-form-element-border-color: #cfd5e2;
|
||||
--app-border: var(--app-form-element-border-color);
|
||||
--app-form-element-color: #23262c;
|
||||
--app-form-element-placeholder-color: var(--app-muted-color);
|
||||
--app-form-element-active-background-color: #fff;
|
||||
--app-form-element-active-border-color: var(--app-primary-border);
|
||||
--app-form-element-focus-color: var(--app-primary-border);
|
||||
--app-form-element-disabled-opacity: 0.5;
|
||||
--app-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
|
||||
--app-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
|
||||
--app-form-element-invalid-focus-color: var(
|
||||
--app-form-element-invalid-active-border-color
|
||||
);
|
||||
--app-form-element-valid-border-color: rgb(76, 154.5, 137.5);
|
||||
--app-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
|
||||
--app-form-element-valid-focus-color: var(
|
||||
--app-form-element-valid-active-border-color
|
||||
);
|
||||
--app-notice-success-color: var(--app-form-element-valid-border-color);
|
||||
--app-notice-success-border-color: var(--app-form-element-valid-border-color);
|
||||
--app-notice-success-background-color: rgba(76, 154.5, 137.5, 0.12);
|
||||
--app-notice-warning-color: rgb(173, 113, 34);
|
||||
--app-notice-warning-border-color: rgb(214, 145, 55);
|
||||
--app-notice-warning-background-color: rgba(214, 145, 55, 0.12);
|
||||
--app-notice-info-color: var(--app-secondary);
|
||||
--app-notice-info-border-color: var(--app-secondary);
|
||||
--app-notice-info-background-color: rgba(96.9, 110.5, 137.7, 0.12);
|
||||
--app-notice-error-color: var(--app-form-element-invalid-border-color);
|
||||
--app-notice-error-border-color: var(--app-form-element-invalid-border-color);
|
||||
--app-notice-error-background-color: rgb(255 0 0 / 13%);
|
||||
--app-switch-background-color: #bfc7d9;
|
||||
--app-switch-checked-background-color: var(--app-primary-background);
|
||||
--app-switch-color: #fff;
|
||||
--app-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-range-border-color: #dfe3eb;
|
||||
--app-range-active-border-color: #bfc7d9;
|
||||
--app-range-thumb-border-color: var(--app-background-color);
|
||||
--app-range-thumb-color: var(--app-secondary-background);
|
||||
--app-range-thumb-active-color: var(--app-primary-background);
|
||||
--app-accordion-border-color: var(--app-muted-border-color);
|
||||
--app-accordion-active-summary-color: var(--app-primary-hover);
|
||||
--app-accordion-close-summary-color: var(--app-color);
|
||||
--app-accordion-open-summary-color: var(--app-muted-color);
|
||||
--app-card-background-color: var(--app-background-color);
|
||||
--app-card-border-color: var(--app-muted-border-color);
|
||||
--app-card-box-shadow: var(--app-box-shadow);
|
||||
--app-card-sectioning-background-color: rgb(251, 251.5, 252.25);
|
||||
--app-dropdown-background-color: #fff;
|
||||
--app-dropdown-border-color: #eff1f4;
|
||||
--app-dropdown-box-shadow: var(--app-box-shadow);
|
||||
--app-dropdown-color: var(--app-color);
|
||||
--app-dropdown-hover-background-color: #eff1f4;
|
||||
--app-loading-spinner-opacity: 0.5;
|
||||
--app-modal-overlay-background-color: rgba(232, 234, 237, 0.75);
|
||||
--app-progress-background-color: #dfe3eb;
|
||||
--app-progress-color: var(--app-primary-background);
|
||||
--app-tooltip-background-color: var(--app-contrast-background);
|
||||
--app-tooltip-color: var(--app-contrast-inverse);
|
||||
--app-icon-valid: 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(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
||||
--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"]))
|
||||
input:is(
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="checkbox"],
|
||||
[type="radio"],
|
||||
[type="file"]
|
||||
),
|
||||
:root:not([data-theme="dark"])
|
||||
input:is(
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="checkbox"],
|
||||
[type="radio"],
|
||||
[type="file"]
|
||||
),
|
||||
[data-theme="light"]
|
||||
input:is(
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="checkbox"],
|
||||
[type="radio"],
|
||||
[type="file"]
|
||||
) {
|
||||
--app-form-element-focus-color: var(--app-primary-focus);
|
||||
}
|
||||
|
||||
@media only screen and (prefers-color-scheme: dark) {
|
||||
:host(:not([data-theme])),
|
||||
:root:not([data-theme]) {
|
||||
color-scheme: dark;
|
||||
--app-background-color: rgb(19, 22.5, 30.5);
|
||||
--app-sidebar-background-color: rgb(18 20 27);
|
||||
--app-color: #c2c7d0;
|
||||
--app-text-selection-color: rgba(1, 170, 255, 0.1875);
|
||||
--app-muted-color: #7b8495;
|
||||
--app-muted-border-color: #202632;
|
||||
--app-primary-h-dark: var(--app-primary-h-light, var(--app-primary-h-base));
|
||||
--app-primary-s-dark: var(--app-primary-s-light, var(--app-primary-s-base));
|
||||
--app-primary-l-dark: var(--app-primary-l-light, var(--app-primary-l-base));
|
||||
--app-primary-h: var(--app-primary-h-dark, var(--app-primary-h-base));
|
||||
--app-primary-s: var(--app-primary-s-dark, var(--app-primary-s-base));
|
||||
--app-primary-l: var(--app-primary-l-dark, var(--app-primary-l-base));
|
||||
--app-primary-l-hover: -7%;
|
||||
--app-primary-l-hover-bg: -4%;
|
||||
--app-primary-l-focus: 16%;
|
||||
--app-primary: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s) var(--app-primary-l)
|
||||
);
|
||||
--app-primary-background: var(--app-primary);
|
||||
--app-primary-border: var(--app-primary-background);
|
||||
--app-primary-underline: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s) var(--app-primary-l) / 0.5
|
||||
);
|
||||
--app-primary-hover: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-hover))
|
||||
);
|
||||
--app-primary-hover-background: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-hover-bg))
|
||||
);
|
||||
--app-primary-hover-border: var(--app-primary-hover-background);
|
||||
--app-primary-hover-underline: var(--app-primary-hover);
|
||||
--app-primary-focus: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-focus)) / 0.5
|
||||
);
|
||||
--app-primary-inverse: #fff;
|
||||
--app-secondary-h-dark: var(
|
||||
--app-secondary-h-light,
|
||||
var(--app-secondary-h-base)
|
||||
);
|
||||
--app-secondary-s-dark: var(
|
||||
--app-secondary-s-light,
|
||||
var(--app-secondary-s-base)
|
||||
);
|
||||
--app-secondary-l-dark: var(
|
||||
--app-secondary-l-light,
|
||||
var(--app-secondary-l-base)
|
||||
);
|
||||
--app-secondary-h: var(--app-secondary-h-dark, var(--app-secondary-h-base));
|
||||
--app-secondary-s: var(--app-secondary-s-dark, var(--app-secondary-s-base));
|
||||
--app-secondary-l: var(--app-secondary-l-dark, var(--app-secondary-l-base));
|
||||
--app-secondary-l-hover: -6%;
|
||||
--app-secondary-l-hover-bg: -6%;
|
||||
--app-secondary-l-focus: 0%;
|
||||
--app-secondary: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l)
|
||||
);
|
||||
--app-secondary-background: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) - 4%)
|
||||
);
|
||||
--app-secondary-border: var(--app-secondary-background);
|
||||
--app-secondary-underline: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l) / 0.5
|
||||
);
|
||||
--app-secondary-hover: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) + var(--app-secondary-l-hover))
|
||||
);
|
||||
--app-secondary-hover-background: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) + var(--app-secondary-l-hover-bg))
|
||||
);
|
||||
--app-secondary-hover-border: var(--app-secondary-hover-background);
|
||||
--app-secondary-hover-underline: var(--app-secondary-hover);
|
||||
--app-secondary-focus: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l) /
|
||||
0.25
|
||||
);
|
||||
--app-secondary-inverse: #fff;
|
||||
--app-contrast: #dfe3eb;
|
||||
--app-contrast-background: #eff1f4;
|
||||
--app-contrast-border: var(--app-contrast-background);
|
||||
--app-contrast-underline: rgba(223, 227, 235, 0.5);
|
||||
--app-contrast-hover: #fff;
|
||||
--app-contrast-hover-background: #fff;
|
||||
--app-contrast-hover-border: var(--app-contrast-hover-background);
|
||||
--app-contrast-hover-underline: var(--app-contrast-hover);
|
||||
--app-contrast-focus: rgba(207, 213, 226, 0.25);
|
||||
--app-contrast-inverse: #000;
|
||||
--app-box-shadow:
|
||||
0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),
|
||||
0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),
|
||||
0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),
|
||||
0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),
|
||||
0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),
|
||||
0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),
|
||||
0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
|
||||
--app-h1-color: #f0f1f3;
|
||||
--app-h2-color: #e0e3e7;
|
||||
--app-h3-color: #c2c7d0;
|
||||
--app-h4-color: #b3b9c5;
|
||||
--app-h5-color: #a4acba;
|
||||
--app-h6-color: #8891a4;
|
||||
--app-mark-background-color: #014063;
|
||||
--app-mark-color: #fff;
|
||||
--app-ins-color: #62af9a;
|
||||
--app-del-color: rgb(205.5, 126, 123);
|
||||
--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);
|
||||
--app-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-table-border-color: var(--app-muted-border-color);
|
||||
--app-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
|
||||
--app-code-background-color: rgb(26, 30.5, 40.25);
|
||||
--app-code-color: #8891a4;
|
||||
--app-code-kbd-background-color: var(--app-color);
|
||||
--app-code-kbd-color: var(--app-background-color);
|
||||
--app-form-element-background-color: rgb(28, 33, 43.5);
|
||||
--app-form-element-selected-background-color: #2a3140;
|
||||
--app-form-element-border-color: #2a3140;
|
||||
--app-border: var(--app-form-element-border-color);
|
||||
--app-form-element-color: #e0e3e7;
|
||||
--app-form-element-placeholder-color: #8891a4;
|
||||
--app-form-element-active-background-color: rgb(26, 30.5, 40.25);
|
||||
--app-form-element-active-border-color: var(--app-primary-border);
|
||||
--app-form-element-focus-color: var(--app-primary-border);
|
||||
--app-form-element-disabled-opacity: 0.5;
|
||||
--app-form-element-invalid-border-color: rgb(149.5, 74, 80);
|
||||
--app-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
|
||||
--app-form-element-invalid-focus-color: var(
|
||||
--app-form-element-invalid-active-border-color
|
||||
);
|
||||
--app-form-element-valid-border-color: #2a7b6f;
|
||||
--app-form-element-valid-active-border-color: rgb(22, 137, 105.5);
|
||||
--app-form-element-valid-focus-color: var(
|
||||
--app-form-element-valid-active-border-color
|
||||
);
|
||||
--app-switch-background-color: #333c4e;
|
||||
--app-switch-checked-background-color: var(--app-primary-background);
|
||||
--app-switch-color: #fff;
|
||||
--app-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-range-border-color: #202632;
|
||||
--app-range-active-border-color: #2a3140;
|
||||
--app-range-thumb-border-color: var(--app-background-color);
|
||||
--app-range-thumb-color: var(--app-secondary-background);
|
||||
--app-range-thumb-active-color: var(--app-primary-background);
|
||||
--app-accordion-border-color: var(--app-muted-border-color);
|
||||
--app-accordion-active-summary-color: var(--app-primary-hover);
|
||||
--app-accordion-close-summary-color: var(--app-color);
|
||||
--app-accordion-open-summary-color: var(--app-muted-color);
|
||||
--app-card-background-color: #181c25;
|
||||
--app-card-border-color: var(--app-card-background-color);
|
||||
--app-card-box-shadow: var(--app-box-shadow);
|
||||
--app-card-sectioning-background-color: rgb(26, 30.5, 40.25);
|
||||
--app-dropdown-background-color: #181c25;
|
||||
--app-dropdown-border-color: #202632;
|
||||
--app-dropdown-box-shadow: var(--app-box-shadow);
|
||||
--app-dropdown-color: var(--app-color);
|
||||
--app-dropdown-hover-background-color: #202632;
|
||||
--app-loading-spinner-opacity: 0.5;
|
||||
--app-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
|
||||
--app-progress-background-color: #202632;
|
||||
--app-progress-color: var(--app-primary-background);
|
||||
--app-tooltip-background-color: var(--app-contrast-background);
|
||||
--app-tooltip-color: var(--app-contrast-inverse);
|
||||
--app-icon-valid: 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(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
||||
--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");
|
||||
}
|
||||
|
||||
:host(:not([data-theme]))
|
||||
input:is(
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="checkbox"],
|
||||
[type="radio"],
|
||||
[type="file"]
|
||||
),
|
||||
:root:not([data-theme])
|
||||
input:is(
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="checkbox"],
|
||||
[type="radio"],
|
||||
[type="file"]
|
||||
) {
|
||||
--app-form-element-focus-color: var(--app-primary-focus);
|
||||
}
|
||||
}
|
||||
|
||||
[data-theme="dark"] {
|
||||
color-scheme: dark;
|
||||
--app-background-color: rgb(19, 22.5, 30.5);
|
||||
--app-sidebar-background-color: rgb(18 20 27);
|
||||
--app-color: #c2c7d0;
|
||||
--app-text-selection-color: rgba(1, 170, 255, 0.1875);
|
||||
--app-muted-color: #7b8495;
|
||||
--app-muted-border-color: #202632;
|
||||
--app-primary-h-dark: var(--app-primary-h-light, var(--app-primary-h-base));
|
||||
--app-primary-s-dark: var(--app-primary-s-light, var(--app-primary-s-base));
|
||||
--app-primary-l-dark: var(--app-primary-l-light, var(--app-primary-l-base));
|
||||
--app-primary-h: var(--app-primary-h-dark, var(--app-primary-h-base));
|
||||
--app-primary-s: var(--app-primary-s-dark, var(--app-primary-s-base));
|
||||
--app-primary-l: var(--app-primary-l-dark, var(--app-primary-l-base));
|
||||
--app-primary-l-hover: -7%;
|
||||
--app-primary-l-hover-bg: -4%;
|
||||
--app-primary-l-focus: 16%;
|
||||
--app-primary: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s) var(--app-primary-l)
|
||||
);
|
||||
--app-primary-background: var(--app-primary);
|
||||
--app-primary-border: var(--app-primary-background);
|
||||
--app-primary-underline: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s) var(--app-primary-l) / 0.5
|
||||
);
|
||||
--app-primary-hover: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-hover))
|
||||
);
|
||||
--app-primary-hover-background: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-hover-bg))
|
||||
);
|
||||
--app-primary-hover-border: var(--app-primary-hover-background);
|
||||
--app-primary-hover-underline: var(--app-primary-hover);
|
||||
--app-primary-focus: hsl(
|
||||
var(--app-primary-h) var(--app-primary-s)
|
||||
calc(var(--app-primary-l) + var(--app-primary-l-focus)) / 0.5
|
||||
);
|
||||
--app-primary-inverse: #fff;
|
||||
--app-secondary-h-dark: var(
|
||||
--app-secondary-h-light,
|
||||
var(--app-secondary-h-base)
|
||||
);
|
||||
--app-secondary-s-dark: var(
|
||||
--app-secondary-s-light,
|
||||
var(--app-secondary-s-base)
|
||||
);
|
||||
--app-secondary-l-dark: var(
|
||||
--app-secondary-l-light,
|
||||
var(--app-secondary-l-base)
|
||||
);
|
||||
--app-secondary-h: var(--app-secondary-h-dark, var(--app-secondary-h-base));
|
||||
--app-secondary-s: var(--app-secondary-s-dark, var(--app-secondary-s-base));
|
||||
--app-secondary-l: var(--app-secondary-l-dark, var(--app-secondary-l-base));
|
||||
--app-secondary-l-hover: -6%;
|
||||
--app-secondary-l-hover-bg: -6%;
|
||||
--app-secondary-l-focus: 0%;
|
||||
--app-secondary: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l)
|
||||
);
|
||||
--app-secondary-background: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) - 4%)
|
||||
);
|
||||
--app-secondary-border: var(--app-secondary-background);
|
||||
--app-secondary-underline: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l) / 0.5
|
||||
);
|
||||
--app-secondary-hover: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) + var(--app-secondary-l-hover))
|
||||
);
|
||||
--app-secondary-hover-background: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s)
|
||||
calc(var(--app-secondary-l) + var(--app-secondary-l-hover-bg))
|
||||
);
|
||||
--app-secondary-hover-border: var(--app-secondary-hover-background);
|
||||
--app-secondary-hover-underline: var(--app-secondary-hover);
|
||||
--app-secondary-focus: hsl(
|
||||
var(--app-secondary-h) var(--app-secondary-s) var(--app-secondary-l) / 0.25
|
||||
);
|
||||
--app-secondary-inverse: #fff;
|
||||
--app-contrast: #dfe3eb;
|
||||
--app-contrast-background: #eff1f4;
|
||||
--app-contrast-border: var(--app-contrast-background);
|
||||
--app-contrast-underline: rgba(223, 227, 235, 0.5);
|
||||
--app-contrast-hover: #fff;
|
||||
--app-contrast-hover-background: #fff;
|
||||
--app-contrast-hover-border: var(--app-contrast-hover-background);
|
||||
--app-contrast-hover-underline: var(--app-contrast-hover);
|
||||
--app-contrast-focus: rgba(207, 213, 226, 0.25);
|
||||
--app-contrast-inverse: #000;
|
||||
--app-box-shadow:
|
||||
0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),
|
||||
0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),
|
||||
0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),
|
||||
0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),
|
||||
0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),
|
||||
0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),
|
||||
0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
|
||||
--app-h1-color: #f0f1f3;
|
||||
--app-h2-color: #e0e3e7;
|
||||
--app-h3-color: #c2c7d0;
|
||||
--app-h4-color: #b3b9c5;
|
||||
--app-h5-color: #a4acba;
|
||||
--app-h6-color: #8891a4;
|
||||
--app-mark-background-color: #014063;
|
||||
--app-mark-color: #fff;
|
||||
--app-ins-color: #62af9a;
|
||||
--app-del-color: rgb(205.5, 126, 123);
|
||||
--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);
|
||||
--app-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-table-border-color: var(--app-muted-border-color);
|
||||
--app-table-row-stripped-background-color: rgba(111, 120, 135, 0.0375);
|
||||
--app-code-background-color: rgb(26, 30.5, 40.25);
|
||||
--app-code-color: #8891a4;
|
||||
--app-code-kbd-background-color: var(--app-color);
|
||||
--app-code-kbd-color: var(--app-background-color);
|
||||
--app-form-element-background-color: rgb(28, 33, 43.5);
|
||||
--app-form-element-selected-background-color: #2a3140;
|
||||
--app-form-element-border-color: #2a3140;
|
||||
--app-border: var(--app-form-element-border-color);
|
||||
--app-form-element-color: #e0e3e7;
|
||||
--app-form-element-placeholder-color: #8891a4;
|
||||
--app-form-element-active-background-color: rgb(26, 30.5, 40.25);
|
||||
--app-form-element-active-border-color: var(--app-primary-border);
|
||||
--app-form-element-focus-color: var(--app-primary-border);
|
||||
--app-form-element-disabled-opacity: 0.5;
|
||||
--app-form-element-invalid-border-color: rgb(149.5, 74, 80);
|
||||
--app-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
|
||||
--app-form-element-invalid-focus-color: var(
|
||||
--app-form-element-invalid-active-border-color
|
||||
);
|
||||
--app-form-element-valid-border-color: #2a7b6f;
|
||||
--app-form-element-valid-active-border-color: rgb(22, 137, 105.5);
|
||||
--app-form-element-valid-focus-color: var(
|
||||
--app-form-element-valid-active-border-color
|
||||
);
|
||||
--app-notice-success-color: var(--app-form-element-valid-border-color);
|
||||
--app-notice-success-border-color: var(--app-form-element-valid-border-color);
|
||||
--app-notice-success-background-color: rgba(42, 123, 111, 0.2);
|
||||
--app-notice-warning-color: rgb(199, 140, 61);
|
||||
--app-notice-warning-border-color: rgb(199, 140, 61);
|
||||
--app-notice-warning-background-color: rgba(199, 140, 61, 0.2);
|
||||
--app-notice-info-color: var(--app-secondary);
|
||||
--app-notice-info-border-color: var(--app-secondary);
|
||||
--app-notice-info-background-color: rgba(114.4, 130.1, 165.1, 0.2);
|
||||
--app-notice-error-color: var(--app-form-element-invalid-border-color);
|
||||
--app-notice-error-border-color: var(--app-form-element-invalid-border-color);
|
||||
--app-notice-error-background-color: rgba(149.5, 74, 80, 0.2);
|
||||
--app-switch-background-color: #333c4e;
|
||||
--app-switch-checked-background-color: var(--app-primary-background);
|
||||
--app-switch-color: #fff;
|
||||
--app-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
||||
--app-range-border-color: #202632;
|
||||
--app-range-active-border-color: #2a3140;
|
||||
--app-range-thumb-border-color: var(--app-background-color);
|
||||
--app-range-thumb-color: var(--app-secondary-background);
|
||||
--app-range-thumb-active-color: var(--app-primary-background);
|
||||
--app-accordion-border-color: var(--app-muted-border-color);
|
||||
--app-accordion-active-summary-color: var(--app-primary-hover);
|
||||
--app-accordion-close-summary-color: var(--app-color);
|
||||
--app-accordion-open-summary-color: var(--app-muted-color);
|
||||
--app-card-background-color: #181c25;
|
||||
--app-card-border-color: var(--app-card-background-color);
|
||||
--app-card-box-shadow: var(--app-box-shadow);
|
||||
--app-card-sectioning-background-color: rgb(26, 30.5, 40.25);
|
||||
--app-dropdown-background-color: #181c25;
|
||||
--app-dropdown-border-color: #202632;
|
||||
--app-dropdown-box-shadow: var(--app-box-shadow);
|
||||
--app-dropdown-color: var(--app-color);
|
||||
--app-dropdown-hover-background-color: #202632;
|
||||
--app-loading-spinner-opacity: 0.5;
|
||||
--app-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75);
|
||||
--app-progress-background-color: #202632;
|
||||
--app-progress-color: var(--app-primary-background);
|
||||
--app-tooltip-background-color: var(--app-contrast-background);
|
||||
--app-tooltip-color: var(--app-contrast-inverse);
|
||||
--app-icon-valid: 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(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
||||
--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"]
|
||||
input:is(
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="checkbox"],
|
||||
[type="radio"],
|
||||
[type="file"]
|
||||
) {
|
||||
--app-form-element-focus-color: var(--app-primary-focus);
|
||||
}
|
||||
|
||||
:host,
|
||||
:root {
|
||||
--app-scrollbar-width: 0px;
|
||||
}
|
||||
127
web/css/components/app-badges.css
Normal file
127
web/css/components/app-badges.css
Normal file
@@ -0,0 +1,127 @@
|
||||
: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;
|
||||
align-items: center;
|
||||
gap: 0.35em;
|
||||
padding: 0.15em 0.6em;
|
||||
border-radius: 999px;
|
||||
font-size: 0.85em;
|
||||
font-weight: 400;
|
||||
line-height: 1.2;
|
||||
border: 1px solid transparent;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.badge[data-copy="true"] {
|
||||
gap: 0.45em;
|
||||
padding-right: 0.4em;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.badge .badge-copy-icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: inherit;
|
||||
line-height: 1;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.badge .badge-copy-icon .bi {
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
.badge .badge-copy-icon .bi-check2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.badge.is-copied .badge-copy-icon .bi-copy {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.badge.is-copied .badge-copy-icon .bi-check2 {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.badge[data-copy="true"]:focus-visible {
|
||||
outline: 2px solid currentColor;
|
||||
outline-offset: 2px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.badge[data-variant="success"] {
|
||||
background: var(--badge-success-bg);
|
||||
color: var(--badge-success-color);
|
||||
border-color: var(--badge-success-border);
|
||||
}
|
||||
|
||||
.badge[data-variant="danger"] {
|
||||
background: var(--badge-danger-bg);
|
||||
color: var(--badge-danger-color);
|
||||
border-color: var(--badge-danger-border);
|
||||
}
|
||||
|
||||
.badge[data-variant="info"] {
|
||||
background: var(--badge-info-bg);
|
||||
color: var(--badge-info-color);
|
||||
border-color: var(--badge-info-border);
|
||||
}
|
||||
|
||||
.badge[data-variant="warn"] {
|
||||
background: var(--badge-warn-bg);
|
||||
color: var(--badge-warn-color);
|
||||
border-color: var(--badge-warn-border);
|
||||
}
|
||||
.badge[data-variant="warning"] {
|
||||
background: var(--badge-warn-bg);
|
||||
color: var(--badge-warn-color);
|
||||
border-color: var(--badge-warn-border);
|
||||
}
|
||||
|
||||
.badge[data-variant="neutral"] {
|
||||
background: var(--badge-neutral-bg);
|
||||
color: var(--badge-neutral-color);
|
||||
border-color: var(--badge-neutral-border);
|
||||
}
|
||||
|
||||
.badge-list {
|
||||
display: flex;
|
||||
gap: 0.35rem;
|
||||
}
|
||||
66
web/css/components/app-blockquote.css
Normal file
66
web/css/components/app-blockquote.css
Normal file
@@ -0,0 +1,66 @@
|
||||
:root {
|
||||
--app-blockquote-background-color: var(
|
||||
--app-form-element-active-background-color
|
||||
);
|
||||
}
|
||||
|
||||
blockquote {
|
||||
--blockquote-bg: var(--app-blockquote-background-color);
|
||||
--blockquote-color: inherit;
|
||||
--blockquote-border: var(--app-blockquote-border-color);
|
||||
--blockquote-footer-color: var(--app-blockquote-footer-color);
|
||||
|
||||
display: block;
|
||||
margin: var(--app-typography-spacing-vertical) 0;
|
||||
padding: var(--app-spacing);
|
||||
border-right: none;
|
||||
border-left: 0.25rem solid var(--app-blockquote-border-color);
|
||||
border-inline-start: 0.25rem solid var(--app-blockquote-border-color);
|
||||
border-inline-end: none;
|
||||
background-color: var(--blockquote-bg);
|
||||
color: var(--blockquote-color);
|
||||
border-left-color: var(--blockquote-border);
|
||||
border-inline-start-color: var(--blockquote-border);
|
||||
border-radius: var(--app-border-radius);
|
||||
}
|
||||
|
||||
blockquote footer {
|
||||
margin-top: calc(var(--app-typography-spacing-vertical) * 0.5);
|
||||
color: var(--blockquote-footer-color);
|
||||
}
|
||||
|
||||
blockquote[data-variant="success"] {
|
||||
--blockquote-bg: var(--badge-success-bg);
|
||||
--blockquote-color: var(--badge-success-color);
|
||||
--blockquote-border: var(--badge-success-border);
|
||||
--blockquote-footer-color: var(--badge-success-color);
|
||||
}
|
||||
|
||||
blockquote[data-variant="danger"] {
|
||||
--blockquote-bg: var(--badge-danger-bg);
|
||||
--blockquote-color: var(--badge-danger-color);
|
||||
--blockquote-border: var(--badge-danger-border);
|
||||
--blockquote-footer-color: var(--badge-danger-color);
|
||||
}
|
||||
|
||||
blockquote[data-variant="info"] {
|
||||
--blockquote-bg: var(--badge-info-bg);
|
||||
--blockquote-color: var(--badge-info-color);
|
||||
--blockquote-border: var(--badge-info-border);
|
||||
--blockquote-footer-color: var(--badge-info-color);
|
||||
}
|
||||
|
||||
blockquote[data-variant="warn"],
|
||||
blockquote[data-variant="warning"] {
|
||||
--blockquote-bg: var(--badge-warn-bg);
|
||||
--blockquote-color: var(--badge-warn-color);
|
||||
--blockquote-border: var(--badge-warn-border);
|
||||
--blockquote-footer-color: var(--badge-warn-color);
|
||||
}
|
||||
|
||||
blockquote[data-variant="neutral"] {
|
||||
--blockquote-bg: var(--badge-neutral-bg);
|
||||
--blockquote-color: var(--badge-neutral-color);
|
||||
--blockquote-border: var(--badge-neutral-border);
|
||||
--blockquote-footer-color: var(--badge-neutral-color);
|
||||
}
|
||||
31
web/css/components/app-brand.css
Normal file
31
web/css/components/app-brand.css
Normal file
@@ -0,0 +1,31 @@
|
||||
.brand {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
img.brand-logo {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
object-fit: contain;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.brand-name {
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
color: var(--app-contrast);
|
||||
}
|
||||
|
||||
.brand-info {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.brand-slogan {
|
||||
font-size: 0.85em;
|
||||
color: var(--app-muted-color);
|
||||
}
|
||||
|
||||
.badge:empty {
|
||||
padding: 0;
|
||||
}
|
||||
12
web/css/components/app-breadcrumb.css
Normal file
12
web/css/components/app-breadcrumb.css
Normal file
@@ -0,0 +1,12 @@
|
||||
.app-breadcrumb {
|
||||
margin-bottom: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.app-breadcrumb a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
44
web/css/components/app-buttons.css
Normal file
44
web/css/components/app-buttons.css
Normal file
@@ -0,0 +1,44 @@
|
||||
.danger:is(button, [type="submit"], [type="button"], [role="button"]) {
|
||||
--app-background-color: var(--app-notice-error-border-color);
|
||||
--app-border-color: var(--app-notice-error-border-color);
|
||||
--app-color: var(--app-secondary-inverse);
|
||||
}
|
||||
|
||||
.danger:is(button, [type="submit"], [type="button"], [role="button"]):is(
|
||||
[aria-current]:not([aria-current="false"]),
|
||||
:hover,
|
||||
:active,
|
||||
:focus
|
||||
) {
|
||||
--app-background-color: var(--app-form-element-invalid-active-border-color);
|
||||
--app-border-color: var(--app-form-element-invalid-active-border-color);
|
||||
--app-color: var(--app-secondary-inverse);
|
||||
}
|
||||
|
||||
.danger:is(button, [type="submit"], [type="button"], [role="button"]).outline {
|
||||
--app-background-color: transparent;
|
||||
--app-border-color: var(--app-notice-error-border-color);
|
||||
--app-color: var(--app-notice-error-border-color);
|
||||
}
|
||||
|
||||
.danger:is(
|
||||
button,
|
||||
[type="submit"],
|
||||
[type="button"],
|
||||
[role="button"]
|
||||
).outline:is(
|
||||
[aria-current]:not([aria-current="false"]),
|
||||
:hover,
|
||||
:active,
|
||||
:focus
|
||||
) {
|
||||
--app-background-color: var(--app-notice-error-background-color);
|
||||
--app-border-color: var(--app-notice-error-border-color);
|
||||
--app-color: var(--app-notice-error-border-color);
|
||||
}
|
||||
|
||||
.danger:is(button, [type="submit"], [type="button"], [role="button"]):focus {
|
||||
--app-box-shadow:
|
||||
var(--app-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),
|
||||
0 0 0 var(--app-outline-width) var(--app-form-element-invalid-focus-color);
|
||||
}
|
||||
55
web/css/components/app-dashboard-titlebar.css
Normal file
55
web/css/components/app-dashboard-titlebar.css
Normal file
@@ -0,0 +1,55 @@
|
||||
.app-dashboard-titlebar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-block-end: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-dashboard-titlebar h1,
|
||||
.app-dashboard-titlebar h2,
|
||||
.app-dashboard-titlebar h3,
|
||||
.app-dashboard-titlebar h4,
|
||||
.app-dashboard-titlebar h5,
|
||||
.app-dashboard-titlebar h6 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-dashboard-titlebar button,
|
||||
.app-dashboard-titlebar [role="button"] {
|
||||
--app-button-padding-horizontal: 10px;
|
||||
--app-button-padding-vertical: 6px;
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-dashboard-titlebar-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.app-dashboard-titlebar h1 i {
|
||||
background: var(--app-muted-border-color);
|
||||
width: 35px;
|
||||
height: 29px;
|
||||
font-size: 15px;
|
||||
border-radius: var(--app-border-radius);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--app-contrast);
|
||||
}
|
||||
|
||||
.app-dashboard-titlebar h1:has(i) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 7px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.app-dashboard-titlebar h1 a:hover i {
|
||||
background: var(--app-border);
|
||||
}
|
||||
87
web/css/components/app-details-titlebar.css
Normal file
87
web/css/components/app-details-titlebar.css
Normal file
@@ -0,0 +1,87 @@
|
||||
.app-details-titlebar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
border-bottom: 1px solid var(--app-border);
|
||||
padding-block-end: var(--app-spacing);
|
||||
margin-bottom: calc(var(--app-spacing) * 2);
|
||||
}
|
||||
|
||||
.app-details-titlebar h1,
|
||||
.app-details-titlebar h2,
|
||||
.app-details-titlebar h3,
|
||||
.app-details-titlebar h4,
|
||||
.app-details-titlebar h5,
|
||||
.app-details-titlebar h6 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-details-titlebar button,
|
||||
.app-details-titlebar [role="button"] {
|
||||
--app-button-padding-horizontal: 10px;
|
||||
--app-button-padding-vertical: 6px;
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-details-titlebar-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.app-details-titlebar h1 i {
|
||||
background: var(--app-background-color);
|
||||
width: 35px;
|
||||
height: 29px;
|
||||
font-size: 15px;
|
||||
border-radius: var(--app-border-radius);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--app-contrast);
|
||||
border: 1px solid var(--app-border);
|
||||
color: var(--app-muted-color);
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px;
|
||||
}
|
||||
|
||||
.app-details-titlebar h1:has(i) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 7px;
|
||||
line-height: 1;
|
||||
}
|
||||
.app-details-titlebar details.dropdown {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.app-details-titlebar details.dropdown summary:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.app-details-titlebar details.dropdown li {
|
||||
padding: 0!important;
|
||||
margin: 0!important;
|
||||
border-bottom: 1px solid var(--app-border);
|
||||
}
|
||||
|
||||
.app-details-titlebar details.dropdown li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.app-details-titlebar details.dropdown ul {
|
||||
padding: 0!important;
|
||||
margin: 0!important;
|
||||
}
|
||||
|
||||
.app-details-titlebar details.dropdown li button,
|
||||
.app-details-titlebar details.dropdown li [role=button] {
|
||||
margin: 0!important;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
137
web/css/components/app-details.css
Normal file
137
web/css/components/app-details.css
Normal file
@@ -0,0 +1,137 @@
|
||||
.app-details-container aside {
|
||||
padding-top: var(--app-spacing);
|
||||
}
|
||||
|
||||
.user-avatar-block,
|
||||
.entity-avatar-block {
|
||||
--avatar-size: 96px;
|
||||
--avatar-ratio: 1 / 1;
|
||||
display: grid;
|
||||
gap: calc(var(--app-spacing) * 0.75);
|
||||
margin-bottom: calc(var(--app-spacing) * 1.25);
|
||||
width: var(--avatar-size);
|
||||
aspect-ratio: var(--avatar-ratio);
|
||||
}
|
||||
|
||||
.user-avatar-image,
|
||||
.user-avatar-placeholder,
|
||||
.entity-avatar-image,
|
||||
.entity-avatar-placeholder {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid var(--app-muted-border-color);
|
||||
background: var(--app-card-background-color);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-weight: 600;
|
||||
color: var(--app-muted-color);
|
||||
}
|
||||
|
||||
.user-avatar-placeholder,
|
||||
.entity-avatar-placeholder {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.user-avatar-image {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.entity-avatar-image {
|
||||
object-fit: contain;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.avatar-round .user-avatar-image,
|
||||
.avatar-round .user-avatar-placeholder,
|
||||
.avatar-round .entity-avatar-image,
|
||||
.avatar-round .entity-avatar-placeholder {
|
||||
border-radius: 999px;
|
||||
aspect-ratio: 1;
|
||||
}
|
||||
|
||||
.avatar-square .user-avatar-image,
|
||||
.avatar-square .user-avatar-placeholder,
|
||||
.avatar-square .entity-avatar-image,
|
||||
.avatar-square .entity-avatar-placeholder {
|
||||
border-radius: var(--app-radius);
|
||||
}
|
||||
|
||||
.avatar-ratio-1-1 {
|
||||
--avatar-ratio: 1 / 1;
|
||||
}
|
||||
|
||||
.avatar-ratio-3-2 {
|
||||
--avatar-ratio: 3 / 2;
|
||||
}
|
||||
|
||||
.avatar-ratio-4-3 {
|
||||
--avatar-ratio: 4 / 3;
|
||||
}
|
||||
|
||||
.avatar-ratio-16-9 {
|
||||
--avatar-ratio: 16 / 9;
|
||||
}
|
||||
|
||||
.avatar-borderless .user-avatar-image,
|
||||
.avatar-borderless .user-avatar-placeholder,
|
||||
.avatar-borderless .entity-avatar-image,
|
||||
.avatar-borderless .entity-avatar-placeholder {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.avatar-size-auto {
|
||||
width: auto;
|
||||
aspect-ratio: auto;
|
||||
}
|
||||
|
||||
.avatar-size-auto .user-avatar-image,
|
||||
.avatar-size-auto .user-avatar-placeholder,
|
||||
.avatar-size-auto .entity-avatar-image,
|
||||
.avatar-size-auto .entity-avatar-placeholder {
|
||||
width: auto;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.app-details-container > section > * {
|
||||
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);
|
||||
}
|
||||
|
||||
.app-details-container .app-details-titlebar {
|
||||
position: sticky;
|
||||
top: 69px;
|
||||
background: var(--app-background-color);
|
||||
}
|
||||
|
||||
@media (min-width: 968px) {
|
||||
/* .app-details-container > section {
|
||||
padding: calc(var(--app-spacing) * 2) calc(var(--app-spacing) * 2)
|
||||
calc(var(--app-spacing) * 2) calc(var(--app-spacing) * 0);
|
||||
} */
|
||||
.app-details-container:has(aside) {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 2fr) minmax(0, 300px);
|
||||
min-height: 82vh;
|
||||
}
|
||||
.app-details-container.is-aside-collapsed {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
.app-details-container.is-aside-collapsed aside {
|
||||
display: none;
|
||||
}
|
||||
.app-details-container aside {
|
||||
border-left: 1px solid var(--app-border);
|
||||
padding: calc(var(--app-spacing) * 2);
|
||||
border-top: none;
|
||||
min-height: 100vh;
|
||||
}
|
||||
}
|
||||
119
web/css/components/app-flash.css
Normal file
119
web/css/components/app-flash.css
Normal file
@@ -0,0 +1,119 @@
|
||||
.notice {
|
||||
--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);
|
||||
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);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--app-spacing);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: var(--app-notice-border-color);
|
||||
}
|
||||
|
||||
#async-messages .notice {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
padding-right: 5px;
|
||||
padding-left: 15px;
|
||||
margin-bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 5px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
color: var(--app-notice-border-color);
|
||||
}
|
||||
|
||||
|
||||
.notice strong {
|
||||
color: var(--app-notice-accent-color);
|
||||
}
|
||||
|
||||
.notice[data-variant=success] {
|
||||
--app-notice-border-color: var(--app-notice-success-border-color);
|
||||
--app-notice-background-color: var(--app-notice-success-background-color);
|
||||
--app-notice-accent-color: var(--app-notice-success-color);
|
||||
}
|
||||
|
||||
.notice[data-variant=warning] {
|
||||
--app-notice-border-color: var(--app-notice-warning-border-color);
|
||||
--app-notice-background-color: var(--app-notice-warning-background-color);
|
||||
--app-notice-accent-color: var(--app-notice-warning-color);
|
||||
}
|
||||
|
||||
.notice[data-variant=info] {
|
||||
--app-notice-border-color: var(--app-notice-info-border-color);
|
||||
--app-notice-background-color: var(--app-notice-info-background-color);
|
||||
--app-notice-accent-color: var(--app-notice-info-color);
|
||||
}
|
||||
|
||||
.notice[data-variant=error] {
|
||||
--app-notice-border-color: var(--app-notice-error-border-color);
|
||||
--app-notice-background-color: var(--app-notice-error-background-color);
|
||||
--app-notice-accent-color: var(--app-notice-error-color);
|
||||
}
|
||||
|
||||
.notice.flash-timed::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 3px;
|
||||
width: 100%;
|
||||
background: var(--app-notice-border-color);
|
||||
transform-origin: left;
|
||||
transform: scaleX(0);
|
||||
animation: flash-progress var(--flash-timeout, 4000ms) linear forwards;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.notice.flash-timed:hover::after {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
|
||||
@keyframes flash-progress {
|
||||
from {
|
||||
transform: scaleX(0);
|
||||
}
|
||||
to {
|
||||
transform: scaleX(1);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.notice.flash-timed::after {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
.notice button[type=submit] {
|
||||
border: 1px solid var(--app-notice-border-color) !important;
|
||||
background: var(--app-notice-background-color);
|
||||
color: var(--app-notice-border-color);
|
||||
}
|
||||
|
||||
.notice ul {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.notice li:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-details-errors {
|
||||
padding-block-start: 1rem;
|
||||
}
|
||||
|
||||
.flash-stack:has(.notice) {
|
||||
margin-top: var(--app-spacing);
|
||||
}
|
||||
62
web/css/components/app-forms.css
Normal file
62
web/css/components/app-forms.css
Normal file
@@ -0,0 +1,62 @@
|
||||
.form-hint {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
ul.form-hint-list {
|
||||
margin: 0;
|
||||
padding-left: var(--app-spacing);
|
||||
}
|
||||
|
||||
ul.form-hint-list li {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul.form-hint-list li.is-valid {
|
||||
color: var(--app-form-element-valid-border-color);
|
||||
}
|
||||
|
||||
ul.form-hint-list li.is-invalid {
|
||||
color: var(--app-form-element-invalid-border-color);
|
||||
}
|
||||
|
||||
ul.form-hint-list li.is-valid:after {
|
||||
content: "\F26B";
|
||||
font-family: "Bootstrap-icons";
|
||||
margin-left: 4px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
ul.form-hint-list li.is-invalid:after {
|
||||
content: "\F33A";
|
||||
font-family: "Bootstrap-icons";
|
||||
margin-left: 4px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
label:has([type="checkbox"], [type="radio"]) {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
input[type="color"] {
|
||||
padding: 0;
|
||||
width: 42px;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
height: 42px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
label:has(input[type="color"]) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
small.muted {
|
||||
display: block;
|
||||
width: 100%;
|
||||
color: var(--app-muted-color);
|
||||
}
|
||||
|
||||
7
web/css/components/app-list-table.css
Normal file
7
web/css/components/app-list-table.css
Normal file
@@ -0,0 +1,7 @@
|
||||
.app-list-table table {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-list-table {
|
||||
white-space: nowrap;
|
||||
}
|
||||
37
web/css/components/app-list-tabs.css
Normal file
37
web/css/components/app-list-tabs.css
Normal file
@@ -0,0 +1,37 @@
|
||||
: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;
|
||||
margin-bottom: var(--app-spacing);
|
||||
border-bottom: 1px solid var(--list-tabs-border);
|
||||
}
|
||||
|
||||
.app-list-tabs button,
|
||||
.app-list-tabs a {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
padding: 5px 10px 5px 10px;
|
||||
color: var(--list-tabs-muted);
|
||||
cursor: pointer;
|
||||
font-weight: 500;
|
||||
border-bottom: 2px solid transparent;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.app-list-tabs button:hover,
|
||||
.app-list-tabs button:focus-visible,
|
||||
.app-list-tabs a:hover,
|
||||
.app-list-tabs a:focus-visible {
|
||||
color: var(--app-color);
|
||||
}
|
||||
|
||||
.app-list-tabs button.is-active,
|
||||
.app-list-tabs a.is-active {
|
||||
color: var(--app-color);
|
||||
border-color: var(--list-tabs-active);
|
||||
}
|
||||
79
web/css/components/app-list-titlebar.css
Normal file
79
web/css/components/app-list-titlebar.css
Normal file
@@ -0,0 +1,79 @@
|
||||
.app-list-titlebar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-bottom: calc(var(--app-spacing) * 1);
|
||||
}
|
||||
|
||||
.app-list-titlebar h1,
|
||||
.app-list-titlebar h2,
|
||||
.app-list-titlebar h3,
|
||||
.app-list-titlebar h4,
|
||||
.app-list-titlebar h5,
|
||||
.app-list-titlebar h6 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-list-titlebar button,
|
||||
.app-list-titlebar [role="button"] {
|
||||
--app-button-padding-horizontal: 10px;
|
||||
--app-button-padding-vertical: 6px;
|
||||
font-size: 13px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-list-titlebar-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.app-list-titlebar h1 i {
|
||||
background: var(--app-muted-border-color);
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
font-size: 16px;
|
||||
border-radius: var(--app-border-radius);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.app-list-titlebar h1:has(i) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 7px;
|
||||
}
|
||||
|
||||
.app-list-titlebar details.dropdown {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.app-list-titlebar details.dropdown summary:after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.app-list-titlebar details.dropdown li {
|
||||
padding: 0!important;
|
||||
margin: 0!important;
|
||||
border-bottom: 1px solid var(--app-border);
|
||||
}
|
||||
|
||||
.app-list-titlebar details.dropdown li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.app-list-titlebar details.dropdown ul {
|
||||
padding: 0!important;
|
||||
margin: 0!important;
|
||||
}
|
||||
|
||||
.app-list-titlebar details.dropdown li button, .app-list-titlebar details.dropdown li [role=button] {
|
||||
margin: 0 !important;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
69
web/css/components/app-list-toolbar.css
Normal file
69
web/css/components/app-list-toolbar.css
Normal file
@@ -0,0 +1,69 @@
|
||||
.app-list-toolbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-bottom: calc(var(--app-spacing) * 1);
|
||||
}
|
||||
|
||||
.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 > * > * {
|
||||
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(
|
||||
[type="checkbox"],
|
||||
.app-list-toolbar [type="radio"],
|
||||
.app-list-toolbar [type="range"],
|
||||
.app-list-toolbar [type="file"]
|
||||
):is(
|
||||
[type="date"],
|
||||
[type="datetime-local"],
|
||||
[type="month"],
|
||||
[type="time"],
|
||||
[type="week"]
|
||||
) {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.app-list-toolbar > label > span {
|
||||
display: block;
|
||||
font-size: 11px !important;
|
||||
}
|
||||
|
||||
.app-list-toolbar
|
||||
.multi-select
|
||||
.multi-select-header
|
||||
.multi-select-header-placeholder {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.app-list-toolbar .multi-select .multi-select-header, .app-list-toolbar .multi-select .multi-select-option, .app-list-toolbar .multi-select .multi-select-all {
|
||||
min-height: unset;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.app-list-toolbar .multi-select {
|
||||
width: 200px !important;
|
||||
}
|
||||
|
||||
.app-list-toolbar span.multi-select-header-option {
|
||||
background: transparent !important;
|
||||
border: 0 !important;
|
||||
padding: 0 !important;
|
||||
padding-left: 3px !important;
|
||||
font-size: 11px !important;
|
||||
}
|
||||
10
web/css/components/app-page-copy.css
Normal file
10
web/css/components/app-page-copy.css
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
|
||||
.app-page-copy .app-field {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
|
||||
.app-page-copy .app-field [role="group"] {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
74
web/css/components/app-page-editor.css
Normal file
74
web/css/components/app-page-editor.css
Normal file
@@ -0,0 +1,74 @@
|
||||
.app-page-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--app-spacing);
|
||||
margin-bottom: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-page-header > div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-page-header > div > * {
|
||||
margin-bottom: 0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.app-page-header button,
|
||||
.app-page-header input {
|
||||
margin-bottom: 0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.app-page-header h1 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
label.app-field > span {
|
||||
display: block;
|
||||
}
|
||||
|
||||
label.app-field > small {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
.page-editor-actions {
|
||||
margin-top: var(--app-spacing);
|
||||
display: flex;
|
||||
gap: var(--app-spacing);
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.page-editor[data-edit-mode="view"] .page-editor-actions {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.page-editor[data-edit-mode="view"] .ce-toolbar,
|
||||
.page-editor[data-edit-mode="view"] .ce-inline-toolbar,
|
||||
.page-editor[data-edit-mode="view"] .ce-popover {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.ce-block__content, .ce-toolbar__content {
|
||||
max-width: 90%!important;
|
||||
}
|
||||
|
||||
.ce-editorjsColumns_wrapper .ce-toolbar__content,
|
||||
.ce-editorjsColumns_wrapper .ce-block__content {
|
||||
max-width: 100% ! Important;
|
||||
}
|
||||
|
||||
.ce-popover-item[data-item-name="columns"] svg {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.app-details-aside-section button {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
570
web/css/components/app-profile.css
Normal file
570
web/css/components/app-profile.css
Normal file
@@ -0,0 +1,570 @@
|
||||
.app-profile-card {
|
||||
border: 1px solid var(--app-border);
|
||||
background: var(--app-card-background-color);
|
||||
overflow: hidden;
|
||||
border-radius: var(--app-border-radius);
|
||||
margin-bottom: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-profile-header {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
padding: 0 calc(var(--app-spacing) * 1) 0 calc(var(--app-spacing) * 1);
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
margin-top: -42px;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.app-profile-meta h2 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-profile-meta p {
|
||||
margin: 0.25rem 0 0;
|
||||
color: var(--app-muted-color);
|
||||
}
|
||||
|
||||
.app-profile-body {
|
||||
border: 1px solid var(--app-border);
|
||||
background: var(--app-card-background-color);
|
||||
overflow: hidden;
|
||||
border-radius: var(--app-border-radius);
|
||||
margin-bottom: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-profile-body [data-tab-panel] {
|
||||
padding-inline: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-profile-body [data-tab-panel]:not(:has(p)) {
|
||||
padding-block-end: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-profile-table {
|
||||
width: 100%;
|
||||
border: 1px solid var(--app-border);
|
||||
border-radius: var(--app-border-radius);
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
background: transparent;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.app-profile-table th,
|
||||
.app-profile-table td {
|
||||
padding: 0.55rem 0.75rem;
|
||||
background: transparent;
|
||||
border-bottom: 1px solid var(--app-border);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.app-profile-table thead th {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.app-profile-table tr:last-child td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
@keyframes ani-app-profile-banner {
|
||||
0% {
|
||||
--c-0: hsla(212, 0%, 0%, 1);
|
||||
--s-start-0: 14.489998991212337%;
|
||||
--s-end-0: 72%;
|
||||
--y-0: 93%;
|
||||
--x-0: 93%;
|
||||
--c-1: hsla(212, 0%, 0%, 1);
|
||||
--s-start-1: 0%;
|
||||
--s-end-1: 45%;
|
||||
--y-1: 9%;
|
||||
--x-1: 26%;
|
||||
--x-2: 15%;
|
||||
--s-start-2: 2.9253667596993065%;
|
||||
--s-end-2: 22.388851682060018%;
|
||||
--c-2: hsla(257, 91%, 27%, 0.35);
|
||||
--y-2: 79%;
|
||||
--x-3: 40%;
|
||||
--s-start-3: 3.985353824694249%;
|
||||
--s-end-3: 47.580278608924694%;
|
||||
--y-3: 104%;
|
||||
--c-3: hsla(212, 100%, 50%, 0.5);
|
||||
--y-4: 60%;
|
||||
--x-4: 0%;
|
||||
--c-4: hsla(224, 72%, 36%, 1);
|
||||
--s-start-4: 2.391200382592061%;
|
||||
--s-end-4: 29.307684556768592%;
|
||||
--s-start-5: 2.9253667596993065%;
|
||||
--s-end-5: 22.388851682060018%;
|
||||
--y-5: 37%;
|
||||
--c-5: hsla(248, 52%, 24%, 1);
|
||||
--x-5: 92%;
|
||||
--x-6: 101%;
|
||||
--y-6: 16%;
|
||||
--s-start-6: 13.173642363290591%;
|
||||
--s-end-6: 31.747336520355095%;
|
||||
--c-6: hsla(212, 100%, 50%, 0.19);
|
||||
--y-7: 13%;
|
||||
--s-start-7: 1%;
|
||||
--s-end-7: 31%;
|
||||
--x-7: 90%;
|
||||
--c-7: hsla(227, 98%, 53%, 1);
|
||||
--y-8: 56%;
|
||||
--s-start-8: 3.985353824694249%;
|
||||
--s-end-8: 13.103042116379756%;
|
||||
--c-8: hsla(166, 71%, 60%, 0.32);
|
||||
--x-8: 104%;
|
||||
--c-9: hsla(219, 83%, 23%, 0.18);
|
||||
--s-start-9: 18.597054544690312%;
|
||||
--s-end-9: 31%;
|
||||
--x-9: 97%;
|
||||
--y-9: 19%;
|
||||
}
|
||||
|
||||
100% {
|
||||
--c-0: hsla(306, 0%, 0%, 1);
|
||||
--s-start-0: 2.391200382592061%;
|
||||
--s-end-0: 43.902064173373226%;
|
||||
--y-0: 9%;
|
||||
--x-0: 7%;
|
||||
--c-1: hsla(306, 0%, 0%, 1);
|
||||
--s-start-1: 9%;
|
||||
--s-end-1: 54.805582404585024%;
|
||||
--y-1: 93%;
|
||||
--x-1: 96%;
|
||||
--x-2: -2%;
|
||||
--s-start-2: 3%;
|
||||
--s-end-2: 26.722813338714598%;
|
||||
--c-2: hsla(166, 72%, 60%, 1);
|
||||
--y-2: 103%;
|
||||
--x-3: 33%;
|
||||
--s-start-3: 2.391200382592061%;
|
||||
--s-end-3: 32.0689540200964%;
|
||||
--y-3: 82%;
|
||||
--c-3: hsla(180, 100%, 50%, 0.26);
|
||||
--y-4: 81%;
|
||||
--x-4: 37%;
|
||||
--c-4: hsla(212, 88%, 26%, 0.58);
|
||||
--s-start-4: 4.40642490323111%;
|
||||
--s-end-4: 37.23528104246256%;
|
||||
--s-start-5: 3%;
|
||||
--s-end-5: 32.537089799783296%;
|
||||
--y-5: 99%;
|
||||
--c-5: hsla(271, 98%, 53%, 0.31);
|
||||
--x-5: 54%;
|
||||
--x-6: 104%;
|
||||
--y-6: 43%;
|
||||
--s-start-6: 6%;
|
||||
--s-end-6: 42.501105312974815%;
|
||||
--c-6: hsla(262, 100%, 50%, 0.15);
|
||||
--y-7: -16%;
|
||||
--s-start-7: 5%;
|
||||
--s-end-7: 13.10107024898374%;
|
||||
--x-7: 104%;
|
||||
--c-7: hsla(298, 36%, 23%, 1);
|
||||
--y-8: 30%;
|
||||
--s-start-8: 2.391200382592061%;
|
||||
--s-end-8: 27.141813016850573%;
|
||||
--c-8: hsla(180, 100%, 50%, 0.11);
|
||||
--x-8: 97%;
|
||||
--c-9: hsla(219, 83%, 23%, 0.59);
|
||||
--s-start-9: 5%;
|
||||
--s-end-9: 21.32164536610654%;
|
||||
--x-9: 78%;
|
||||
--y-9: 4%;
|
||||
}
|
||||
}
|
||||
|
||||
@property --c-0 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(212, 0%, 0%, 1);
|
||||
}
|
||||
|
||||
@property --s-start-0 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 14.489998991212337%;
|
||||
}
|
||||
|
||||
@property --s-end-0 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 72%;
|
||||
}
|
||||
|
||||
@property --y-0 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 93%;
|
||||
}
|
||||
|
||||
@property --x-0 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 93%;
|
||||
}
|
||||
|
||||
@property --c-1 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(212, 0%, 0%, 1);
|
||||
}
|
||||
|
||||
@property --s-start-1 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 0%;
|
||||
}
|
||||
|
||||
@property --s-end-1 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 45%;
|
||||
}
|
||||
|
||||
@property --y-1 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 9%;
|
||||
}
|
||||
|
||||
@property --x-1 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 26%;
|
||||
}
|
||||
|
||||
@property --x-2 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 15%;
|
||||
}
|
||||
|
||||
@property --s-start-2 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 2.9253667596993065%;
|
||||
}
|
||||
|
||||
@property --s-end-2 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 22.388851682060018%;
|
||||
}
|
||||
|
||||
@property --c-2 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(257, 91%, 27%, 0.35);
|
||||
}
|
||||
|
||||
@property --y-2 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 79%;
|
||||
}
|
||||
|
||||
@property --x-3 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 40%;
|
||||
}
|
||||
|
||||
@property --s-start-3 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 3.985353824694249%;
|
||||
}
|
||||
|
||||
@property --s-end-3 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 47.580278608924694%;
|
||||
}
|
||||
|
||||
@property --y-3 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 104%;
|
||||
}
|
||||
|
||||
@property --c-3 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(212, 100%, 50%, 0.5);
|
||||
}
|
||||
|
||||
@property --y-4 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 60%;
|
||||
}
|
||||
|
||||
@property --x-4 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 0%;
|
||||
}
|
||||
|
||||
@property --c-4 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(224, 72%, 36%, 1);
|
||||
}
|
||||
|
||||
@property --s-start-4 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 2.391200382592061%;
|
||||
}
|
||||
|
||||
@property --s-end-4 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 29.307684556768592%;
|
||||
}
|
||||
|
||||
@property --s-start-5 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 2.9253667596993065%;
|
||||
}
|
||||
|
||||
@property --s-end-5 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 22.388851682060018%;
|
||||
}
|
||||
|
||||
@property --y-5 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 37%;
|
||||
}
|
||||
|
||||
@property --c-5 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(248, 52%, 24%, 1);
|
||||
}
|
||||
|
||||
@property --x-5 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 92%;
|
||||
}
|
||||
|
||||
@property --x-6 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 101%;
|
||||
}
|
||||
|
||||
@property --y-6 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 16%;
|
||||
}
|
||||
|
||||
@property --s-start-6 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 13.173642363290591%;
|
||||
}
|
||||
|
||||
@property --s-end-6 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 31.747336520355095%;
|
||||
}
|
||||
|
||||
@property --c-6 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(212, 100%, 50%, 0.19);
|
||||
}
|
||||
|
||||
@property --y-7 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 13%;
|
||||
}
|
||||
|
||||
@property --s-start-7 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 1%;
|
||||
}
|
||||
|
||||
@property --s-end-7 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 31%;
|
||||
}
|
||||
|
||||
@property --x-7 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 90%;
|
||||
}
|
||||
|
||||
@property --c-7 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(227, 98%, 53%, 1);
|
||||
}
|
||||
|
||||
@property --y-8 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 56%;
|
||||
}
|
||||
|
||||
@property --s-start-8 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 3.985353824694249%;
|
||||
}
|
||||
|
||||
@property --s-end-8 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 13.103042116379756%;
|
||||
}
|
||||
|
||||
@property --c-8 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(166, 71%, 60%, 0.32);
|
||||
}
|
||||
|
||||
@property --x-8 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 104%;
|
||||
}
|
||||
|
||||
@property --c-9 {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: hsla(219, 83%, 23%, 0.18);
|
||||
}
|
||||
|
||||
@property --s-start-9 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 18.597054544690312%;
|
||||
}
|
||||
|
||||
@property --s-end-9 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 31%;
|
||||
}
|
||||
|
||||
@property --x-9 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 97%;
|
||||
}
|
||||
|
||||
@property --y-9 {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 19%;
|
||||
}
|
||||
|
||||
.app-profile-banner {
|
||||
--c-0: hsla(212, 0%, 0%, 1);
|
||||
--y-0: 93%;
|
||||
--x-0: 93%;
|
||||
--c-1: hsla(212, 0%, 0%, 1);
|
||||
--y-1: 9%;
|
||||
--x-1: 26%;
|
||||
--x-2: 15%;
|
||||
--c-2: hsla(257, 91%, 27%, 0.35);
|
||||
--y-2: 79%;
|
||||
--x-3: 40%;
|
||||
--y-3: 104%;
|
||||
--c-3: hsla(212, 100%, 50%, 0.5);
|
||||
--y-4: 60%;
|
||||
--x-4: 0%;
|
||||
--c-4: hsla(224, 72%, 36%, 1);
|
||||
--y-5: 37%;
|
||||
--c-5: hsla(248, 52%, 24%, 1);
|
||||
--x-5: 92%;
|
||||
--x-6: 101%;
|
||||
--y-6: 16%;
|
||||
--c-6: hsla(212, 100%, 50%, 0.19);
|
||||
--y-7: 13%;
|
||||
--x-7: 90%;
|
||||
--c-7: hsla(227, 98%, 53%, 1);
|
||||
--y-8: 56%;
|
||||
--c-8: hsla(166, 71%, 60%, 0.32);
|
||||
--x-8: 104%;
|
||||
--c-9: hsla(219, 83%, 23%, 0.18);
|
||||
--x-9: 97%;
|
||||
--y-9: 19%;
|
||||
background-color: hsla(305, 0%, 0%, 1);
|
||||
background-image:
|
||||
radial-gradient(
|
||||
circle at var(--x-0) var(--y-0),
|
||||
var(--c-0) var(--s-start-0),
|
||||
transparent var(--s-end-0)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-1) var(--y-1),
|
||||
var(--c-1) var(--s-start-1),
|
||||
transparent var(--s-end-1)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-2) var(--y-2),
|
||||
var(--c-2) var(--s-start-2),
|
||||
transparent var(--s-end-2)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-3) var(--y-3),
|
||||
var(--c-3) var(--s-start-3),
|
||||
transparent var(--s-end-3)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-4) var(--y-4),
|
||||
var(--c-4) var(--s-start-4),
|
||||
transparent var(--s-end-4)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-5) var(--y-5),
|
||||
var(--c-5) var(--s-start-5),
|
||||
transparent var(--s-end-5)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-6) var(--y-6),
|
||||
var(--c-6) var(--s-start-6),
|
||||
transparent var(--s-end-6)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-7) var(--y-7),
|
||||
var(--c-7) var(--s-start-7),
|
||||
transparent var(--s-end-7)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-8) var(--y-8),
|
||||
var(--c-8) var(--s-start-8),
|
||||
transparent var(--s-end-8)
|
||||
),
|
||||
radial-gradient(
|
||||
circle at var(--x-9) var(--y-9),
|
||||
var(--c-9) var(--s-start-9),
|
||||
transparent var(--s-end-9)
|
||||
);
|
||||
animation: ani-app-profile-banner 10s linear infinite alternate;
|
||||
background-blend-mode:
|
||||
normal, normal, normal, normal, normal, normal, normal, normal, normal,
|
||||
normal;
|
||||
will-change: transform, opacity;
|
||||
contain: paint;
|
||||
height: 160px;
|
||||
}
|
||||
137
web/css/components/app-search.css
Normal file
137
web/css/components/app-search.css
Normal file
@@ -0,0 +1,137 @@
|
||||
.app-search {
|
||||
padding: 0 var(--app-spacing);
|
||||
}
|
||||
|
||||
ul.app-search-results {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul.app-search-results > li > a {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
ul.app-search-results .badge {
|
||||
font-size: 10px;
|
||||
padding: 1px;
|
||||
min-width: 20px;
|
||||
text-align: center;
|
||||
border-radius: 999px;
|
||||
background: var(--app-accordion-border-color);
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
ul.app-search-preview {
|
||||
position: relative;
|
||||
font-size: 11px;
|
||||
padding: 0 0 0 20px;
|
||||
margin: 6px 0 1.5rem 10px;
|
||||
opacity: 0.75;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
/* Hide preview rows (detail results) */
|
||||
.search-details-hidden ul.app-search-preview {
|
||||
display: none;
|
||||
}
|
||||
ul.app-search-preview::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 9px;
|
||||
top: 2px;
|
||||
bottom: 20px;
|
||||
width: 1px;
|
||||
background: var(--app-border);
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
ul.app-search-preview li {
|
||||
position: relative;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.app-search-preview li::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -11px;
|
||||
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 a {
|
||||
padding-inline: 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
border: none;
|
||||
}
|
||||
|
||||
ul.app-search-preview a:hover {
|
||||
border: none;
|
||||
}
|
||||
|
||||
input#side-search {
|
||||
--app-form-element-spacing-horizontal: 10px;
|
||||
--app-form-element-spacing-vertical: 6px;
|
||||
height: auto;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
ul.app-search-preview:has(li) {
|
||||
margin-bottom: 1rem!important;
|
||||
}
|
||||
|
||||
.search-result-row {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.search-reuslt-title-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.search-result-avatar,
|
||||
.search-result-avatar-placeholder {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid var(--app-border);
|
||||
background: var(--app-card-background-color);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--app-muted-color);
|
||||
flex-shrink: 0;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.search-result-title {
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.search-result-desc {
|
||||
margin: 0;
|
||||
color: var(--app-muted-color);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.search-result-type {
|
||||
color: var(--app-muted-color);
|
||||
font-weight: 600;
|
||||
}
|
||||
53
web/css/components/app-tabs.css
Normal file
53
web/css/components/app-tabs.css
Normal file
@@ -0,0 +1,53 @@
|
||||
:root {
|
||||
--tabs-border: var(--app-border);
|
||||
--tabs-active: var(--app-primary);
|
||||
--tabs-muted: var(--app-muted-color);
|
||||
}
|
||||
|
||||
.app-tabs {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-tabs-nav {
|
||||
display: flex;
|
||||
border-bottom: 1px solid var(--tabs-border);
|
||||
overflow-x: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
padding-block-start: 2px;
|
||||
padding-left: 2px;
|
||||
}
|
||||
|
||||
.app-tabs-nav button,
|
||||
.app-tabs-nav a {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
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;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.app-tabs-nav button:hover,
|
||||
.app-tabs-nav button:focus-visible,
|
||||
.app-tabs-nav a:hover,
|
||||
.app-tabs-nav a:focus-visible {
|
||||
--app-color: inherit;
|
||||
color: var(--app-color) !important;
|
||||
}
|
||||
|
||||
.app-tabs-nav button.is-active,
|
||||
.app-tabs-nav a.is-active {
|
||||
--app-color: inherit;
|
||||
color: var(--app-color) !important;
|
||||
border-color: var(--tabs-active);
|
||||
}
|
||||
|
||||
[data-tab-panel][hidden] {
|
||||
display: none;
|
||||
}
|
||||
111
web/css/components/app-tile.css
Normal file
111
web/css/components/app-tile.css
Normal file
@@ -0,0 +1,111 @@
|
||||
: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);
|
||||
}
|
||||
|
||||
|
||||
.app-stats-table {
|
||||
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;
|
||||
}
|
||||
|
||||
.app-stats-table table {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-stats-table table tr:last-child td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.app-tile {
|
||||
--tile-icon-bg: var(--app-tile-icon-bg);
|
||||
--tile-icon-color: var(--app-tile-icon-color);
|
||||
--tile-count-color: var(--app-tile-count-color);
|
||||
--tile-label-color: var(--app-tile-label-color);
|
||||
--tile-link-color: var(--app-tile-link-color);
|
||||
position: relative;
|
||||
display: block;
|
||||
padding: calc(var(--app-spacing) * 1);
|
||||
border: 1px solid var(--app-tile-border);
|
||||
border-radius: calc(var(--app-border-radius) * 1.1);
|
||||
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);
|
||||
}
|
||||
|
||||
.app-tile:hover {
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.app-tile-icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 10px;
|
||||
background: var(--tile-icon-bg);
|
||||
color: var(--tile-icon-color);
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.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);
|
||||
}
|
||||
|
||||
.app-tile-label {
|
||||
display: block;
|
||||
margin-top: calc(var(--app-spacing) * 1);
|
||||
font-weight: 600;
|
||||
color: var(--tile-label-color);
|
||||
}
|
||||
|
||||
.app-tile-link {
|
||||
position: absolute;
|
||||
right: calc(var(--app-spacing) * 1);
|
||||
bottom: calc(var(--app-spacing) * 1);
|
||||
color: var(--tile-link-color);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.app-tiles {
|
||||
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
||||
}
|
||||
}
|
||||
108
web/css/components/app-tooltips.css
Normal file
108
web/css/components/app-tooltips.css
Normal file
@@ -0,0 +1,108 @@
|
||||
: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;
|
||||
}
|
||||
|
||||
[data-tooltip]::after,
|
||||
[data-tooltip]::before {
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.15s ease, transform 0.15s ease;
|
||||
position: absolute;
|
||||
z-index: 40;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
[data-tooltip]::after {
|
||||
content: attr(data-tooltip);
|
||||
background: var(--tooltip-bg);
|
||||
color: var(--tooltip-color);
|
||||
border: 1px solid var(--tooltip-border);
|
||||
border-radius: var(--tooltip-radius);
|
||||
box-shadow: var(--tooltip-shadow);
|
||||
font-size: 0.75rem;
|
||||
padding: 0.35rem 0.6rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
[data-tooltip]::before {
|
||||
content: '';
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: var(--tooltip-bg);
|
||||
border-left: 1px solid var(--tooltip-border);
|
||||
border-top: 1px solid var(--tooltip-border);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
[data-tooltip]:hover::after,
|
||||
[data-tooltip]:hover::before,
|
||||
[data-tooltip]:focus-visible::after,
|
||||
[data-tooltip]:focus-visible::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
[data-tooltip]::after,
|
||||
[data-tooltip]::before {
|
||||
top: 50%;
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
[data-tooltip]::after {
|
||||
transform: translate(var(--tooltip-offset), -50%);
|
||||
}
|
||||
|
||||
[data-tooltip]::before {
|
||||
transform: translate(calc(var(--tooltip-offset) - 4px), -50%) rotate(45deg);
|
||||
}
|
||||
|
||||
[data-tooltip][data-tooltip-pos="top"]::after,
|
||||
[data-tooltip][data-tooltip-pos="center"]::after {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
top: auto;
|
||||
transform: translate(-50%, calc(-1 * var(--tooltip-offset)));
|
||||
}
|
||||
|
||||
[data-tooltip][data-tooltip-pos="top"]::before,
|
||||
[data-tooltip][data-tooltip-pos="center"]::before {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
top: auto;
|
||||
transform: translate(-50%, calc(-1 * (var(--tooltip-offset) - 2px))) rotate(45deg);
|
||||
}
|
||||
|
||||
[data-tooltip][data-tooltip-pos="bottom"]::after {
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, var(--tooltip-offset));
|
||||
}
|
||||
|
||||
[data-tooltip][data-tooltip-pos="bottom"]::before {
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, calc(var(--tooltip-offset) - 2px)) rotate(45deg);
|
||||
}
|
||||
|
||||
[data-tooltip][data-tooltip-pos="left"]::after {
|
||||
top: 50%;
|
||||
right: 100%;
|
||||
left: auto;
|
||||
transform: translate(calc(-1 * var(--tooltip-offset)), -50%);
|
||||
}
|
||||
|
||||
[data-tooltip][data-tooltip-pos="left"]::before {
|
||||
top: 50%;
|
||||
right: 100%;
|
||||
left: auto;
|
||||
transform: translate(calc(-1 * (var(--tooltip-offset) - 2px)), -50%) rotate(45deg);
|
||||
}
|
||||
74
web/css/components/vendor-editorjs.css
Normal file
74
web/css/components/vendor-editorjs.css
Normal file
@@ -0,0 +1,74 @@
|
||||
.codex-editor {
|
||||
font-family: var(--app-font-family);
|
||||
color: var(--app-color);
|
||||
}
|
||||
|
||||
.ce-block__content {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
.ce-toolbar__content,
|
||||
.ce-inline-toolbar {
|
||||
border-radius: var(--app-border-radius);
|
||||
}
|
||||
|
||||
.ce-inline-toolbar {
|
||||
box-shadow: var(--app-box-shadow);
|
||||
}
|
||||
|
||||
.ce-toolbar__content {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
input.cdx-search-field__input {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
height: auto;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.cdx-search-field__icon {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.ce-popover__items button {
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
padding: inherit;
|
||||
border: 0;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
input.ce-inline-tool-input.ce-inline-tool-input--showed {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
table.tc-table {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.tc-cell {
|
||||
border-left: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.ce-toolbar__actions {
|
||||
right: calc(100% + 10px)!important;
|
||||
background-color: white!important;
|
||||
}
|
||||
|
||||
.ce-block--selected .ce-block__content {
|
||||
background: var(--app-table-row-stripped-background-color);
|
||||
}
|
||||
|
||||
.ce-inline-tool svg {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.ce-popover--inline .ce-popover-item__icon svg {
|
||||
color: black;
|
||||
}
|
||||
207
web/css/components/vendor-gridjs.css
Normal file
207
web/css/components/vendor-gridjs.css
Normal file
@@ -0,0 +1,207 @@
|
||||
.gridjs-container {
|
||||
color: var(--app-color);
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.gridjs-wrapper {
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
background-color: var(--app-background-color);
|
||||
border-top: var(--app-border-width) solid var(--app-table-border-color);
|
||||
padding-block-end: 1rem;
|
||||
min-height: 515px;
|
||||
}
|
||||
|
||||
.gridjs-footer {
|
||||
background-color: var(--app-background-color);
|
||||
border: 0;
|
||||
border-top: 0;
|
||||
box-shadow: none;
|
||||
color: var(--app-muted-color);
|
||||
padding: 1rem 0 0;
|
||||
}
|
||||
|
||||
.gridjs-table {
|
||||
color: var(--app-color);
|
||||
}
|
||||
|
||||
th.gridjs-th {
|
||||
padding: calc(var(--app-spacing) / 2) var(--app-spacing);
|
||||
border: none;
|
||||
border-bottom: var(--app-border-width) solid var(--app-table-border-color);
|
||||
background-color: var(--app-background-color);
|
||||
color: var(--app-color);
|
||||
font-weight: var(--app-font-weight);
|
||||
text-align: left;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
button.gridjs-sort {
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
th.gridjs-th-sort:hover,
|
||||
th.gridjs-th-sort:focus {
|
||||
background-color: var(--app-table-row-stripped-background-color);
|
||||
}
|
||||
|
||||
td.gridjs-td {
|
||||
background-color: var(--app-background-color);
|
||||
border: none;
|
||||
border-color: var(--app-table-border-color);
|
||||
padding: calc(var(--app-spacing) / 2) var(--app-spacing);
|
||||
border-bottom: var(--app-border-width) solid var(--app-table-border-color);
|
||||
background-color: var(--app-background-color);
|
||||
color: var(--app-color);
|
||||
font-weight: var(--app-font-weight);
|
||||
text-align: left;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
.gridjs-search {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.gridjs-search-input {
|
||||
width: min(320px, 100%);
|
||||
}
|
||||
|
||||
input.gridjs-input {
|
||||
background-color: var(--app-background-color);
|
||||
border: var(--app-border-width) solid var(--app-form-element-border-color);
|
||||
border-radius: var(--app-border-radius);
|
||||
color: var(--app-color);
|
||||
font-size: 0.95rem;
|
||||
padding: 0.5rem 0.75rem;
|
||||
}
|
||||
|
||||
input.gridjs-input:focus {
|
||||
border-color: var(--app-primary);
|
||||
box-shadow: 0 0 0 var(--app-outline-width) var(--app-primary-focus);
|
||||
}
|
||||
|
||||
.gridjs-pagination {
|
||||
color: var(--app-muted-color);
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages button {
|
||||
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;
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages button:hover {
|
||||
background-color: var(--app-primary-hover-background);
|
||||
border-color: var(--app-primary-hover-border);
|
||||
color: var(--app-primary-inverse);
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages button:focus {
|
||||
box-shadow: 0 0 0 var(--app-outline-width) var(--app-primary-focus);
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages button.gridjs-currentPage {
|
||||
background-color: var(--app-primary) !important;
|
||||
font-weight: 400;
|
||||
padding: 2px 10px;
|
||||
color: var(--app-secondary-inverse) !important;
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages button:disabled, .gridjs-pagination .gridjs-pages button[disabled] {
|
||||
background-color: var(--app-background-color);
|
||||
color: var(--app-muted-color);
|
||||
cursor: default;
|
||||
padding: 2px 10px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages {
|
||||
display: inline-flex;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.gridjs-loading-bar {
|
||||
background-color: var(--app-background-color);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.grid-avatar {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 999px;
|
||||
border: 1px solid var(--app-muted-border-color);
|
||||
background: var(--app-card-background-color);
|
||||
object-fit: contain;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.grid-avatar-placeholder {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-weight: 600;
|
||||
color: var(--app-muted-color);
|
||||
font-size: 11px;
|
||||
background: var(--app-background-color);
|
||||
}
|
||||
|
||||
.gridjs-loading-bar:after {
|
||||
background-image: linear-gradient(
|
||||
90deg,
|
||||
transparent,
|
||||
var(--app-primary-focus),
|
||||
transparent
|
||||
);
|
||||
}
|
||||
|
||||
/* .gridjs-container:not(.gridjs-has-loaded) .gridjs-message.gridjs-notfound {
|
||||
display: none;
|
||||
} */
|
||||
|
||||
.gridjs-container.gridjs-is-updating .gridjs-message.gridjs-notfound {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.gridjs-pages button {
|
||||
background: var(--app-form-element-background-color) !important;
|
||||
color: var(--app-contrast) !important;
|
||||
}
|
||||
|
||||
.gridjs-summary {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
tr.gridjs-tr {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
tr.gridjs-tr:hover td {
|
||||
background: var(--app-table-row-stripped-background-color);
|
||||
}
|
||||
|
||||
html[data-theme=dark] button.gridjs-sort,
|
||||
html[data-theme=dark] button.gridjs-sort-neutral {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
.gridjs-tbody, td.gridjs-td {
|
||||
background-color: var(--app-background-color)
|
||||
}
|
||||
|
||||
.gridjs-table input[data-grid-select-all] {
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
margin: 0;
|
||||
border-radius: 4px;
|
||||
border-width: .5px;
|
||||
}
|
||||
|
||||
.gridjs-th-content:has(input[data-grid-select-all]) {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.gridjs-pagination .gridjs-pages button:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
130
web/css/components/vendor-multi-select.css
Normal file
130
web/css/components/vendor-multi-select.css
Normal file
@@ -0,0 +1,130 @@
|
||||
|
||||
: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;
|
||||
--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: var(--app-contrast);
|
||||
--text-color: var(--app-muted-color);
|
||||
--text-color-light: var(--app-muted-color);
|
||||
--border-color: var(--app-form-element-border-color);
|
||||
--border-color-light: var(--app-muted-border-color);
|
||||
--input-placeholder: var(--app-form-element-placeholder-color);
|
||||
--input-background: var(--app-form-element-background-color);
|
||||
--input-border: var(--app-form-element-border-color);
|
||||
--input-border-active: var(--app-primary-focus);
|
||||
--input-border-invalid: var(--app-form-element-invalid-border-color);
|
||||
--input-outline-invalid: var(--app-form-element-invalid-active-shadow);
|
||||
--input-color: var(--app-form-element-color);
|
||||
--input-disabled: var(--app-form-element-disabled-background-color);
|
||||
--input-min-height: calc(
|
||||
1rem * var(--app-line-height) + var(--app-form-element-spacing-vertical) *
|
||||
2 + var(--app-border-width) * 2
|
||||
);
|
||||
--options-height: 40dvh;
|
||||
--option-background: var(--badge-neutral-bg);
|
||||
--border-radius: var(--app-border-radius);
|
||||
--icon-size: 12px;
|
||||
--icon-space: 30px;
|
||||
--checkbox-size: 16px;
|
||||
--checkbox-radius: 4px;
|
||||
--checkbox-border: var(--app-form-element-border-color);
|
||||
--checkbox-background: var(--app-form-element-background-color);
|
||||
--checkbox-active: var(--app-form-element-background-color);
|
||||
--checkbox-thickness: 2px;
|
||||
}
|
||||
|
||||
.multi-select
|
||||
.multi-select-options
|
||||
.multi-select-option
|
||||
.multi-select-option-radio,
|
||||
.multi-select
|
||||
.multi-select-options
|
||||
.multi-select-all
|
||||
.multi-select-option-radio {
|
||||
padding: 2px;
|
||||
}
|
||||
.multi-select
|
||||
.multi-select-options
|
||||
.multi-select-option
|
||||
.multi-select-option-radio,
|
||||
.multi-select
|
||||
.multi-select-options
|
||||
.multi-select-all
|
||||
.multi-select-option-radio {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.multi-select {
|
||||
margin-bottom: var(--app-spacing);
|
||||
}
|
||||
|
||||
.multi-select.disabled {
|
||||
opacity: 0.65;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.multi-select.disabled .multi-select-header,
|
||||
.multi-select.disabled .multi-select-options {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.multi-select .multi-select-header {
|
||||
background: var(--app-form-element-background-color);
|
||||
}
|
||||
|
||||
.multi-select .multi-select-options {
|
||||
background: var(--app-form-element-background-color);
|
||||
}
|
||||
|
||||
.multi-select .multi-select-header .multi-select-header-option {
|
||||
border: 1px solid var(--app-border);
|
||||
}
|
||||
|
||||
.multi-select .multi-select-header {
|
||||
padding-left: 7px;
|
||||
}
|
||||
60
web/css/layout/app-aside-icon-bar.css
Normal file
60
web/css/layout/app-aside-icon-bar.css
Normal file
@@ -0,0 +1,60 @@
|
||||
aside.aside-icon-bar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
aside.aside-icon-bar ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
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;
|
||||
text-align: center;
|
||||
color: var(--app-muted-color);
|
||||
border-radius: 0;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-left: 3px 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 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);
|
||||
display: block;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 11;
|
||||
padding-top: var(--app-spacing);
|
||||
}
|
||||
.is-sidebar-collapsed aside.aside-icon-bar {
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
2978
web/css/layout/app-shell.css
Normal file
2978
web/css/layout/app-shell.css
Normal file
File diff suppressed because it is too large
Load Diff
208
web/css/layout/app-sidebar.css
Normal file
208
web/css/layout/app-sidebar.css
Normal file
@@ -0,0 +1,208 @@
|
||||
.app-sidebar {
|
||||
background: var(--app-sidebar-background-color);
|
||||
}
|
||||
|
||||
.app-sidebar .brand {
|
||||
padding: var(--app-spacing);
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-panel {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-panel[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.app-sidebar.is-collapsed {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sidebar-collapsed .app-sidebar {
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
.app-sidebar .app-sidebar-tenant-logo a:hover {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-tenant-logo > a {
|
||||
padding: 0;
|
||||
flex: 1;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.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);
|
||||
}
|
||||
|
||||
.app-sidebar-title {
|
||||
text-transform: uppercase;
|
||||
font-size: 10px;
|
||||
color: var(--app-muted-color);
|
||||
display: none;
|
||||
}
|
||||
|
||||
.app-sidebar-tools {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.35rem;
|
||||
}
|
||||
|
||||
.app-sidebar-tools .icon-button {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: var(--app-muted-color);
|
||||
padding: 0.25rem;
|
||||
font-size: 0.9rem;
|
||||
cursor: pointer;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.app-sidebar-tools .icon-button:hover {
|
||||
color: var(--app-contrast);
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.app-sidebar .brand {
|
||||
margin-bottom: 1rem;
|
||||
padding-block-start: 0.5rem;
|
||||
}
|
||||
.app-sidebar-title {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.app-sidebar {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.app-sidebar a {
|
||||
color: inherit;
|
||||
display: 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%;
|
||||
}
|
||||
|
||||
.app-sidebar a:hover,
|
||||
.app-sidebar .active {
|
||||
color: var(--app-primary);
|
||||
--app-background-color: inherit;
|
||||
background: var(--app-background-color);
|
||||
border-left: 2px solid var(--app-primary);
|
||||
}
|
||||
|
||||
aside.app-sidebar ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-sidebar small {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 5px;
|
||||
display: block;
|
||||
padding-inline: var(--app-spacing);
|
||||
opacity: 0.7;
|
||||
}
|
||||
.app-sidebar .app-sidebar-group small {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
display: block;
|
||||
padding-inline: 0;
|
||||
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;
|
||||
}
|
||||
|
||||
nav#aside-panel-people {
|
||||
margin-top: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-group summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-group details > ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-group summary > span {
|
||||
text-overflow: ellipsis;
|
||||
display: inline-block;
|
||||
max-width: 157px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-group details > ul li:first-child {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.app-sidebar .app-sidebar-group details > ul li a {
|
||||
padding-block: 2px;
|
||||
opacity: .7;
|
||||
}
|
||||
.app-sidebar .app-sidebar-group details > ul li a:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
87
web/css/layout/app-topbar.css
Normal file
87
web/css/layout/app-topbar.css
Normal file
@@ -0,0 +1,87 @@
|
||||
.app-header nav li {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
form:has(input#app-search) {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.app-header nav {
|
||||
gap: var(--app-spacing);
|
||||
}
|
||||
|
||||
.app-header {
|
||||
padding-block-start: 0;
|
||||
padding-left: var(--app-spacing);
|
||||
padding-right: var(--app-spacing);
|
||||
margin-bottom: calc(var(--app-spacing) * 2);
|
||||
color: var(--app-contrast);
|
||||
border-bottom: 1px solid var(--app-border);
|
||||
}
|
||||
|
||||
main:has(.app-details-container) .app-header {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
li:has(#toggle-main-content-aside) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
main:has(#app-details-aside-section) li:has(#toggle-main-content-aside) {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.app-header nav > ul {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
color: var(--app-muted-color);
|
||||
}
|
||||
|
||||
.app-header details.dropdown > summary:not([role]) {
|
||||
border: none;
|
||||
height: auto;
|
||||
padding: 5px;
|
||||
border-radius: 0;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.app-header details.dropdown > summary:not([role]):after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.app-header nav > ul li a {
|
||||
padding: 5px;
|
||||
color: var(--app-form-element-placeholder-color);
|
||||
display: block;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.app-header button {
|
||||
padding: 5px;
|
||||
color: var(--app-form-element-placeholder-color);
|
||||
display: block;
|
||||
margin: 0;
|
||||
background: transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
.app-header #global-back.is-disabled,
|
||||
.app-header #global-forward.is-disabled {
|
||||
opacity: 0.4;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
header.app-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
background: var(--app-background-color);
|
||||
z-index: 10;
|
||||
}
|
||||
}
|
||||
|
||||
.app-header details.dropdown[open] > summary::before {
|
||||
display: none;
|
||||
}
|
||||
10
web/css/pages/app-login.css
Normal file
10
web/css/pages/app-login.css
Normal file
@@ -0,0 +1,10 @@
|
||||
.back_to_login {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
@media (min-width: 600px) {
|
||||
main {
|
||||
min-height: 90vh;
|
||||
place-content: center;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user