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). ┃
 * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ */

@import "./defaults.css";

perspective-viewer,
perspective-viewer[theme="Gruvbox Dark"] {
    --psp-theme-name: "Gruvbox Dark";
}

perspective-viewer[theme="Gruvbox Dark"] {
    /* perspective-viewer-pro-dark--colors (overrides) */
    background-color: #242526;
    color: white;
    --psp--color: white;
    --psp-active--color: #2770a9;
    --psp-error--color: #ff9485;
    --psp-inactive--color: #61656e;
    --psp-inactive--border-color: #4c505b;
    --psp--background-color: #242526;
    --psp-active--background: rgba(39, 113, 170, 0.5);
    --psp-expression--operator--color: #c5c9d0;
    --psp-expression--function--color: #22a0ce;
    --psp-expression--psp-error--color: rgb(255, 136, 136);
    --psp-calendar--filter: invert(1);
    --psp-warning--color: #242526;
    --psp-warning--background: var(--psp--color);

    --psp-icon--select-arrow--mask-image: var(
        --psp-icon--select-arrow-light--mask-image
    );

    --psp-icon--select-arrow-hover--mask-image: var(
        --psp-icon--select-arrow-dark--mask-image
    );

    --psp-code-editor--symbol--color: white;
    --psp-code-editor--literal--color: #7dc3f0;
    --psp-code-editor--operator--color: rgb(23, 166, 123);
    --psp-code-editor--comment--color: rgb(204, 120, 48);
    --psp-code-editor--column--color: #e18ee1;

    /* perspective-viewer-pro-dark--datagrid */
    --psp-datagrid--pos-cell--color: #7dc3f0;
    --psp-datagrid--neg-cell--color: #ff9485;

    /* perspective-viewer-pro-dark--d3fc (overrides) */
    --psp-d3fc--legend--color: #c5c9d0;
    --psp-d3fc--treemap--labels: white;
    --psp-d3fc--treemap--hover-highlight: white;
    --psp-d3fc--tooltip--color: white;
    --psp-d3fc--axis-ticks--color: #c5c9d0;
    --psp-d3fc--axis-lines--color: #61656e;
    --psp-d3fc--gridline--color: #3b3f46;
    --psp-d3fc--tooltip--background: rgba(42, 44, 47, 1);
    --psp-d3fc--tooltip--border-color: #242526;
    --psp-d3fc--legend--background: var(--psp--background-color);
    --psp-d3fc--series--color: rgb(71, 120, 194);
    --psp-d3fc--series-1--color: rgb(71, 120, 194);
    --psp-d3fc--series-2--color: rgb(204, 120, 48);
    --psp-d3fc--series-3--color: rgb(158, 84, 192);
    --psp-d3fc--series-4--color: rgb(51, 150, 153);
    --psp-d3fc--series-5--color: rgb(102, 114, 143);
    --psp-d3fc--series-6--color: rgb(211, 103, 189);
    --psp-d3fc--series-7--color: rgb(109, 124, 77);
    --psp-d3fc--series-8--color: rgb(221, 99, 103);
    --psp-d3fc--series-9--color: rgb(120, 104, 206);
    --psp-d3fc--series-10--color: rgb(23, 166, 123);
    --psp-d3fc--full-gradient--background: linear-gradient(
        #dd6367 0%,
        #242526 50%,
        #3289c8 100%
    );
    --psp-d3fc--pos-gradient--background: linear-gradient(
        #242526 0%,
        #3289c8 100%
    );
    --psp-d3fc--neg-gradient--background: linear-gradient(
        #dd6367 0%,
        #242526 100%
    );

    /* perspective-viewer-pro-dark--openlayers (overrides) */
    --psp-openlayers--tile-url: "http://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";
    --psp-openlayers--attribution--filter: invert(1) hue-rotate(180deg);
    --psp-openlayers--element--background: #212c2f;
    --psp-openlayers--category-1--color: rgb(71, 120, 194);
    --psp-openlayers--category-2--color: rgb(204, 120, 48);
    --psp-openlayers--category-3--color: rgb(158, 84, 192);
    --psp-openlayers--category-4--color: rgb(51, 150, 153);
    --psp-openlayers--category-5--color: rgb(102, 114, 143);
    --psp-openlayers--category-6--color: rgb(211, 103, 189);
    --psp-openlayers--category-7--color: rgb(109, 124, 77);
    --psp-openlayers--category-8--color: rgb(221, 99, 103);
    --psp-openlayers--category-9--color: rgb(120, 104, 206);
    --psp-openlayers--category-10--color: rgb(23, 166, 123);
    --psp-openlayers--gradient--background: linear-gradient(
        #dd6367 0%,
        #242526 50%,
        #3289c8 100%
    );

    /* perspective-viewer-gruvbox-dark--colors */
    --theme-bg0: #282828;
    --theme-bg1: #3c3836;
    --theme-bg2: #7c6f64;

    --theme-gray: #928374;

    --theme-fg0: #fbf1c7;
    --theme-fg1: #ebdbb2;
    --theme-fg2: #a89984;

    --theme-red: #cc241d;
    --theme-green: #98871a;
    --theme-yellow: #d79921;
    --theme-blue: #458588;
    --theme-purple: #b16286;
    --theme-aqua: #689d5a;
    --theme-orange: #d65d0e;

    --theme-alt-red: #fb4934;
    --theme-alt-green: #b8bb26;
    --theme-alt-yellow: #fabd2f;
    --theme-alt-blue: #83a598;
    --theme-alt-purple: #d3869b;
    --theme-alt-aqua: #8ec07c;
    --theme-alt-orange: #fe8019;

    color: var(--theme-fg0);
    background-color: var(--theme-bg0);
    --psp--color: var(--theme-fg1);
    --psp-inactive--color: var(--theme-fg2);
    --psp-inactive--border-color: var(--theme-bg2);
    --psp--background-color: var(--theme-bg1);
    --psp-status-icon--connected--color: var(--theme-aqua);
    --psp-status-icon--initializing--color: var(--theme-yellow);
    --psp-status-icon--psp-error--color: var(--theme-red);

    /* perspective-viewer-gruvbox-dark--datagrid */
    --psp-datagrid--pos-cell--color: var(--theme-alt-blue);
    --psp-datagrid--neg-cell--color: var(--theme-alt-red);

    /* perspective-viewer-gruvbox-dark--d3fc */
    --psp-d3fc--axis-ticks--color: var(--theme-fg1);
    --psp-d3fc--gridline--color: var(--theme-bg2);
    --psp-d3fc--series--color: var(--theme-blue);
    --psp-d3fc--series-1--color: var(--theme-blue);
    --psp-d3fc--series-2--color: var(--theme-red);
    --psp-d3fc--series-3--color: var(--theme-green);
    --psp-d3fc--series-4--color: var(--theme-purple);
    --psp-d3fc--series-5--color: var(--theme-aqua);
    --psp-d3fc--series-6--color: var(--theme-alt-blue);
    --psp-d3fc--series-7--color: var(--theme-alt-red);
    --psp-d3fc--series-8--color: var(--theme-alt-green);
    --psp-d3fc--series-9--color: var(--theme-alt-purple);
    --psp-d3fc--series-10--color: var(--theme-alt-aqua);

    --psp-d3fc--neg-gradient--background: linear-gradient(
        var(--theme-bg0),
        var(--theme-red),
        var(--theme-alt-red)
    ) !important;

    --psp-d3fc--pos-gradient--background: linear-gradient(
        var(--theme-bg0),
        var(--theme-blue),
        var(--theme-alt-blue)
    ) !important;

    --psp-d3fc--full-gradient--background: linear-gradient(
        var(--theme-alt-red),
        var(--theme-red),
        var(--theme-bg0),
        var(--theme-blue),
        var(--theme-alt-blue)
    ) !important;
}

