/* ========================================================= */ /* Components: Charts */ /* ========================================================= */ .sg-score-bar-list { display: grid; grid-template-columns: var(--layout-score-bar-item-columns); column-gap: var(--layout-score-bar-item-gap); row-gap: var(--spacing-small); align-items: center; width: 100%; } .sg-score-bar-item { display: contents; } .sg-score-bar-list--single-score { --layout-score-bar-item-columns: var(--layout-score-bar-item-single-score-columns); } .sg-score-state--positive, .sg-score-state--warning, .sg-score-state--neutral, .sg-score-state--negative { margin: 0; justify-self: end; text-align: right; } .sg-score-state--positive { color: var(--text-score-state-positive); } .sg-score-state--warning { color: var(--text-score-state-warning); } .sg-score-state--neutral { color: var(--text-score-state-neutral); } .sg-score-state--negative { color: var(--text-score-state-negative); } .sg-score-bar-label { margin: 0; color: var(--text-chart-default); } .sg-score-bar { position: relative; height: var(--score-bar-height); overflow: visible; border-radius: var(--radius-graph-bar); background: var(--surface-score-bar-track); } .sg-score-bar--marker-mid { --score-marker-position: 50%; } .sg-score-bar--no-value { display: block; } .sg-score-bar__value { height: 100%; border-radius: var(--radius-graph-bar); } .sg-score-bar__value--w96 { width: 96%; } .sg-score-bar__value--w64 { width: 64%; } .sg-score-bar__value--w35 { width: 35%; } .sg-score-bar__value--positive { background: var(--chart-value-positive); } .sg-score-bar__value--neutral { background: var(--chart-value-neutral); } .sg-score-bar__value--negative { background: var(--chart-value-negative); } .sg-score-bar__median-marker { position: absolute; top: 50%; left: var(--score-marker-position); width: var(--score-marker-width); height: var(--score-marker-height); border-radius: 0; background: var(--chart-marker-line); transform: translate(-50%, -50%); } .sg-score-bar__median-marker--outline { border: var(--chart-grid-line-width) solid var(--chart-marker-line); background: transparent; } .sg-score-bar__empty-state { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-start; padding-inline-start: var(--spacing-small); color: var(--text-chart-default); font-family: var(--font-family-base); font-size: var(--font-size-small); font-weight: var(--font-weight-regular); line-height: var(--line-height-base); pointer-events: none; } .sg-chart-preview-area { min-width: var(--layout-object-card-min-width); max-width: var(--layout-object-card-max-width); width: 100%; } .sg-bar-chart { display: block; width: 100%; box-sizing: border-box; padding: 0; background: var(--surface-chart-area); color: var(--text-chart-default); } .sg-chart-frame { display: grid; grid-template-columns: min-content 1fr; column-gap: var(--chart-axis-label-gap); height: calc(var(--chart-height-bar) * 0.7); } .sg-chart-y-labels { position: relative; width: min-content; margin: 0; padding: 0; list-style: none; color: var(--text-chart-default); text-align: right; pointer-events: none; } .sg-chart-y-labels li { position: absolute; white-space: nowrap; right: 0; top: var(--chart-label-position); transform: translateY(-50%); } .sg-chart-x-labels { display: grid; grid-template-columns: repeat(10, 1fr); margin: var(--spacing-small) 0 var(--spacing-large) 0; padding: 0 0 0 calc(var(--interaction-height) + var(--chart-axis-label-gap)); list-style: none; color: var(--text-chart-default); text-align: center; } .sg-chart-x-labels--line { position: relative; display: block; height: var(--spacing-large); grid-template-columns: none; } .sg-chart-x-labels--line li { position: absolute; left: var(--chart-label-position); transform: translateX(-50%); } .sg-chart-y-labels li, .sg-chart-x-labels li { font-family: var(--font-family-base); font-size: var(--font-size-small); font-weight: var(--font-weight-regular); line-height: var(--line-height-base); } .sg-bar-chart__svg, .sg-line-chart__svg { display: block; width: 100%; height: 100%; overflow: hidden; } .sg-bar-chart__grid-line, .sg-line-chart__grid-line { stroke: var(--chart-grid-line); stroke-width: var(--chart-grid-line-width); } .sg-bar-chart__axis-line, .sg-line-chart__axis-line { stroke: var(--chart-axis-line); stroke-width: var(--chart-grid-line-width); } .sg-bar-chart__bar { rx: var(--radius-graph-bar); ry: var(--radius-graph-bar); } .sg-bar-chart__bar--value { fill: var(--chart-value-primary); } .sg-bar-chart__bar--median { fill: var(--chart-value-reference); } .sg-bar-chart__label, .sg-line-chart__label { display: none; } .sg-bar-chart__legend, .sg-line-chart__legend { display: flex; gap: var(--spacing-large); padding-left: 0; margin-left: 0; } .sg-bar-chart__legend { flex-wrap: wrap; margin-top: 0; color: var(--text-chart-default); } .sg-line-chart__legend { margin-top: var(--spacing-large); } .sg-bar-chart__legend-item, .sg-line-chart__legend-item { display: inline-flex; align-items: center; gap: var(--spacing-small); color: var(--text-chart-default); font-family: var(--font-family-base); font-size: var(--font-size-small); font-weight: var(--font-weight-regular); line-height: var(--line-height-base); } .sg-bar-chart__legend-swatch { display: inline-block; width: var(--interaction-height); height: var(--interaction-height); border-radius: var(--radius-interaction); } .sg-bar-chart__legend-swatch--value { background: var(--chart-value-primary); } .sg-bar-chart__legend-swatch--median { background: var(--chart-value-reference); } .sg-line-chart { width: 100%; box-sizing: border-box; padding: 0; background: var(--surface-chart-area); color: var(--text-chart-default); } .sg-chart-frame--line { height: calc(var(--chart-height-line) * 0.7); } .sg-line-chart__line { fill: none; stroke: var(--chart-value-primary); stroke-width: var(--chart-line-width); stroke-linecap: round; stroke-linejoin: round; } .sg-line-chart__median-line { fill: none; stroke: var(--chart-median-line); stroke-width: var(--chart-grid-line-width); stroke-dasharray: var(--sandwich-line-height) var(--sandwich-line-height); } .sg-line-chart__legend-line { display: inline-block; width: var(--spacing-large); height: var(--chart-line-width); background: var(--chart-value-primary); } .sg-line-chart__legend-line--median { height: var(--chart-grid-line-width); background: repeating-linear-gradient( to right, var(--chart-median-line) 0, var(--chart-median-line) var(--sandwich-line-height), transparent var(--sandwich-line-height), transparent calc(var(--sandwich-line-height) * 2) ); }