@jpmorganchase/perspective-examples
Version:
753 lines (752 loc) • 21.6 kB
CSS
/******************************************************************************
*
* Copyright (c) 2017, the Perspective Authors.
*
* This file is part of the Perspective library, distributed under the terms of
* the Apache License 2.0. The full license can be found in the LICENSE file.
*
*/
/******************************************************************************
*
* Copyright (c) 2017, the Perspective Authors.
*
* This file is part of the Perspective library, distributed under the terms of
* the Apache License 2.0. The full license can be found in the LICENSE file.
*
*/
/******************************************************************************
*
* Copyright (c) 2017, the Perspective Authors.
*
* This file is part of the Perspective library, distributed under the terms of
* the Apache License 2.0. The full license can be found in the LICENSE file.
*
*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans');
@import url('https://fonts.googleapis.com/css?family=Material+Icons');
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono');
.psp-text-field {
position: relative;
background-color: white;
border-bottom: 1px solid #ccc;
display: flex;
flex-direction: column;
justify-content: flex-end;
min-height: 24px;
}
.dragging .psp-text-field.dropping {
border-bottom: 2px solid #22A0CE;
}
.dragging .psp-text-field {
border-bottom: 1px solid #22A0CE;
}
.psp-text-field > .psp-text-field__input {
border: 0px;
line-height: 20px;
vertical-align: bottom;
padding-bottom: 0px;
display: none;
}
.psp-text-field__input + label {
line-height: 17px;
box-sizing: border-box;
color: #cccccc;
font-weight: 400;
white-space: nowrap;
padding: 0px 0px 2px 10px;
font-size: 12px;
display: inline-block;
}
.dropping .psp-text-field__input,
.psp-text-field__input:not(:empty) {
display: initial;
}
.dropping .psp-text-field__input::after {
content: '|';
width: 0px;
overflow: visible;
margin-top: -2px;
}
.dropping * {
pointer-events: none;
}
.dropping .psp-text-field label,
.psp-text-field__input:not(:empty) + label {
position: absolute;
top: 0px;
line-height: 10px;
font-size: 10px;
display: none;
}
.dropping perspective-row.inserting {
border-top: 25px solid rgba(0, 0, 0, 0);
}
.dropping perspective-row.postserting {
border-bottom: 25px solid rgba(0, 0, 0, 0);
}
perspective-viewer {
font-family: Arial, sans-serif;
}
perspective-viewer .awesomplete > ul {
border-radius: 0px;
margin: 0px;
border: none;
transform-origin: none;
transition: 0;
}
perspective-viewer .awesomplete > ul:before {
content: none;
}
perspective-viewer .awesomplete > input {
background-color: transparent;
}
perspective-viewer perspective-row #psp_row {
color: #333333;
}
perspective-viewer #side_panel perspective-row .row_draggable {
padding-right: 10px;
color: #333333;
transition: height 0.2s;
}
perspective-viewer #app.columns_horizontal #columns_container {
flex-direction: row-reverse;
}
perspective-viewer #app.columns_horizontal #active_columns,
perspective-viewer #app.columns_horizontal #inactive_columns {
display: flex;
flex-direction: column;
flex: 0 1 auto;
width: 100%;
}
perspective-viewer #app.columns_horizontal #sub_columns {
flex-shrink: 1;
}
perspective-viewer #app.columns_horizontal #sub_columns perspective-row span#name {
margin-right: 25px;
}
perspective-viewer #app.columns_horizontal #active_columns {
margin-right: 8px;
}
perspective-viewer #app.columns_horizontal #active_columns perspective-row div#psp_row {
margin-right: 2px;
}
perspective-viewer #app.columns_horizontal #side_panel #divider {
display: none;
}
perspective-viewer #app.columns_horizontal perspective-computed-column {
max-height: none;
}
perspective-viewer #columns_container {
flex-direction: column;
height: 100%;
}
perspective-viewer #columns_container #active_columns {
flex: 0 1 auto;
}
perspective-viewer #columns_container #active_columns,
perspective-viewer #columns_container #inactive_columns {
border: none ;
}
perspective-viewer #columns_container #active_columns perspective-row .row_draggable {
border: 1px solid #ccc;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
background-color: white;
overflow: hidden;
}
perspective-viewer #columns_container #active_columns perspective-row[drop-target] .row_draggable {
background-color: #f0f0ff ;
border: 1px solid #1078d1 ;
}
perspective-viewer #columns_container #inactive_columns perspective-row .is_visible::before {
content: "\25CB";
}
perspective-viewer #side_panel perspective-row .is_visible {
color: #999;
}
perspective-viewer #side_panel perspective-row [settings=true] #app {
border-top: 1px solid #ccc;
}
perspective-viewer ul {
transition: background-color 0.2s, border-color 0.2s;
}
perspective-viewer #filters perspective-row select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent;
}
perspective-viewer #sort perspective-row #sort_order {
display: inline-block;
}
perspective-viewer perspective-row {
border: 0px solid rgba(0, 0, 0, 0);
}
perspective-viewer perspective-row #row_close {
color: #999;
font-family: Arial;
font-size: 10px;
}
perspective-viewer perspective-row #column_aggregate {
font-family: Arial;
}
perspective-viewer perspective-row .row_draggable select {
border: none;
}
perspective-viewer perspective-row .row_draggable select:focus {
outline: none;
}
perspective-viewer #side_panel perspective-row .is_visible::before {
content: "\25CF";
}
perspective-viewer #side_panel perspective-row .integer::before,
perspective-viewer #side_panel perspective-row .float::before {
font-family: monospace;
content: "123";
color: #016bc6;
}
perspective-viewer #side_panel perspective-row .string::before {
font-family: monospace;
content: "abc";
color: #fe9292;
}
perspective-viewer #side_panel perspective-row .boolean::before {
font-family: monospace;
content: "t/f";
color: #999999;
}
perspective-viewer #side_panel perspective-row .date::before {
font-family: monospace;
content: "mdy";
color: #999999;
}
perspective-viewer #side_panel #side_panel__actions {
display: flex;
flex-direction: column;
flex-shrink: 1000;
justify-content: flex-start;
padding: 5px;
position: relative;
overflow-y: auto;
width: 100%;
margin-top: 36px;
min-height: 36px;
}
perspective-viewer #side_panel #side_panel__actions button.side_panel-action {
align-items: center;
align-content: center;
background: none;
border: none;
display: flex;
flex-direction: row;
font-family: Arial, sans-serif ;
font-size: 12px;
padding-right: 10px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
perspective-viewer #side_panel #side_panel__actions button.side_panel-action span {
margin-left: 5px;
font-size: 15px;
}
perspective-viewer #side_panel #side_panel__actions button.side_panel-action:hover {
cursor: pointer;
}
perspective-viewer .noselect {
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
/* Non-prefixed version, currently supported by Chrome and Opera */
}
perspective-viewer svg text {
font-family: Arial, sans-serif ;
}
perspective-viewer svg .highcharts-axis-title,
perspective-viewer svg .highcharts-axis-title {
font-family: Arial, sans-serif ;
}
perspective-viewer svg .highcharts-legend-box {
fill: none;
}
perspective-viewer #pivot_chart {
background-color: white;
}
perspective-viewer #divider {
min-height: 2px;
height: 2px;
margin: 15px 13px 15px 13px;
margin-bottom: 5px;
}
perspective-viewer #drop_target {
background: white;
}
perspective-viewer #drop_target_inner h3 {
color: #aaa;
font-weight: 300;
}
perspective-viewer #config_button {
font-weight: normal;
font-family: Arial;
font-size: 16px;
color: #999;
transition: opacity 0.3s;
}
perspective-viewer #config_button:before {
content: '\1f527';
}
perspective-viewer ul {
border: 1px solid #ccc;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
font-size: 12px;
padding: 0px 10px 0px 10px;
}
perspective-viewer select {
border-radius: 0;
background-color: white;
border: 1px solid #ccc;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
}
perspective-viewer select:focus {
outline: none;
}
perspective-viewer input {
border: 1px solid #ccc;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
}
perspective-viewer input::placeholder {
color: #ccc;
}
perspective-viewer rect,
perspective-viewer svg image {
opacity: 0.5;
}
perspective-viewer path,
perspective-viewer circle {
opacity: 0.8;
}
perspective-viewer option[value=""] {
color: white ;
}
perspective-viewer select:focus {
color: #000 ;
}
perspective-viewer #app {
background-color: #eee;
}
perspective-viewer perspective-hypergrid {
color: #666;
}
perspective-viewer ::-webkit-scrollbar,
perspective-viewer ::shadow ::-webkit-scrollbar {
width: 12px;
}
perspective-viewer ::-webkit-scrollbar-thumb,
perspective-viewer ::shadow ::-webkit-scrollbar-thumb {
background: #ccc;
}
perspective-viewer ::-webkit-scrollbar-track,
perspective-viewer ::shadow ::-webkit-scrollbar-track {
background: none;
}
perspective-viewer[view=treemap] #app.columns_horizontal #side_panel #inactive_columns,
perspective-viewer[view=sunburst] #app.columns_horizontal #side_panel #inactive_columns,
perspective-viewer[view=xy_line] #app.columns_horizontal #side_panel #inactive_columns,
perspective-viewer[view=xy_scatter] #app.columns_horizontal #side_panel #inactive_columns {
padding-top: 46px;
}
input {
padding: 6px 10px 6px 0;
}
button {
text-transform: uppercase;
}
select,
ul {
padding: 0 10px 0 0;
}
perspective-viewer {
font-family: "Open Sans", Arial, sans-serif;
}
perspective-viewer:not([settings]) {
z-index: 3;
}
perspective-viewer #side_panel perspective-row .row_draggable {
height: 26px;
cursor: move;
}
perspective-viewer:not([row-pivots='[]']) #side_panel #columns_container #active_columns perspective-row .row_draggable {
height: 52px;
}
perspective-viewer:not([row-pivots='[]']) #side_panel #columns_container #inactive_columns perspective-row .row_draggable {
height: 26px;
}
perspective-viewer.dragging #app #side_panel #columns_container #inactive_columns perspective-row:hover .is_visible {
opacity: 0;
}
perspective-viewer.dragging #app #side_panel #columns_container #active_columns perspective-row[drop-target] .row_draggable,
perspective-viewer.dragging #app #side_panel #columns_container .rrow ul {
margin-top: 0;
}
perspective-viewer.dragging #app #top_panel .rrow > * {
border-top: 0 ;
border-left: 0 ;
border-right: 0 ;
margin-top: 0;
margin-left: 0;
}
perspective-viewer #config_button {
margin-top: 14px;
margin-left: 7px;
}
perspective-viewer #config_button:before {
font-family: "Material Icons";
content: "more_vert" ;
}
perspective-viewer .psp-text-field__input + label {
padding-left: 0;
}
perspective-viewer #app.columns_horizontal #side_panel {
max-width: 750px ;
padding: 24px 5px 0 0;
}
perspective-viewer #app.columns_horizontal #side_panel #divider {
display: none;
}
perspective-viewer #app input,
perspective-viewer #app select,
perspective-viewer #app ul,
perspective-viewer #app #filters {
border-right: 0;
background-color: #eee;
color: #666;
}
perspective-viewer #app perspective-hypergrid {
position: absolute;
top: 24px;
bottom: 24px;
left: 24px;
right: 24px;
}
perspective-viewer #app perspective-hypergrid div.finbar-horizontal div.thumb {
height: 7px;
}
perspective-viewer #app perspective-hypergrid div.finbar-vertical div.thumb {
width: 7px;
}
perspective-viewer #app #filters {
padding-left: 0;
}
perspective-viewer #app perspective-row:before {
font-size: 10px;
font-family: "Open Sans", Arial, sans-serif;
}
perspective-viewer #app perspective-row.string:before,
perspective-viewer #app perspective-row.float:before,
perspective-viewer #app perspective-row.integer:before,
perspective-viewer #app perspective-row.date:before {
font-family: "Roboto Mono", monospace;
padding-left: 0;
}
perspective-viewer #app perspective-row #psp_row {
margin-bottom: 0;
color: #666;
margin-right: 0;
}
perspective-viewer #app #side_panel perspective-row .integer::before,
perspective-viewer #app #side_panel perspective-row .float::before {
position: relative;
display: inline-block;
padding-left: 0px;
padding-right: 5px;
min-width: 18px;
content: "123";
}
perspective-viewer #app #side_panel perspective-row .string::before {
position: relative;
display: inline-block;
padding-left: 0px;
padding-right: 5px;
min-width: 18px;
content: "abc";
}
perspective-viewer #app #side_panel perspective-row .boolean::before {
position: relative;
display: inline-block;
padding-left: 0px;
padding-right: 5px;
min-width: 18px;
content: "t/f";
}
perspective-viewer #app #side_panel perspective-row .date::before {
position: relative;
display: inline-block;
padding-left: 0px;
padding-right: 5px;
min-width: 18px;
content: "mdy";
}
perspective-viewer #app #side_panel {
padding: 24px 0 0 0;
max-width: 250px;
}
perspective-viewer #app #side_panel .is_visible {
transition: opacity 0.4s;
}
perspective-viewer #app #side_panel #vis_selector_container {
min-height: 36px;
z-index: 1;
margin-right: 12px;
margin-left: 46px;
}
perspective-viewer #app #side_panel #vis_selector_container select#vis_selector {
margin: 0 12px 24px 0;
}
perspective-viewer #app #side_panel #divider {
height: 24px;
min-height: 24px;
max-height: 24px;
border-left-width: 12px;
border-right-width: 0;
z-index: 1;
margin: 0;
}
perspective-viewer #app #side_panel .psp-title__columnName {
margin-left: 44px;
}
perspective-viewer #app #side_panel .psp-icon__add {
margin-left: 14px;
color: #999;
}
perspective-viewer #app #side_panel #active_columns,
perspective-viewer #app #side_panel #inactive_columns {
will-change: opacity, height, margin, transform;
margin-top: 0;
margin-bottom: 0;
padding: 24px 24px 24px 0;
}
perspective-viewer #app #side_panel #active_columns perspective-row,
perspective-viewer #app #side_panel #inactive_columns perspective-row {
position: relative;
}
perspective-viewer #app #side_panel #active_columns perspective-row span.is_visible:before,
perspective-viewer #app #side_panel #inactive_columns perspective-row span.is_visible:before {
position: absolute;
margin-top: 1px;
margin-left: -8px;
}
perspective-viewer #app #side_panel #active_columns perspective-row span.is_visible,
perspective-viewer #app #side_panel #inactive_columns perspective-row span.is_visible {
height: 26px;
margin: 0;
position: absolute;
top: 0;
left: 0;
width: 48px;
text-align: center;
}
perspective-viewer #app #side_panel #active_columns perspective-row .row_draggable,
perspective-viewer #app #side_panel #inactive_columns perspective-row .row_draggable {
background: none;
border-right: 0;
color: #666;
margin-left: 48px;
padding: 4px 3px 4px 0;
}
perspective-viewer #app #side_panel #active_columns perspective-row .row_draggable select,
perspective-viewer #app #side_panel #inactive_columns perspective-row .row_draggable select {
margin: 6px 0 0 20px;
}
perspective-viewer #app #side_panel #active_columns perspective-row:before {
margin-left: 48px;
left: 48px;
}
perspective-viewer #app #side_panel #active_columns perspective-row:last-child .row_draggable {
border-bottom: 0 solid #ccc;
}
perspective-viewer #app #side_panel #active_columns perspective-row .is_visible:before {
color: #1A7DA1;
font-family: "material icons";
margin-top: 1px;
margin-left: -8px;
font-size: 16px;
content: "\E834";
}
perspective-viewer #app #side_panel #inactive_columns {
padding-top: 24px;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row {
margin-top: 0;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row:hover .is_visible:before {
color: #1A7DA1;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row:hover.active #name {
color: #eee;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row:hover .is_visible {
opacity: 1;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row:hover #name:before {
opacity: 1 ;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row:hover .row_computed span {
color: #666;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row:hover .row_computed span:before {
opacity: 1 ;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row.active {
display: block;
height: 0;
max-height: 0;
overflow: hidden;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row.computed .row_computed {
margin-right: -12px;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row .is_visible {
opacity: 0.5;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row .is_visible:before {
font-family: "Material Icons";
content: "\E835";
font-size: 16px;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row #name:before {
opacity: 0.5;
background: none ;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row .row_computed span {
color: #AAA;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row .row_computed span:before {
opacity: 0.5;
}
perspective-viewer #app #side_panel #inactive_columns perspective-row .row_computed #row_edit:before {
font-family: "Material Icons";
content: "more_vert" ;
font-size: 12px;
}
perspective-viewer #app #side_panel perspective-computed-column {
font-family: "Open Sans", Arial, sans-serif ;
padding-right: 20px;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc-computation__input-column {
background: none;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc-computation__input-column perspective-row {
margin-left: -24px;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-icon__add {
margin-left: 14px ;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc__container {
margin-left: 38px;
}
perspective-viewer #app #side_panel perspective-computed-column #psp-cc-computation__type {
padding-right: 5px;
}
perspective-viewer #app #side_panel perspective-computed-column span#psp-cc__close {
margin-left: 14px;
}
perspective-viewer #app #side_panel perspective-computed-column #psp-cc__actions {
margin-left: 36px;
}
perspective-viewer #app #side_panel perspective-computed-column perspective-row:before {
margin-left: 48px;
left: 48px;
}
perspective-viewer #app #side_panel perspective-computed-column perspective-row .is_visible:before {
color: #1A7DA1;
font-family: "material icons";
margin-top: 1px;
margin-left: -8px;
font-size: 16px;
content: "\E834";
}
perspective-viewer #app #side_panel perspective-computed-column perspective-row .row_draggable {
border: none ;
background: none ;
margin-right: 0;
margin-left: 1px;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc__button {
text-transform: none;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc__button#psp-cc-button-save {
background: #1A7DA1;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc__button#psp-cc-button-save:hover {
background: #135D78;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc__button#psp-cc-button-delete {
background: #c62828;
}
perspective-viewer #app #side_panel perspective-computed-column .psp-cc__button#psp-cc-button-delete:hover {
background: #b71c1c;
}
perspective-viewer #app #side_panel #side_panel__actions button.side_panel-action {
color: #666;
font-family: "Open Sans", Arial, sans-serif ;
text-transform: none;
}
perspective-viewer #app #side_panel #side_panel__actions button.side_panel-action:hover {
color: #000;
}
perspective-viewer #app #divider {
height: 1px;
min-height: 1px;
max-height: 1px;
}
perspective-viewer #app #top_panel {
padding: 24px 0 0 0;
}
perspective-viewer #app #top_panel .rrow ul {
padding: 3px 0 0 0;
}
perspective-viewer #app #top_panel .psp-text-field {
background: none;
}
perspective-viewer #app #top_panel .rrow {
margin: 0 24px 24px 0;
}
perspective-viewer #app #top_panel #row_pivots label:before {
content: "Group By";
}
perspective-viewer #app #top_panel #column_pivots label:before {
content: "Split By";
}
perspective-viewer #app .rrow {
margin: 0 24px 24px 0;
}
perspective-viewer #app #pivot_chart {
padding: 24px 24px 24px 24px;
}
perspective-viewer #app #pivot_chart .chart {
padding: 0;
}
perspective-viewer #app #pivot_chart .chart .tooltip {
font-family: "Open Sans", Arial, sans-serif ;
}
.dropping .psp-text-field label,
perspective-viewer .psp-text-field__input:not(:empty) + label {
padding-left: 0;
display: inline-block;
top: -8px;
}