// Sparkline (inline SVG, rendered by js/src/sparkline.ts) @use 'sass:map'; @use '../config' as *; .sparkline { // scss-docs-start sparkline-css-vars --sparkline-width: #{$sparkline-width}; --sparkline-height: #{$sparkline-height}; --sparkline-stroke: #{$sparkline-stroke}; --sparkline-negative: #{$sparkline-negative}; --sparkline-zero: #{$sparkline-zero}; --sparkline-threshold: #{$sparkline-threshold}; --sparkline-stroke-width: #{$sparkline-stroke-width}; --sparkline-fill: #{$sparkline-fill}; --sparkline-track: #{$sparkline-track}; --sparkline-spot: #{$sparkline-spot}; --sparkline-spot-size: #{$sparkline-spot-size}; --sparkline-label-font-size: #{$sparkline-label-font-size}; --sparkline-label-color: #{$sparkline-label-color}; // scss-docs-end sparkline-css-vars position: relative; display: inline-block; flex-shrink: 0; // a fixed-size graphic: never squeezed by a flex row width: var(--sparkline-width); height: var(--sparkline-height); line-height: 0; vertical-align: middle; .sparkline-svg { display: block; width: 100%; height: 100%; overflow: visible; } .sparkline-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: var(--sparkline-label-font-size); font-weight: $font-weight-medium; font-variant-numeric: tabular-nums; line-height: 1; color: var(--sparkline-label-color); } } @each $sparkline-size, $size in $sparkline-sizes { .sparkline-#{$sparkline-size} { --sparkline-width: #{map.get($size, width)}; --sparkline-height: #{map.get($size, height)}; } } // Same width as height, for the circle type .sparkline-square { --sparkline-width: var(--sparkline-height); } // Greyed out, for a series that is off or data that is stale .sparkline-disabled { --sparkline-stroke: #{$sparkline-disabled-color}; --sparkline-negative: #{$sparkline-disabled-color}; --sparkline-spot: #{$sparkline-disabled-color}; --sparkline-fill: color-mix(in oklab, #{$sparkline-disabled-color} 30%, transparent); --sparkline-track: color-mix(in oklab, #{$sparkline-disabled-color} 40%, transparent); --sparkline-label-color: #{$sparkline-disabled-color}; }