UNPKG

billboard.js

Version:

Re-usable easy interface JavaScript chart library, based on D3 v4+

387 lines (350 loc) 6.96 kB
/*! * Copyright (c) 2017 ~ present NAVER Corp. * billboard.js project is licensed under the MIT license * * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * * @version 3.16.0 */ /*-- Graph Theme --*/ /*-- Default color pattern --*/ .bb-color-pattern { background-image: url("#65CFC2;#D0A45F;#64A4F5;#EF65A2;#A377FE;#8AAEC7;#FF7E5A;#898EFE;#FFAC35;#70B0FF;"); } /*-- Chart --*/ .bb svg { font-size: 12px; font-family: Helvetica, "Apple SD Gothic Neo", Arial, sans-serif, "nanumgothic", "Dotum"; line-height: 1; } .bb path, .bb line { fill: none; stroke: #8c8c8c; } .bb text, .bb .bb-button { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; fill: #555; font-size: 12px; letter-spacing: -0.3px; } .bb-legend-item-title, .bb-xgrid-focus, .bb-ygrid-focus, .bb-ygrid { shape-rendering: crispEdges; } .bb-chart-arcs .bb-needle { fill: #000; } /*-- Funnel --*/ .bb-chart-funnels path { stroke-width: 0; } .bb-chart-funnels + .bb-chart-texts text { fill: #fff; } /*-- Axis --*/ .bb-axis { shape-rendering: crispEdges; } .bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { font-size: 0.9em; fill: #fff; white-space: nowrap; } .bb-axis-y text, .bb-axis-y2 text { fill: #8c8c8c; } .bb-event-rects { fill-opacity: 1 !important; } .bb-event-rects .bb-event-rect { fill: transparent; } .bb-event-rects .bb-event-rect._active_ { fill: rgba(39, 201, 3, 0.05); } .tick._active_ text { fill: #00c83c !important; } /*-- Grid --*/ .bb-grid { pointer-events: none; } .bb-grid line { stroke: #f1f1f1; } .bb-xgrid-focus line, .bb-ygrid-focus line { stroke: #ffb6b6; stroke-dasharray: 3px; } /*-- Text on Chart --*/ .bb-text.bb-empty { fill: #767676; } /*-- Line --*/ .bb-line { stroke-width: 1px; } /*-- Point --*/ .bb-circle._expanded_ { stroke-width: 2px; } rect.bb-circle._expanded_, use.bb-circle._expanded_ { stroke-width: 2px; } .bb-selected-circle { fill: white; stroke-width: 2px; } /*-- Bar --*/ .bb-bar { stroke-width: 0; } .bb-bar._expanded_ { fill-opacity: 0.75; } /*-- Candlestick --*/ .bb-candlestick { stroke-width: 1px; } .bb-candlestick._expanded_ { fill-opacity: 0.75; } /*-- Focus --*/ .bb-target.bb-focused, .bb-circles.bb-focused { opacity: 1; } .bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { stroke-width: 2px; } .bb-target.bb-defocused, .bb-circles.bb-defocused { opacity: 0.3 !important; } .bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { opacity: 0.05 !important; } /*-- Region --*/ .bb-region { fill: steelblue; } .bb-region rect { fill-opacity: 0.1; } .bb-region.selected rect { fill: rgb(39, 201, 3); } /*-- Zoom region --*/ .bb-zoom-brush { fill-opacity: 0.1; } /*-- Brush --*/ .bb-brush .extent { fill-opacity: 0.1; } /*-- Select - Drag --*/ /*-- Legend --*/ .bb-legend-item { user-select: none; } .bb-legend-item-hidden { opacity: 0.15; } .bb-legend-background { opacity: 0.75; fill: white; stroke: lightgray; stroke-width: 1px; } .bb-legend-item line { stroke-dasharray: 1px; } /*-- Title --*/ .bb-title { font-size: 14px; } /*-- Treemap --*/ .bb-chart-treemaps rect { stroke: #fff; stroke-width: 1px; } /*-- Tooltip --*/ .bb-tooltip-container { z-index: 10; font-family: Helvetica, "Apple SD Gothic Neo", Arial, sans-serif, "nanumgothic", "Dotum"; user-select: none; transform: translateZ(0); } .bb-tooltip { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; border-collapse: separate; border-spacing: 0; empty-cells: show; border: 1px solid #999; border-radius: 2px; background-color: #fff; text-align: left; font-size: 12px; box-shadow: 0.5px 0.5px 1px #999; white-space: nowrap; } .bb-tooltip th { font-size: 12px; padding: 4px 8px; text-align: center; border-bottom: dotted 1px #000; background-color: #efefef; color: #000; } .bb-tooltip tr:last-child td { border-bottom: none; } .bb-tooltip td { padding: 3px 6px; background-color: #fff; border-bottom: solid 1px #eee; } .bb-tooltip td:first-child { padding-left: 5px; border-right: solid 1px #eee; } .bb-tooltip td:last-child { padding-right: 5px; } .bb-tooltip td > span, .bb-tooltip td > svg { display: inline-block; width: 5px; height: 12px; margin-right: 6px; vertical-align: middle; } .bb-tooltip td.value { border-left: 1px solid transparent; text-align: right; } .bb-tooltip .bb-tooltip-title { display: inline-block; color: #aaa; line-height: 20px; } .bb-tooltip .bb-tooltip-detail table { border-collapse: collapse; border-spacing: 1px; font-size: 12px; } .bb-tooltip .bb-tooltip-detail .bb-tooltip-name, .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { line-height: 13px; padding: 4px 0 3px; color: #444; text-align: left; font-weight: normal; } .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { padding-left: 5px; font-weight: 800; } /*-- Area --*/ .bb-area { stroke-width: 0; opacity: 0.2; } /*-- Arc --*/ .bb-chart-arcs-title { dominant-baseline: middle; font-size: 1.3em; } text.bb-chart-arcs-gauge-title { dominant-baseline: middle; font-size: 2.7em; } .bb-chart-arcs { /*-- Polar --*/ } .bb-chart-arcs .bb-chart-arcs-background { fill: #e0e0e0; stroke: #fff; } .bb-chart-arcs .bb-chart-arcs-gauge-unit { fill: #000; font-size: 16px; } .bb-chart-arcs .bb-chart-arcs-gauge-min, .bb-chart-arcs .bb-chart-arcs-gauge-max { fill: #777; } .bb-chart-arcs .bb-chart-arcs-title { font-size: 16px !important; fill: #8c8c8c; font-style: italic; } .bb-chart-arcs path.empty { fill: #eaeaea; stroke-width: 0; } .bb-chart-arcs .bb-levels circle { fill: none; stroke: #848282; stroke-width: 0.5px; } .bb-chart-arcs .bb-levels text { fill: #848282; } .bb-chart-arc .bb-gauge-value { fill: #8c8c8c; font-style: italic; } .bb-chart-arc path { stroke: #fff; } .bb-chart-arc rect { stroke: white; stroke-width: 1; } .bb-chart-arc text { fill: #fff; font-size: 13px; font-weight: bold; } /*-- Radar --*/ .bb-chart-radars .bb-levels polygon { fill: none; stroke: #8c8c8c; stroke-width: 0.5px; } .bb-chart-radars .bb-levels text { fill: #8c8c8c; } .bb-chart-radars .bb-axis line { stroke: #8c8c8c; stroke-width: 0.5px; } .bb-chart-radars .bb-axis text { font-size: 1.15em; font-weight: bold; cursor: default; } .bb-chart-radars .bb-shapes polygon { fill-opacity: 0.2; stroke-width: 1px; } /*-- Button --*/ .bb-button { position: absolute; top: 10px; right: 10px; } .bb-button .bb-zoom-reset { border: solid 1px #ccc; background-color: #fff; padding: 5px; border-radius: 5px; cursor: pointer; opacity: 0.8; box-shadow: 1px 1px 2px #ccc; }