/* * SonarQube * Copyright (C) 2009-2018 SonarSource SA * mailto:info AT sonarsource DOT com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ @import (reference) "../variables"; @import (reference) "../mixins"; @import (reference) "../init/links"; .sonar-d3 .treemap-container { position: relative; } .sonar-d3 .treemap-cell { position: absolute; border-right: 1px solid #fff; border-bottom: 1px solid #fff; box-sizing: border-box; text-align: center; &:focus { outline: none; } } .sonar-d3 .treemap-inner { display: inline-flex; vertical-align: middle; align-items: center; justify-content: center; flex-wrap: wrap; padding: 0 4px; box-sizing: border-box; line-height: 1.2; .treemap-icon { flex-shrink: 0; } .treemap-icon svg { margin-top: 2px; } .treemap-text { flex-shrink: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; } } .sonar-d3 .treemap-link { position: absolute; z-index: @treemap-link-z-index; top: 5px; right: 5px; line-height: @iconSmallFontSize; font-size: 12px; .link-no-underline; &:hover { color: #d1eafb; } } .sonar-d3 .treemap-link i, .sonar-d3 .treemap-link i:before { vertical-align: top; font-size: inherit; line-height: inherit; } .word-cloud { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; a { padding: 5px; .link-no-underline; } } /* * Line Chart */ @defaultSerieColor: @blue; @serieColor1: @darkBlue; @serieColor2: #24c6e0; .line-chart { } .line-chart-path { fill: none; stroke: @defaultSerieColor; stroke-width: 2px; &.line-chart-path-1 { stroke: @serieColor1; } &.line-chart-path-2 { stroke: @serieColor2; } } .line-chart-area { fill: fade(@defaultSerieColor, 30%); stroke-width: 0; &.line-chart-area-1 { fill: fade(@serieColor1, 30%); } &.line-chart-area-2 { fill: fade(@serieColor2, 30%); } } .line-chart-legend { color: @defaultSerieColor; &.line-chart-legend-1 { color: @serieColor1; } &.line-chart-legend-2 { color: @serieColor2; } } .line-chart-dot { fill: @defaultSerieColor; &.line-chart-dot-1 { fill: @serieColor1; } &.line-chart-dot-2 { fill: @serieColor2; } } .line-chart-point { fill: #fff; stroke: @defaultSerieColor; stroke-width: 2px; } .line-chart-event { fill: #fff; stroke: @defaultSerieColor; stroke-width: 2px; &.VERSION { stroke: @blue; } &.QUALITY_GATE { stroke: @green; } &.QUALITY_PROFILE { stroke: @orange; } &.OTHER { stroke: @purple; } } .line-chart-backdrop { } .line-chart-tick { fill: @secondFontColor; font-size: 12px; text-anchor: middle; } .line-chart-tick-x { text-anchor: end; } .line-chart-tick-x-right { text-anchor: start; } .line-chart-grid { shape-rendering: crispedges; stroke: #eee; } /* * Bubble Chart */ .bubble-chart { } .bubble-chart-bubble { fill: @blue; fill-opacity: 0.2; stroke: @blue; cursor: pointer; transition: all 0.2s ease; &:hover { fill-opacity: 0.8; } } .bubble-chart-grid { shape-rendering: crispedges; stroke: #eee; } .bubble-chart-tick { fill: @secondFontColor; font-size: 12px; text-anchor: middle; } .bubble-chart-tick-y { text-anchor: end; } /* * Legends */ .color-box-legend { display: flex; justify-content: center; & > *:not(:first-child) { margin-left: 24px; } .color-box-legend-rect { display: inline-block; margin-top: 1px; margin-right: 4px; border: 1px solid; } .color-box-legend-rect-inner { display: block; width: 8px; height: 8px; opacity: 0.2; } &.color-box-full .color-box-legend-rect-inner { opacity: 1; } } .gradient-legend-text, .gradient-legend-na { text-anchor: middle; fill: @secondFontColor; font-size: 10px; } .gradient-legend-text { &:first-of-type { text-anchor: start; } &:last-of-type { text-anchor: end; } } /* * Bar Chart */ .bar-chart { } .bar-chart-bar { fill: @blue; } .bar-chart-tick { fill: @secondFontColor; font-size: 12px; text-anchor: middle; } .histogram-tick { text-anchor: end; } .histogram-tick-start { text-anchor: start; } .histogram-value { text-anchor: start; } /* * Charts zooming */ .chart-zoomed { .line-chart-area { clip-path: url(#chart-clip); } .line-chart-path { clip-path: url(#chart-clip); } .leak-chart-rect { clip-path: url(#chart-clip); } } .chart-zoom-tick { fill: @secondFontColor; font-size: 10px; text-anchor: middle; user-select: none; } .chart-mouse-events-overlay { fill: none; stroke: none; pointer-events: all; } .chart-zoom { .zoom-overlay { fill: none; stroke: none; cursor: crosshair; pointer-events: all; } .zoom-selection { fill: @secondFontColor; fill-opacity: 0.2; stroke: @secondFontColor; shape-rendering: crispEdges; cursor: move; } .zoom-selection-handle { cursor: ew-resize; fill-opacity: 0; stroke: none; } } /* * Charts tooltips */ .line-tooltip { fill: none; stroke: @secondFontColor; stroke-width: 1px; shape-rendering: crispEdges; }