mirror of
https://github.com/nasa/openmct.git
synced 2025-03-22 12:05:19 +00:00
263 lines
5.7 KiB
SCSS
263 lines
5.7 KiB
SCSS
$plotLimitLineSize: 1px;
|
|
$plotLimitDashWidthOffset: 10px;
|
|
$lineBlocker: $colorPlotLimitLineBg;
|
|
$plotLimitDashWidthSeverity: 50px;
|
|
$plotLimitDashWidthCritical: $plotLimitDashWidthSeverity - $plotLimitDashWidthOffset;
|
|
$plotLimitDashWidthDistress: $plotLimitDashWidthCritical - $plotLimitDashWidthOffset;
|
|
$plotLimitDashWidthWarning: $plotLimitDashWidthDistress - $plotLimitDashWidthOffset;
|
|
$plotLimitDashWidthWatch: $plotLimitDashWidthWarning - $plotLimitDashWidthOffset;
|
|
|
|
@mixin plotLimitLine($c, $breakPerc) {
|
|
background: $lineBlocker
|
|
linear-gradient(90deg, $c $breakPerc, transparent $breakPerc, transparent 100%) repeat-x;
|
|
}
|
|
|
|
@mixin plotLimitDirectionGradient($c, $deg: 0deg) {
|
|
background: linear-gradient($deg, $c, transparent);
|
|
}
|
|
|
|
@mixin plotLimitLineUpper($c) {
|
|
$breakPerc: 80%;
|
|
@include plotLimitLine($c: $c, $breakPerc: $breakPerc);
|
|
}
|
|
|
|
@mixin plotLimitLineLower($c) {
|
|
$breakPerc: 30%;
|
|
@include plotLimitLine($c: $c, $breakPerc: $breakPerc);
|
|
}
|
|
|
|
.c-plot-limit-line {
|
|
box-shadow: $lineBlocker 0 0 0 2px;
|
|
height: $plotLimitLineSize;
|
|
width: 100%;
|
|
position: absolute;
|
|
z-index: 1;
|
|
|
|
// Colors and directions
|
|
&--purple.c-plot-limit-line--upr {
|
|
@include plotLimitLineUpper($colorLimitPurpleIc);
|
|
}
|
|
|
|
&--purple.c-plot-limit-line--lwr {
|
|
@include plotLimitLineLower($colorLimitPurpleIc);
|
|
}
|
|
|
|
&--red.c-plot-limit-line--upr {
|
|
@include plotLimitLineUpper($colorLimitRedIc);
|
|
}
|
|
|
|
&--red.c-plot-limit-line--lwr {
|
|
@include plotLimitLineLower($colorLimitRedIc);
|
|
}
|
|
|
|
&--orange.c-plot-limit-line--upr {
|
|
@include plotLimitLineUpper($colorLimitOrangeIc);
|
|
}
|
|
|
|
&--orange.c-plot-limit-line--lwr {
|
|
@include plotLimitLineLower($colorLimitOrangeIc);
|
|
}
|
|
|
|
&--yellow.c-plot-limit-line--upr {
|
|
@include plotLimitLineUpper($colorLimitYellowIc);
|
|
}
|
|
|
|
&--yellow.c-plot-limit-line--lwr {
|
|
@include plotLimitLineLower($colorLimitYellowIc);
|
|
}
|
|
|
|
&--cyan.c-plot-limit-line--upr {
|
|
@include plotLimitLineUpper($colorLimitCyanIc);
|
|
}
|
|
|
|
&--cyan.c-plot-limit-line--lwr {
|
|
@include plotLimitLineLower($colorLimitCyanIc);
|
|
}
|
|
|
|
// Severities
|
|
&--severe {
|
|
background-size: $plotLimitDashWidthSeverity 100% !important;
|
|
}
|
|
|
|
&--critical {
|
|
background-size: $plotLimitDashWidthCritical 100% !important;
|
|
}
|
|
|
|
&--distress {
|
|
background-size: $plotLimitDashWidthDistress 100% !important;
|
|
}
|
|
|
|
&--warning {
|
|
background-size: $plotLimitDashWidthWarning 100% !important;
|
|
}
|
|
|
|
&--watch {
|
|
background-size: $plotLimitDashWidthWatch 100% !important;
|
|
}
|
|
}
|
|
|
|
.c-plot-limit {
|
|
// Holds both label and directional gradient
|
|
$labelCr: $basicCr;
|
|
display: flex;
|
|
position: absolute;
|
|
width: 100%;
|
|
z-index: 0;
|
|
|
|
&__label {
|
|
border-width: 1px 1px 0 0;
|
|
border-style: solid;
|
|
border-radius: 0 $labelCr 0 0;
|
|
display: flex;
|
|
flex: 0 0 auto;
|
|
align-items: center;
|
|
padding: 2px 4px;
|
|
transform: translateY(-100%);
|
|
|
|
> * + * {
|
|
margin-left: $interiorMarginSm;
|
|
}
|
|
}
|
|
|
|
&.--align-label-right {
|
|
justify-content: flex-end;
|
|
.c-plot-limit__label {
|
|
border-radius: $labelCr 0 0 0;
|
|
border-width: 1px 0 0 1px;
|
|
}
|
|
}
|
|
|
|
&.--align-label-below {
|
|
.c-plot-limit__label {
|
|
border-radius: 0 0 $labelCr 0;
|
|
border-width: 0 1px 1px 0;
|
|
transform: translateY(0);
|
|
}
|
|
&.--align-label-right {
|
|
.c-plot-limit__label {
|
|
border-radius: 0 0 0 $labelCr;
|
|
border-width: 0 0 1px 1px;
|
|
}
|
|
}
|
|
}
|
|
|
|
[class*='icon'] {
|
|
&:before {
|
|
display: block;
|
|
font-family: symbolsfont;
|
|
font-size: 0.9em;
|
|
}
|
|
}
|
|
|
|
&__series-color-swatch {
|
|
@include colorSwatch();
|
|
display: block;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
&:before {
|
|
// Direction gradient
|
|
content: '';
|
|
display: block;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
height: 100%;
|
|
opacity: 0.2;
|
|
}
|
|
|
|
&--upr:before {
|
|
transform: translateY(-100%);
|
|
}
|
|
|
|
&--lwr:before {
|
|
transform: scaleY(-1); // This inverts the gradient direction
|
|
}
|
|
|
|
// Label styling
|
|
&--purple [class*='label'] {
|
|
background-color: $colorLimitPurpleBg;
|
|
border-color: $colorLimitPurpleIc;
|
|
color: $colorLimitPurpleFg;
|
|
}
|
|
|
|
&--red [class*='label'] {
|
|
background-color: $colorLimitRedBg;
|
|
border-color: $colorLimitRedIc;
|
|
color: $colorLimitRedFg;
|
|
}
|
|
|
|
&--orange [class*='label'] {
|
|
background-color: $colorLimitOrangeBg;
|
|
border-color: $colorLimitOrangeIc;
|
|
color: $colorLimitOrangeFg;
|
|
}
|
|
|
|
&--yellow [class*='label'] {
|
|
background-color: $colorLimitYellowBg;
|
|
border-color: $colorLimitYellowIc;
|
|
color: $colorLimitYellowFg;
|
|
}
|
|
|
|
&--cyan [class*='label'] {
|
|
background-color: $colorLimitCyanBg;
|
|
border-color: $colorLimitCyanIc;
|
|
color: $colorLimitCyanFg;
|
|
}
|
|
|
|
// Directional gradients
|
|
&--purple:before {
|
|
@include plotLimitDirectionGradient($c: $colorLimitPurpleIc);
|
|
}
|
|
|
|
&--red:before {
|
|
@include plotLimitDirectionGradient($c: $colorLimitRedIc);
|
|
}
|
|
|
|
&--orange:before {
|
|
@include plotLimitDirectionGradient($c: $colorLimitOrangeIc);
|
|
}
|
|
|
|
&--yellow:before {
|
|
@include plotLimitDirectionGradient($c: $colorLimitYellowIc);
|
|
}
|
|
|
|
&--cyan:before {
|
|
@include plotLimitDirectionGradient($c: $colorLimitCyanIc);
|
|
}
|
|
}
|
|
|
|
// Severity icons
|
|
.c-plot-limit__label .c-plot-limit__severity-icon:before {
|
|
.c-plot-limit--severe & {
|
|
content: $glyph-icon-alert-triangle;
|
|
}
|
|
|
|
.c-plot-limit--critical & {
|
|
content: $glyph-icon-alert-rect;
|
|
}
|
|
|
|
.c-plot-limit--distress & {
|
|
content: $glyph-icon-bell;
|
|
}
|
|
|
|
.c-plot-limit--warning & {
|
|
content: $glyph-icon-asterisk;
|
|
}
|
|
|
|
.c-plot-limit--watch & {
|
|
content: $glyph-icon-eye-open;
|
|
}
|
|
}
|
|
|
|
// Direction icons
|
|
.c-plot-limit__label .c-plot-limit__direction-icon:before {
|
|
.c-plot-limit--upr & {
|
|
content: $glyph-icon-arrow-up;
|
|
}
|
|
|
|
.c-plot-limit--lwr & {
|
|
content: $glyph-icon-arrow-down;
|
|
}
|
|
}
|