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";

/* Register theme for auto-detection */
perspective-viewer,
perspective-viewer[theme="Botanical"] {
    --psp-theme-name: "Botanical";
}

perspective-viewer[theme="Botanical"] {
    /* perspective-viewer-botanical--colors */
    background-color: #1a2e1a;
    color: #e0ead8;
    --psp--color: #e0ead8;
    --psp-active--color: #5a9e4b;
    --psp-error--color: #e8836a;
    --psp-inactive--color: #526b4a;
    --psp-inactive--border-color: #3d5c3d;
    --psp--background-color: #1a2e1a;
    --psp-active--background: rgba(90, 158, 75, 0.5);
    --psp-expression--operator--color: #b8c9ad;
    --psp-expression--function--color: #7bc96f;
    --psp-expression--psp-error--color: rgb(232, 131, 106);
    --psp-calendar--filter: invert(1);
    --psp-warning--color: #1a2e1a;
    --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
    );

    /* Syntax */
    --psp-code-editor--symbol--color: #e0ead8;
    --psp-code-editor--literal--color: #a8d8a0;
    --psp-code-editor--operator--color: rgb(206, 176, 104);
    --psp-code-editor--comment--color: rgb(120, 160, 100);
    --psp-code-editor--column--color: #c9a0d8;

    /* perspective-viewer-botanical--datagrid */
    --psp-datagrid--pos-cell--color: #7bc96f;
    --psp-datagrid--neg-cell--color: #ebac21;

    /* perspective-viewer-botanical--d3fc */
    --psp-d3fc--legend--color: #b8c9ad;
    --psp-d3fc--treemap--labels: #e0ead8;
    --psp-d3fc--treemap--hover-highlight: #e0ead8;
    --psp-d3fc--tooltip--color: #e0ead8;
    --psp-d3fc--axis-ticks--color: #b8c9ad;
    --psp-d3fc--axis-lines--color: #526b4a;
    --psp-d3fc--gridline--color: #2a4228;
    --psp-d3fc--tooltip--background: rgba(30, 52, 32, 1);
    --psp-d3fc--tooltip--border-color: #1a2e1a;
    --psp-d3fc--legend--background: var(--psp--background-color);

    --psp-d3fc--series--color: rgb(90, 158, 75);
    --psp-d3fc--series-1--color: rgb(90, 158, 75);
    --psp-d3fc--series-2--color: rgb(206, 176, 104);
    --psp-d3fc--series-3--color: rgb(160, 110, 180);
    --psp-d3fc--series-4--color: rgb(80, 170, 150);
    --psp-d3fc--series-5--color: rgb(140, 170, 90);
    --psp-d3fc--series-6--color: rgb(200, 120, 140);
    --psp-d3fc--series-7--color: rgb(100, 150, 190);
    --psp-d3fc--series-8--color: rgb(210, 140, 80);
    --psp-d3fc--series-9--color: rgb(130, 120, 190);
    --psp-d3fc--series-10--color: rgb(170, 200, 110);

    --psp-d3fc--full-gradient--background: linear-gradient(
        #e8836a 0%,
        #1a2e1a 50%,
        #5a9e4b 100%
    );

    --psp-d3fc--pos-gradient--background: linear-gradient(
        #1a2e1a 0%,
        #5a9e4b 100%
    );
    --psp-d3fc--neg-gradient--background: linear-gradient(
        #e8836a 0%,
        #1a2e1a 100%
    );

    /* perspective-viewer-botanical--openlayers */
    --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: #1e3420;
    --psp-openlayers--category-1--color: rgb(90, 158, 75);
    --psp-openlayers--category-2--color: rgb(206, 176, 104);
    --psp-openlayers--category-3--color: rgb(160, 110, 180);
    --psp-openlayers--category-4--color: rgb(80, 170, 150);
    --psp-openlayers--category-5--color: rgb(140, 170, 90);
    --psp-openlayers--category-6--color: rgb(200, 120, 140);
    --psp-openlayers--category-7--color: rgb(100, 150, 190);
    --psp-openlayers--category-8--color: rgb(210, 140, 80);
    --psp-openlayers--category-9--color: rgb(130, 120, 190);
    --psp-openlayers--category-10--color: rgb(170, 200, 110);
    --psp-openlayers--gradient--background: linear-gradient(
        #e8836a 0%,
        #1a2e1a 50%,
        #5a9e4b 100%
    );
}

perspective-copy-menu[theme="Botanical"],
perspective-export-menu[theme="Botanical"],
perspective-dropdown[theme="Botanical"],
perspective-date-column-style[theme="Botanical"],
perspective-datetime-column-style[theme="Botanical"],
perspective-number-column-style[theme="Botanical"],
perspective-string-column-style[theme="Botanical"] {
    /* perspective-viewer-botanical--colors */
    background-color: #1a2e1a;
    color: #e0ead8;
    --psp--color: #e0ead8;
    --psp-active--color: #5a9e4b;
    --psp-error--color: #e8836a;
    --psp-inactive--color: #526b4a;
    --psp-inactive--border-color: #3d5c3d;
    --psp--background-color: #1a2e1a;
    --psp-active--background: rgba(90, 158, 75, 0.5);
    --psp-expression--operator--color: #b8c9ad;
    --psp-expression--function--color: #7bc96f;
    --psp-expression--psp-error--color: rgb(232, 131, 106);
    --psp-calendar--filter: invert(1);
    --psp-warning--color: #1a2e1a;
    --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: #e0ead8;
    --psp-code-editor--literal--color: #a8d8a0;
    --psp-code-editor--operator--color: rgb(206, 176, 104);
    --psp-code-editor--comment--color: rgb(120, 160, 100);
    --psp-code-editor--column--color: #c9a0d8;

    border: 1px solid #3d5c3d;
}