@sentropic/design-system-vue 0.36.26 → 0.36.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.d.ts +33 -0
- package/dist/AreaChart.d.ts.map +1 -1
- package/dist/AreaChart.js +72 -0
- package/dist/AreaChart.js.map +1 -1
- package/dist/BarChart.d.ts +33 -0
- package/dist/BarChart.d.ts.map +1 -1
- package/dist/BarChart.js +70 -0
- package/dist/BarChart.js.map +1 -1
- package/dist/ComboChart.d.ts +27 -0
- package/dist/ComboChart.d.ts.map +1 -1
- package/dist/ComboChart.js +38 -10
- package/dist/ComboChart.js.map +1 -1
- package/dist/LineChart.d.ts +33 -0
- package/dist/LineChart.d.ts.map +1 -1
- package/dist/LineChart.js +72 -0
- package/dist/LineChart.js.map +1 -1
- package/dist/StackedBarChart.d.ts +28 -0
- package/dist/StackedBarChart.d.ts.map +1 -1
- package/dist/StackedBarChart.js +32 -9
- package/dist/StackedBarChart.js.map +1 -1
- package/dist/chartKeyboardNav.d.ts +29 -0
- package/dist/chartKeyboardNav.d.ts.map +1 -0
- package/dist/chartKeyboardNav.js +70 -0
- package/dist/chartKeyboardNav.js.map +1 -0
- package/dist/styles.css +79 -0
- package/package.json +1 -1
package/dist/StackedBarChart.js
CHANGED
|
@@ -24,6 +24,8 @@ export const StackedBarChart = defineComponent({
|
|
|
24
24
|
label: { type: String, required: true },
|
|
25
25
|
showLegend: { type: Boolean, default: true },
|
|
26
26
|
dataLabels: { type: [Boolean, Object], default: undefined },
|
|
27
|
+
hiddenSeries: { type: Array, default: undefined },
|
|
28
|
+
onToggleSeries: { type: Function, default: undefined },
|
|
27
29
|
class: { type: String, default: undefined },
|
|
28
30
|
},
|
|
29
31
|
setup(props, { attrs }) {
|
|
@@ -47,13 +49,16 @@ export const StackedBarChart = defineComponent({
|
|
|
47
49
|
const showLegend = props.showLegend ?? true;
|
|
48
50
|
const label = props.label;
|
|
49
51
|
const data = props.data;
|
|
52
|
+
// Interactive legend is active as soon as the parent wires either prop.
|
|
53
|
+
const legendInteractive = props.onToggleSeries !== undefined || props.hiddenSeries !== undefined;
|
|
54
|
+
const hiddenSet = new Set(props.hiddenSeries ?? []);
|
|
50
55
|
const seen = new Map();
|
|
51
56
|
data.forEach((bar) => bar.segments.forEach((seg, i) => {
|
|
52
57
|
if (!seen.has(seg.label))
|
|
53
58
|
seen.set(seg.label, seg.tone ?? TONES[i % TONES.length]);
|
|
54
59
|
}));
|
|
55
60
|
const legend = [...seen.entries()].map(([seriesLabel, tone]) => ({ seriesLabel, tone }));
|
|
56
|
-
const totals = data.map((b) => b.segments.reduce((s, x) => s + Math.max(x.value, 0), 0));
|
|
61
|
+
const totals = data.map((b) => b.segments.reduce((s, x) => (hiddenSet.has(x.label) ? s : s + Math.max(x.value, 0)), 0));
|
|
57
62
|
const ticks = niceTicks(0, Math.max(0, ...totals));
|
|
58
63
|
const domainMax = ticks[ticks.length - 1];
|
|
59
64
|
const plotW = Math.max(width - MARGIN.left - MARGIN.right, 1);
|
|
@@ -65,7 +70,12 @@ export const StackedBarChart = defineComponent({
|
|
|
65
70
|
bars = data.map((bar, bi) => {
|
|
66
71
|
const x = MARGIN.left + band * bi + (band - barWidth) / 2;
|
|
67
72
|
let acc = 0;
|
|
68
|
-
|
|
73
|
+
// Tone is bound to the original segment index so it stays stable when
|
|
74
|
+
// a series is toggled off; hidden segments are dropped before stacking.
|
|
75
|
+
const segs = bar.segments
|
|
76
|
+
.map((seg, si) => ({ seg, tone: seg.tone ?? TONES[si % TONES.length] }))
|
|
77
|
+
.filter(({ seg }) => !hiddenSet.has(seg.label))
|
|
78
|
+
.map(({ seg, tone }) => {
|
|
69
79
|
const v = Math.max(seg.value, 0);
|
|
70
80
|
const yTop = MARGIN.top + scaleLinear(acc + v, 0, domainMax, plotH, 0);
|
|
71
81
|
const yBottom = MARGIN.top + scaleLinear(acc, 0, domainMax, plotH, 0);
|
|
@@ -76,7 +86,7 @@ export const StackedBarChart = defineComponent({
|
|
|
76
86
|
width: barWidth,
|
|
77
87
|
height: Math.max(yBottom - yTop, 0),
|
|
78
88
|
seg,
|
|
79
|
-
tone
|
|
89
|
+
tone,
|
|
80
90
|
cx: x + barWidth / 2,
|
|
81
91
|
cy: yTop + (yBottom - yTop) / 2,
|
|
82
92
|
};
|
|
@@ -84,7 +94,7 @@ export const StackedBarChart = defineComponent({
|
|
|
84
94
|
return { x, band, label: bar.label, segs, cxLabel: MARGIN.left + band * (bi + 0.5) };
|
|
85
95
|
});
|
|
86
96
|
}
|
|
87
|
-
const dataValueItems = data.flatMap((bar) => bar.segments.map((seg) => `${bar.label}, ${seg.label}: ${seg.value}`));
|
|
97
|
+
const dataValueItems = data.flatMap((bar) => bar.segments.filter((seg) => !hiddenSet.has(seg.label)).map((seg) => `${bar.label}, ${seg.label}: ${seg.value}`));
|
|
88
98
|
// --- Data labels ------------------------------------------------------
|
|
89
99
|
// One value label centred in each segment (default `center`). Segments
|
|
90
100
|
// shorter than DATA_LABEL_MIN_SEG_PX are skipped so labels stay legible.
|
|
@@ -162,13 +172,26 @@ export const StackedBarChart = defineComponent({
|
|
|
162
172
|
])
|
|
163
173
|
: null,
|
|
164
174
|
showLegend && legend.length > 0
|
|
165
|
-
? h("ul", { class: "st-stackedBar__legend" }, legend.map((item) =>
|
|
166
|
-
|
|
175
|
+
? h("ul", { class: "st-stackedBar__legend" }, legend.map((item) => {
|
|
176
|
+
const off = hiddenSet.has(item.seriesLabel);
|
|
177
|
+
const swatch = h("span", {
|
|
167
178
|
class: classNames("st-stackedBar__legendSwatch", `st-stackedBar__legendSwatch--${item.tone}`),
|
|
168
179
|
"aria-hidden": "true",
|
|
169
|
-
})
|
|
170
|
-
|
|
171
|
-
|
|
180
|
+
});
|
|
181
|
+
return h("li", {
|
|
182
|
+
key: item.seriesLabel,
|
|
183
|
+
class: classNames("st-stackedBar__legendItem", legendInteractive && off && "st-stackedBar__legendItem--off"),
|
|
184
|
+
}, legendInteractive
|
|
185
|
+
? [
|
|
186
|
+
h("button", {
|
|
187
|
+
type: "button",
|
|
188
|
+
class: "st-stackedBar__legendButton",
|
|
189
|
+
"aria-pressed": off ? "true" : "false",
|
|
190
|
+
onClick: () => props.onToggleSeries?.(item.seriesLabel),
|
|
191
|
+
}, [swatch, ` ${item.seriesLabel}`]),
|
|
192
|
+
]
|
|
193
|
+
: [swatch, item.seriesLabel]);
|
|
194
|
+
}))
|
|
172
195
|
: null,
|
|
173
196
|
]);
|
|
174
197
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedBarChart.js","sourceRoot":"","sources":["../src/StackedBarChart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StackedBarChart.js","sourceRoot":"","sources":["../src/StackedBarChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Keys that drive the roving focus, mapped to an action. */
|
|
2
|
+
export type DatapointNavAction = {
|
|
3
|
+
kind: "move";
|
|
4
|
+
index: number;
|
|
5
|
+
} | {
|
|
6
|
+
kind: "select";
|
|
7
|
+
} | {
|
|
8
|
+
kind: "escape";
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Maps a keydown to a roving-nav action given the current focused index and the
|
|
12
|
+
* datum count. Returns `null` for keys we don't handle (so the caller leaves the
|
|
13
|
+
* event untouched). `count` is assumed >= 1 when called.
|
|
14
|
+
*/
|
|
15
|
+
export declare function datapointNavAction(key: string, current: number, count: number): DatapointNavAction | null;
|
|
16
|
+
/**
|
|
17
|
+
* The roving `tabindex` for the datum at `index`: `0` (the single tab stop) for
|
|
18
|
+
* the focused datum, `-1` for every other. When nothing is focused yet
|
|
19
|
+
* (`focusedIndex < 0`) the FIRST datum holds the tab stop so the group is
|
|
20
|
+
* reachable by Tab.
|
|
21
|
+
*/
|
|
22
|
+
export declare function rovingTabIndex(index: number, focusedIndex: number, count: number): number;
|
|
23
|
+
/**
|
|
24
|
+
* Accessible label for a focused datum: its category followed by its value, e.g.
|
|
25
|
+
* `"Janvier, 42"`. `category` is the x/categorical label, `value` the y value.
|
|
26
|
+
* Kept framework-agnostic and identical across the three packages.
|
|
27
|
+
*/
|
|
28
|
+
export declare function datapointAriaLabel(category: string | number, value: string | number): string;
|
|
29
|
+
//# sourceMappingURL=chartKeyboardNav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartKeyboardNav.d.ts","sourceRoot":"","sources":["../src/chartKeyboardNav.ts"],"names":[],"mappings":"AAqBA,6DAA6D;AAC7D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,kBAAkB,GAAG,IAAI,CAwB3B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE5F"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// --- Chart datapoint keyboard navigation (shared, framework-agnostic) --------
|
|
2
|
+
//
|
|
3
|
+
// FR-5: ROVING-TABINDEX keyboard navigation over a cartesian chart's data
|
|
4
|
+
// points (Bar / Line / Area). The decorative SVG stays `aria-hidden`; a thin,
|
|
5
|
+
// transparent overlay of focusable hit-rects (one per datum, in data order) is
|
|
6
|
+
// rendered on top. The overlay carries a SINGLE tab stop — the focused datum —
|
|
7
|
+
// and the arrow keys move that focus between datums:
|
|
8
|
+
//
|
|
9
|
+
// ←/↑ previous datum →/↓ next datum
|
|
10
|
+
// Home first datum End last datum
|
|
11
|
+
// Enter / Space select the focused datum Escape leave the nav
|
|
12
|
+
//
|
|
13
|
+
// Each focusable element announces its category + value via `aria-label`
|
|
14
|
+
// (built by `datapointAriaLabel`). Selection emits `onSelectKey?(key | null)`;
|
|
15
|
+
// Escape clears the internal selection (emits null). The focus also feeds the
|
|
16
|
+
// shared crosshair channel: moving focus emits `onHoverKeyChange(key)` so a
|
|
17
|
+
// linked tooltip (FR-3) tracks the keyboard cursor, and leaving emits null.
|
|
18
|
+
//
|
|
19
|
+
// Purely additive: a chart that wires neither `onSelectKey` nor `keyboardNav`
|
|
20
|
+
// renders exactly as before (no overlay, no extra tab stop).
|
|
21
|
+
/**
|
|
22
|
+
* Maps a keydown to a roving-nav action given the current focused index and the
|
|
23
|
+
* datum count. Returns `null` for keys we don't handle (so the caller leaves the
|
|
24
|
+
* event untouched). `count` is assumed >= 1 when called.
|
|
25
|
+
*/
|
|
26
|
+
export function datapointNavAction(key, current, count) {
|
|
27
|
+
if (count <= 0)
|
|
28
|
+
return null;
|
|
29
|
+
const clamp = (i) => Math.min(count - 1, Math.max(0, i));
|
|
30
|
+
switch (key) {
|
|
31
|
+
case "ArrowRight":
|
|
32
|
+
case "ArrowDown":
|
|
33
|
+
return { kind: "move", index: clamp(current + 1) };
|
|
34
|
+
case "ArrowLeft":
|
|
35
|
+
case "ArrowUp":
|
|
36
|
+
return { kind: "move", index: clamp(current - 1) };
|
|
37
|
+
case "Home":
|
|
38
|
+
return { kind: "move", index: 0 };
|
|
39
|
+
case "End":
|
|
40
|
+
return { kind: "move", index: count - 1 };
|
|
41
|
+
case "Enter":
|
|
42
|
+
case " ":
|
|
43
|
+
case "Spacebar": // legacy IE/Edge value
|
|
44
|
+
return { kind: "select" };
|
|
45
|
+
case "Escape":
|
|
46
|
+
case "Esc": // legacy value
|
|
47
|
+
return { kind: "escape" };
|
|
48
|
+
default:
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The roving `tabindex` for the datum at `index`: `0` (the single tab stop) for
|
|
54
|
+
* the focused datum, `-1` for every other. When nothing is focused yet
|
|
55
|
+
* (`focusedIndex < 0`) the FIRST datum holds the tab stop so the group is
|
|
56
|
+
* reachable by Tab.
|
|
57
|
+
*/
|
|
58
|
+
export function rovingTabIndex(index, focusedIndex, count) {
|
|
59
|
+
const active = focusedIndex >= 0 && focusedIndex < count ? focusedIndex : 0;
|
|
60
|
+
return index === active ? 0 : -1;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Accessible label for a focused datum: its category followed by its value, e.g.
|
|
64
|
+
* `"Janvier, 42"`. `category` is the x/categorical label, `value` the y value.
|
|
65
|
+
* Kept framework-agnostic and identical across the three packages.
|
|
66
|
+
*/
|
|
67
|
+
export function datapointAriaLabel(category, value) {
|
|
68
|
+
return `${category}, ${value}`;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=chartKeyboardNav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartKeyboardNav.js","sourceRoot":"","sources":["../src/chartKeyboardNav.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,qDAAqD;AACrD,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,wEAAwE;AACxE,EAAE;AACF,yEAAyE;AACzE,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,6DAA6D;AAQ7D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,OAAe,EACf,KAAa;IAEb,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpC,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,OAAO,CAAC;QACb,KAAK,GAAG,CAAC;QACT,KAAK,UAAU,EAAE,uBAAuB;YACtC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,EAAE,eAAe;YACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,YAAoB,EAAE,KAAa;IAC/E,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAyB,EAAE,KAAsB;IAClF,OAAO,GAAG,QAAQ,KAAK,KAAK,EAAE,CAAC;AACjC,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -208,6 +208,7 @@
|
|
|
208
208
|
|
|
209
209
|
.st-areaChart__visual {
|
|
210
210
|
display: block;
|
|
211
|
+
position: relative;
|
|
211
212
|
}
|
|
212
213
|
|
|
213
214
|
.st-areaChart__grid {
|
|
@@ -334,6 +335,23 @@
|
|
|
334
335
|
stroke-width: 2;
|
|
335
336
|
}
|
|
336
337
|
|
|
338
|
+
/* --- Keyboard navigation layer (FR-5) ------------------------------------
|
|
339
|
+
A focusable, transparent overlay of one hit-rect per point. Carries the
|
|
340
|
+
roving tab stop; the focus ring is tokenised (border-interactive). */
|
|
341
|
+
.st-areaChart__navLayer {
|
|
342
|
+
inset: 0;
|
|
343
|
+
position: absolute;
|
|
344
|
+
}
|
|
345
|
+
.st-areaChart__navDatum {
|
|
346
|
+
fill: transparent;
|
|
347
|
+
outline: none;
|
|
348
|
+
}
|
|
349
|
+
.st-areaChart__navDatum:focus-visible {
|
|
350
|
+
fill: color-mix(in srgb, var(--st-semantic-border-interactive) 12%, transparent);
|
|
351
|
+
outline: 2px solid var(--st-semantic-border-interactive);
|
|
352
|
+
outline-offset: 1px;
|
|
353
|
+
}
|
|
354
|
+
|
|
337
355
|
.st-aspectRatio {
|
|
338
356
|
display: block;
|
|
339
357
|
overflow: hidden;
|
|
@@ -442,6 +460,7 @@
|
|
|
442
460
|
|
|
443
461
|
.st-barChart__visual {
|
|
444
462
|
display: block;
|
|
463
|
+
position: relative;
|
|
445
464
|
}
|
|
446
465
|
|
|
447
466
|
.st-chartDataList {
|
|
@@ -694,6 +713,23 @@
|
|
|
694
713
|
opacity: 0.7;
|
|
695
714
|
}
|
|
696
715
|
|
|
716
|
+
/* --- Keyboard navigation layer (FR-5) ------------------------------------
|
|
717
|
+
A focusable, transparent overlay of one hit-rect per bar. Carries the
|
|
718
|
+
roving tab stop; the focus ring is tokenised (border-interactive). */
|
|
719
|
+
.st-barChart__navLayer {
|
|
720
|
+
inset: 0;
|
|
721
|
+
position: absolute;
|
|
722
|
+
}
|
|
723
|
+
.st-barChart__navDatum {
|
|
724
|
+
fill: transparent;
|
|
725
|
+
outline: none;
|
|
726
|
+
}
|
|
727
|
+
.st-barChart__navDatum:focus-visible {
|
|
728
|
+
fill: color-mix(in srgb, var(--st-semantic-border-interactive) 12%, transparent);
|
|
729
|
+
outline: 2px solid var(--st-semantic-border-interactive);
|
|
730
|
+
outline-offset: 1px;
|
|
731
|
+
}
|
|
732
|
+
|
|
697
733
|
@media (prefers-reduced-motion: reduce) {
|
|
698
734
|
.st-barChart__bar,
|
|
699
735
|
.st-barChart__filterChip { transition: none; }
|
|
@@ -3547,6 +3583,7 @@
|
|
|
3547
3583
|
|
|
3548
3584
|
.st-lineChart__visual {
|
|
3549
3585
|
display: block;
|
|
3586
|
+
position: relative;
|
|
3550
3587
|
}
|
|
3551
3588
|
|
|
3552
3589
|
.st-lineChart__grid {
|
|
@@ -3735,6 +3772,23 @@
|
|
|
3735
3772
|
stroke-width: 2;
|
|
3736
3773
|
}
|
|
3737
3774
|
|
|
3775
|
+
/* --- Keyboard navigation layer (FR-5) ------------------------------------
|
|
3776
|
+
A focusable, transparent overlay of one hit-rect per point. Carries the
|
|
3777
|
+
roving tab stop; the focus ring is tokenised (border-interactive). */
|
|
3778
|
+
.st-lineChart__navLayer {
|
|
3779
|
+
inset: 0;
|
|
3780
|
+
position: absolute;
|
|
3781
|
+
}
|
|
3782
|
+
.st-lineChart__navDatum {
|
|
3783
|
+
fill: transparent;
|
|
3784
|
+
outline: none;
|
|
3785
|
+
}
|
|
3786
|
+
.st-lineChart__navDatum:focus-visible {
|
|
3787
|
+
fill: color-mix(in srgb, var(--st-semantic-border-interactive) 12%, transparent);
|
|
3788
|
+
outline: 2px solid var(--st-semantic-border-interactive);
|
|
3789
|
+
outline-offset: 1px;
|
|
3790
|
+
}
|
|
3791
|
+
|
|
3738
3792
|
.st-link {
|
|
3739
3793
|
color: var(--st-component-link-text, var(--st-semantic-text-link));
|
|
3740
3794
|
cursor: var(--st-cursor-interactive, pointer);
|
|
@@ -6083,6 +6137,9 @@
|
|
|
6083
6137
|
.st-stackedBar__tooltipValue { opacity: 0.85; }
|
|
6084
6138
|
.st-stackedBar__legend { display: flex; flex-wrap: wrap; gap: 0.75rem; list-style: none; margin: 0.5rem 0 0; padding: 0; }
|
|
6085
6139
|
.st-stackedBar__legendItem { align-items: center; color: var(--st-semantic-text-secondary); display: inline-flex; font-size: 0.75rem; gap: 0.35rem; }
|
|
6140
|
+
.st-stackedBar__legendItem--off { opacity: 0.45; }
|
|
6141
|
+
.st-stackedBar__legendButton { align-items: center; background: none; border: 0; border-radius: var(--st-radius-sm, 0.25rem); color: inherit; cursor: pointer; display: inline-flex; font: inherit; gap: 0.35rem; padding: 0.125rem 0.25rem; }
|
|
6142
|
+
.st-stackedBar__legendButton:focus-visible { outline: 2px solid var(--st-semantic-border-interactive); outline-offset: 2px; }
|
|
6086
6143
|
.st-stackedBar__legendSwatch { border-radius: 2px; height: 0.7rem; width: 0.7rem; }
|
|
6087
6144
|
.st-stackedBar__legendSwatch--category1 { background: var(--st-semantic-data-category1); }
|
|
6088
6145
|
.st-stackedBar__legendSwatch--category2 { background: var(--st-semantic-data-category2); }
|
|
@@ -9118,6 +9175,28 @@
|
|
|
9118
9175
|
gap: var(--st-spacing-1, 0.25rem);
|
|
9119
9176
|
}
|
|
9120
9177
|
|
|
9178
|
+
.st-comboChart__legendItem--off {
|
|
9179
|
+
opacity: 0.45;
|
|
9180
|
+
}
|
|
9181
|
+
|
|
9182
|
+
.st-comboChart__legendButton {
|
|
9183
|
+
align-items: center;
|
|
9184
|
+
background: none;
|
|
9185
|
+
border: 0;
|
|
9186
|
+
border-radius: var(--st-radius-sm, 0.25rem);
|
|
9187
|
+
color: inherit;
|
|
9188
|
+
cursor: pointer;
|
|
9189
|
+
display: inline-flex;
|
|
9190
|
+
font: inherit;
|
|
9191
|
+
gap: var(--st-spacing-1, 0.25rem);
|
|
9192
|
+
padding: 0.125rem 0.25rem;
|
|
9193
|
+
}
|
|
9194
|
+
|
|
9195
|
+
.st-comboChart__legendButton:focus-visible {
|
|
9196
|
+
outline: 2px solid var(--st-semantic-border-interactive);
|
|
9197
|
+
outline-offset: 2px;
|
|
9198
|
+
}
|
|
9199
|
+
|
|
9121
9200
|
.st-comboChart__legendSwatch {
|
|
9122
9201
|
display: inline-block;
|
|
9123
9202
|
flex: none;
|