RSS Git Download  Clone
Raw Blame History 3kB 93 lines
@use "../../scss/vars" as v;

// ---------------------------------------------------------------------------
// Global bottom console drawer
//
// Mounts at app-shell level (LayoutComponent), sibling of <router-outlet>.
// No wrapper chrome — the ConsoleComponent's own toolbar acts as the header.
// When closed, height is 0 so the open/close transition animates smoothly.
// When open, 30vh just above the footer toolbar.
// ---------------------------------------------------------------------------

:root {
    --p3xr-console-drawer-height: 30vh;
}

#p3xr-console-drawer {
    position: fixed;
    left: 5px;
    right: calc(5px + var(--p3xr-scroll-gutter, 0px));
    bottom: var(--p3xr-layout-footer-height, 48px);
    height: 0;
    overflow: hidden;
    background: var(--p3xr-content-bg, var(--mat-app-background-color));
    color: var(--mat-app-text-color, inherit);
    border: 0 solid var(--p3xr-accordion-bg);
    border-radius: 4px 4px 0 0;
    z-index: 8;
    transition: height 150ms ease-out;
    display: flex;
    flex-direction: column;

    &.p3xr-drawer-open {
        height: var(--p3xr-console-drawer-height);
        border-width: 1px;
    }
}

#p3xr-console-drawer-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    position: relative;

    // The embedded console component must fill the body
    p3xr-console {
        display: block;
        height: 100%;
        width: 100%;
    }
}

.p3xr-console-drawer-empty {
    padding: 16px 20px;
    font-size: 13px;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    gap: 6px;

    .p3xr-console-drawer-empty-row {
        white-space: pre-wrap;
    }

    .p3xr-console-drawer-empty-title {
        font-size: 15px;
        font-weight: 500;
        margin-bottom: 4px;
    }

    .p3xr-console-drawer-empty-hint {
        opacity: 0.7;
        font-size: 12px;
    }
}

// ---------------------------------------------------------------------------
// Footer Console button reuses the header's .p3xr-nav-active style when the
// drawer is open — no custom styling needed here.
// ---------------------------------------------------------------------------
// Page content padding when drawer is open
//
// When the drawer is open, page content must not disappear behind it.
// LayoutComponent toggles a class on the <html> root; pages read the value.
// ---------------------------------------------------------------------------

html.p3xr-console-drawer-open {
    --p3xr-console-drawer-height-active: var(--p3xr-console-drawer-height);
}

html:not(.p3xr-console-drawer-open) {
    --p3xr-console-drawer-height-active: 0px;
}