perspective-copy-menu[theme="Gruvbox Dark"],
perspective-export-menu[theme="Gruvbox Dark"],
perspective-dropdown[theme="Gruvbox Dark"] {
    /* perspective-viewer-pro-dark--colors (overrides) */
    background-color: #242526;
    color: white;
    --psp--color: white;
    --psp-active--color: #2770a9;
    --psp-error--color: #ff9485;
    --psp-inactive--color: #61656e;
    --psp-inactive--border-color: #4c505b;
    --psp--background-color: #242526;
    --psp-active--background: rgba(39, 113, 170, 0.5);
    --psp-expression--operator--color: #c5c9d0;
    --psp-expression--function--color: #22a0ce;
    --psp-expression--psp-error--color: rgb(255, 136, 136);
    --psp-calendar--filter: invert(1);
    --psp-warning--color: #242526;
    --psp-warning--background: var(--psp--color);
    --psp-icon--select-arrow--mask-image: var(
        --psp-icon--select-arrow-light--mask-image
    );
    --psp-icon--select-arrow-hover--mask-image: var(
        --psp-icon--select-arrow-dark--mask-image
    );
    --psp-code-editor--symbol--color: white;
    --psp-code-editor--literal--color: #7dc3f0;
    --psp-code-editor--operator--color: rgb(23, 166, 123);
    --psp-code-editor--comment--color: rgb(204, 120, 48);
    --psp-code-editor--column--color: #e18ee1;

    border: 1px solid #4c505b;

    /* perspective-viewer-gruvbox-dark--colors */
    --theme-bg0: #282828;
    --theme-bg1: #3c3836;
    --theme-bg2: #7c6f64;
    --theme-gray: #928374;
    --theme-fg0: #fbf1c7;
    --theme-fg1: #ebdbb2;
    --theme-fg2: #a89984;
    --theme-red: #cc241d;
    --theme-green: #98871a;
    --theme-yellow: #d79921;
    --theme-blue: #458588;
    --theme-purple: #b16286;
    --theme-aqua: #689d5a;
    --theme-orange: #d65d0e;
    --theme-alt-red: #fb4934;
    --theme-alt-green: #b8bb26;
    --theme-alt-yellow: #fabd2f;
    --theme-alt-blue: #83a598;
    --theme-alt-purple: #d3869b;
    --theme-alt-aqua: #8ec07c;
    --theme-alt-orange: #fe8019;

    color: var(--theme-fg0);
    --psp--color: var(--theme-fg1);
    --psp-inactive--color: var(--theme-fg2);
    --psp-inactive--border-color: var(--theme-bg2);
    --psp--background-color: var(--theme-bg1);
    --psp-status-icon--connected--color: var(--theme-aqua);
    --psp-status-icon--initializing--color: var(--theme-yellow);
    --psp-status-icon--psp-error--color: var(--theme-red);

    background-color: var(--theme-bg0);
}