perspective-viewer 4.4.0

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
Documentation
/* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 * ┃ ██████ ██████ ██████       █      █      █      █      █ █▄  ▀███ █       ┃
 * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█  ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄  ▀█ █ ▀▀▀▀▀ ┃
 * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄   █ ▄▄▄▄▄ ┃
 * ┃ █      ██████ █  ▀█▄       █ ██████      █      ███▌▐███ ███████▄ █       ┃
 * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
 * ┃ Copyright (c) 2017, the Perspective Authors.                              ┃
 * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
 * ┃ This file is part of the Perspective library, distributed under the terms ┃
 * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
 * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
 */

:host {
    position: fixed;
    z-index: 10000;
    outline: none;
    font-size: 0.75em;
    border: inherit;
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
    user-select: none;
    background-color: white;
    padding: 8px;

    display: flex;
    flex-direction: column;
    min-width: 80px;

    code {
        font-family: var(--psp-interface-monospace--font-family), monospace;
    }

    input {
        margin: 0;
        padding: 0;
        border: none;
        border-bottom: 1px solid var(--psp-inactive--color, #ccc);
        background: transparent;
        font-family: var(--psp-interface-monospace--font-family), monospace;
        color: inherit;
        outline: none;
    }

    .invalid {
        color: var(--psp-error--color, #ff0000);
        border-color: var(--psp-error--color, #ff0000);
    }

    .selected {
        background-color: rgba(0, 0, 0, 0.05);
    }

    .dropdown-group-label {
        color: var(--psp-inactive--color);

        &:not(:first-of-type) {
            margin-top: 16px;
        }
    }

    .dropdown-group-container {
        display: flex;
        flex-direction: column;
        margin: 0;
    }

    span {
        min-height: 22px;
        display: inline-flex;
        align-items: center;
        margin: 0 -8px;
        padding: 0 8px;
    }

    .dropdown-group-container span {
        cursor: pointer;
    }

    .no-results {
        font-style: italics;
        padding: 6px 24px;
        color: #ccc;
    }
}

:host(:hover) {
    .selected {
        background-color: transparent;
    }

    .dropdown-group-container span:hover {
        background-color: var(--psp--color);
        color: var(--psp--background-color);
    }
}