@sentropic/design-system-vue 0.36.24 → 0.36.26
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 +50 -0
- package/dist/AreaChart.d.ts.map +1 -1
- package/dist/AreaChart.js +64 -13
- package/dist/AreaChart.js.map +1 -1
- package/dist/BarChart.d.ts +50 -0
- package/dist/BarChart.d.ts.map +1 -1
- package/dist/BarChart.js +80 -13
- package/dist/BarChart.js.map +1 -1
- package/dist/DonutChart.d.ts +18 -0
- package/dist/DonutChart.d.ts.map +1 -1
- package/dist/DonutChart.js +35 -1
- package/dist/DonutChart.js.map +1 -1
- package/dist/LineChart.d.ts +50 -0
- package/dist/LineChart.d.ts.map +1 -1
- package/dist/LineChart.js +66 -13
- package/dist/LineChart.js.map +1 -1
- package/dist/StackedBarChart.d.ts +18 -0
- package/dist/StackedBarChart.d.ts.map +1 -1
- package/dist/StackedBarChart.js +30 -0
- package/dist/StackedBarChart.js.map +1 -1
- package/dist/chartCrosshair.d.ts +19 -0
- package/dist/chartCrosshair.d.ts.map +1 -0
- package/dist/chartCrosshair.js +52 -0
- package/dist/chartCrosshair.js.map +1 -0
- package/dist/chartDataLabels.d.ts +35 -0
- package/dist/chartDataLabels.d.ts.map +1 -0
- package/dist/chartDataLabels.js +32 -0
- package/dist/chartDataLabels.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.css +70 -0
- package/package.json +1 -1
package/dist/AreaChart.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ChartAnnotation } from "./chartAnnotations.js";
|
|
2
|
+
import { type DataLabelsProp } from "./chartDataLabels.js";
|
|
2
3
|
export type AreaChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
|
|
3
4
|
export type AreaChartDatum = {
|
|
4
5
|
x: number | string;
|
|
@@ -17,6 +18,28 @@ export type AreaChartProps = {
|
|
|
17
18
|
* the area, every other kind above it. Additive: absent ⇒ unchanged.
|
|
18
19
|
*/
|
|
19
20
|
annotations?: ChartAnnotation[];
|
|
21
|
+
/**
|
|
22
|
+
* Per-point value labels. `false`/absent (default) → none. `true` → each
|
|
23
|
+
* point's value with the chart's numeric formatter. Object → `format(value)`
|
|
24
|
+
* and/or a `position` override. Default position is `top` (above the point).
|
|
25
|
+
* Labels are `aria-hidden` — the values already live in the accessible
|
|
26
|
+
* ChartDataList.
|
|
27
|
+
*/
|
|
28
|
+
dataLabels?: DataLabelsProp;
|
|
29
|
+
/**
|
|
30
|
+
* CONTROLLED synchronised hover key (FR-3). A datum's key is `String(x)`. When
|
|
31
|
+
* provided (string or null), the crosshair + tooltip track this key instead of
|
|
32
|
+
* the chart's internal pointer hover (null ⇒ nothing shown), letting a parent
|
|
33
|
+
* share one hover channel across several aligned charts. Absent (`undefined`)
|
|
34
|
+
* keeps the legacy uncontrolled behaviour.
|
|
35
|
+
*/
|
|
36
|
+
hoverKey?: string | null;
|
|
37
|
+
/**
|
|
38
|
+
* Emitted when the user hovers a datum (its key) or leaves the plot (`null`).
|
|
39
|
+
* Always fired on pointer move/leave — even while CONTROLLED — so dataviz can
|
|
40
|
+
* keep the shared hover channel in sync.
|
|
41
|
+
*/
|
|
42
|
+
onHoverKeyChange?: (key: string | null) => void;
|
|
20
43
|
class?: string;
|
|
21
44
|
};
|
|
22
45
|
export declare const AreaChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -48,6 +71,18 @@ export declare const AreaChart: import("vue").DefineComponent<import("vue").Extr
|
|
|
48
71
|
type: () => ChartAnnotation[];
|
|
49
72
|
default: undefined;
|
|
50
73
|
};
|
|
74
|
+
dataLabels: {
|
|
75
|
+
type: () => DataLabelsProp;
|
|
76
|
+
default: undefined;
|
|
77
|
+
};
|
|
78
|
+
hoverKey: {
|
|
79
|
+
type: () => string | null;
|
|
80
|
+
default: undefined;
|
|
81
|
+
};
|
|
82
|
+
onHoverKeyChange: {
|
|
83
|
+
type: () => (key: string | null) => void;
|
|
84
|
+
default: undefined;
|
|
85
|
+
};
|
|
51
86
|
class: {
|
|
52
87
|
type: StringConstructor;
|
|
53
88
|
default: undefined;
|
|
@@ -83,6 +118,18 @@ export declare const AreaChart: import("vue").DefineComponent<import("vue").Extr
|
|
|
83
118
|
type: () => ChartAnnotation[];
|
|
84
119
|
default: undefined;
|
|
85
120
|
};
|
|
121
|
+
dataLabels: {
|
|
122
|
+
type: () => DataLabelsProp;
|
|
123
|
+
default: undefined;
|
|
124
|
+
};
|
|
125
|
+
hoverKey: {
|
|
126
|
+
type: () => string | null;
|
|
127
|
+
default: undefined;
|
|
128
|
+
};
|
|
129
|
+
onHoverKeyChange: {
|
|
130
|
+
type: () => (key: string | null) => void;
|
|
131
|
+
default: undefined;
|
|
132
|
+
};
|
|
86
133
|
class: {
|
|
87
134
|
type: StringConstructor;
|
|
88
135
|
default: undefined;
|
|
@@ -95,5 +142,8 @@ export declare const AreaChart: import("vue").DefineComponent<import("vue").Extr
|
|
|
95
142
|
tone: AreaChartTone;
|
|
96
143
|
smooth: boolean;
|
|
97
144
|
annotations: ChartAnnotation[];
|
|
145
|
+
dataLabels: DataLabelsProp;
|
|
146
|
+
hoverKey: string | null;
|
|
147
|
+
onHoverKeyChange: (key: string | null) => void;
|
|
98
148
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
99
149
|
//# sourceMappingURL=AreaChart.d.ts.map
|
package/dist/AreaChart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AreaChart.d.ts","sourceRoot":"","sources":["../src/AreaChart.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"AreaChart.d.ts","sourceRoot":"","sources":["../src/AreaChart.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjG,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF,eAAO,MAAM,SAAS;;cAGK,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE;;;;;;;;;;;;cAGhC,MAAM,aAAa;;;;;;;;;;;;cAGb,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cACjC,MAAM,MAAM,GAAG,IAAI;;;;cACT,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;;;cAT5D,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE;;;;;;;;;;;;cAGhC,MAAM,aAAa;;;;;;;;;;;;cAGb,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cACjC,MAAM,MAAM,GAAG,IAAI;;;;cACT,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;;;;;;;;;4BAAtB,MAAM,GAAG,IAAI,KAAK,IAAI;4EAgYrF,CAAC"}
|
package/dist/AreaChart.js
CHANGED
|
@@ -2,6 +2,8 @@ import { defineComponent, h, ref } from "vue";
|
|
|
2
2
|
import { classNames } from "./classNames.js";
|
|
3
3
|
import { buildLinearPath, buildSmoothPath, CHART_MARGIN, chartDataList, formatTick, isNumeric, niceTicks, scaleLinear, } from "./chartScale.js";
|
|
4
4
|
import { annotationDataListItems, polygonPoints, resolveAnnotations, } from "./chartAnnotations.js";
|
|
5
|
+
import { formatDataLabel, normalizeDataLabels } from "./chartDataLabels.js";
|
|
6
|
+
import { keyForX, resolveActiveIndex } from "./chartCrosshair.js";
|
|
5
7
|
const MARGIN = CHART_MARGIN;
|
|
6
8
|
let gradientCounter = 0;
|
|
7
9
|
export const AreaChart = defineComponent({
|
|
@@ -14,23 +16,14 @@ export const AreaChart = defineComponent({
|
|
|
14
16
|
smooth: { type: Boolean, default: false },
|
|
15
17
|
label: { type: String, required: true },
|
|
16
18
|
annotations: { type: Array, default: undefined },
|
|
19
|
+
dataLabels: { type: [Boolean, Object], default: undefined },
|
|
20
|
+
hoverKey: { type: String, default: undefined },
|
|
21
|
+
onHoverKeyChange: { type: Function, default: undefined },
|
|
17
22
|
class: { type: String, default: undefined },
|
|
18
23
|
},
|
|
19
24
|
setup(props, { attrs }) {
|
|
20
25
|
const hoveredIndex = ref(null);
|
|
21
26
|
const gradientId = `st-areachart-gradient-${(gradientCounter++).toString(36)}-${Math.random().toString(36).substring(2, 9)}`;
|
|
22
|
-
function handleLeave() {
|
|
23
|
-
hoveredIndex.value = null;
|
|
24
|
-
}
|
|
25
|
-
function handleVisualPointerMove(event) {
|
|
26
|
-
const target = event.target;
|
|
27
|
-
if (!(target instanceof Element)) {
|
|
28
|
-
hoveredIndex.value = null;
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const index = Number(target.getAttribute("data-chart-index"));
|
|
32
|
-
hoveredIndex.value = Number.isInteger(index) ? index : null;
|
|
33
|
-
}
|
|
34
27
|
return () => {
|
|
35
28
|
const width = props.width ?? 480;
|
|
36
29
|
const height = props.height ?? 240;
|
|
@@ -121,6 +114,17 @@ export const AreaChart = defineComponent({
|
|
|
121
114
|
});
|
|
122
115
|
const annotationRegions = resolvedAnnotations.filter((a) => a.kind === "region");
|
|
123
116
|
const annotationAbove = resolvedAnnotations.filter((a) => a.kind !== "region");
|
|
117
|
+
// --- Data labels ------------------------------------------------------
|
|
118
|
+
// One value label per point. Default `top`: just above the dot. `center`
|
|
119
|
+
// sits on the dot. aria-hidden (values are in the ChartDataList already).
|
|
120
|
+
const dataLabelOpts = normalizeDataLabels(props.dataLabels);
|
|
121
|
+
const dataLabelItems = dataLabelOpts.enabled
|
|
122
|
+
? points.map((p) => {
|
|
123
|
+
const text = formatDataLabel(p.datum.y, dataLabelOpts, formatTick);
|
|
124
|
+
const center = dataLabelOpts.position === "center" || dataLabelOpts.position === "inside";
|
|
125
|
+
return { key: p.index, x: p.x, y: center ? p.y : p.y - 8, text, baseline: center ? "middle" : "auto" };
|
|
126
|
+
})
|
|
127
|
+
: [];
|
|
124
128
|
const linePath = points.length === 0 ? "" : smooth ? buildSmoothPath(points) : buildLinearPath(points);
|
|
125
129
|
let areaPath = "";
|
|
126
130
|
if (points.length !== 0) {
|
|
@@ -211,6 +215,10 @@ export const AreaChart = defineComponent({
|
|
|
211
215
|
];
|
|
212
216
|
}))
|
|
213
217
|
: null;
|
|
218
|
+
// Data labels — one value per point, drawn on top. aria-hidden.
|
|
219
|
+
const dataLabelGroup = dataLabelItems.length > 0
|
|
220
|
+
? h("g", { class: "st-areaChart__dataLabels", "aria-hidden": "true" }, dataLabelItems.map((d) => h("text", { key: `dl-${d.key}`, class: "st-areaChart__dataLabel", x: d.x, y: d.y, "text-anchor": "middle", "dominant-baseline": d.baseline }, d.text)))
|
|
221
|
+
: null;
|
|
214
222
|
const svgChildren = [
|
|
215
223
|
h("defs", {}, [
|
|
216
224
|
h("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1" }, [
|
|
@@ -236,7 +244,50 @@ export const AreaChart = defineComponent({
|
|
|
236
244
|
if (annotationAboveGroup) {
|
|
237
245
|
svgChildren.push(annotationAboveGroup);
|
|
238
246
|
}
|
|
239
|
-
|
|
247
|
+
if (dataLabelGroup) {
|
|
248
|
+
svgChildren.push(dataLabelGroup);
|
|
249
|
+
}
|
|
250
|
+
// Stable key per datum (FR-3): `String(x)` of the normalised datum (a bare
|
|
251
|
+
// number becomes its index). Resolves a controlled `hoverKey` to an index
|
|
252
|
+
// and feeds `onHoverKeyChange` from pointer events.
|
|
253
|
+
const hoverKeys = normalizedData.map((d) => keyForX(d.x));
|
|
254
|
+
const emitHoverKey = (index) => {
|
|
255
|
+
props.onHoverKeyChange?.(index == null ? null : hoverKeys[index] ?? null);
|
|
256
|
+
};
|
|
257
|
+
const handleLeave = () => {
|
|
258
|
+
hoveredIndex.value = null;
|
|
259
|
+
emitHoverKey(null);
|
|
260
|
+
};
|
|
261
|
+
const handleVisualPointerMove = (event) => {
|
|
262
|
+
const target = event.target;
|
|
263
|
+
if (!(target instanceof Element)) {
|
|
264
|
+
hoveredIndex.value = null;
|
|
265
|
+
emitHoverKey(null);
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
const raw = Number(target.getAttribute("data-chart-index"));
|
|
269
|
+
const index = Number.isInteger(raw) ? raw : null;
|
|
270
|
+
hoveredIndex.value = index;
|
|
271
|
+
emitHoverKey(index);
|
|
272
|
+
};
|
|
273
|
+
// Index whose crosshair/tooltip is DISPLAYED: the controlled `hoverKey`
|
|
274
|
+
// when provided (resolved against `hoverKeys`), else the pointer index.
|
|
275
|
+
const activeIndex = resolveActiveIndex(props.hoverKey, hoveredIndex.value, hoverKeys);
|
|
276
|
+
const hoveredPoint = activeIndex >= 0 ? points[activeIndex] : undefined;
|
|
277
|
+
// Crosshair vnodes (FR-3) — tokenised vertical line + marker at the active
|
|
278
|
+
// key. Decorative (aria-hidden). Appended last so it sits on top.
|
|
279
|
+
if (hoveredPoint) {
|
|
280
|
+
svgChildren.push(h("g", { class: "st-areaChart__crosshair", "aria-hidden": "true" }, [
|
|
281
|
+
h("line", {
|
|
282
|
+
class: "st-areaChart__crosshairLine",
|
|
283
|
+
x1: hoveredPoint.x,
|
|
284
|
+
x2: hoveredPoint.x,
|
|
285
|
+
y1: MARGIN.top,
|
|
286
|
+
y2: MARGIN.top + plotHeight,
|
|
287
|
+
}),
|
|
288
|
+
h("circle", { class: "st-areaChart__crosshairMarker", cx: hoveredPoint.x, cy: hoveredPoint.y, r: "5" }),
|
|
289
|
+
]));
|
|
290
|
+
}
|
|
240
291
|
return h("div", { ...attrs, class: classNames("st-areaChart", `st-areaChart--${tone}`, props.class) }, [
|
|
241
292
|
h("div", {
|
|
242
293
|
class: "st-areaChart__visual",
|
package/dist/AreaChart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AreaChart.js","sourceRoot":"","sources":["../src/AreaChart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AreaChart.js","sourceRoot":"","sources":["../src/AreaChart.ts"],"names":[],"mappings":"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"}
|
package/dist/BarChart.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ChartBand, type ChartGoalLine, type ChartReferenceLine, type ChartScale } from "./chartScale.js";
|
|
2
2
|
import { type ChartAnnotation } from "./chartAnnotations.js";
|
|
3
|
+
import { type DataLabelsProp } from "./chartDataLabels.js";
|
|
3
4
|
export type BarChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
|
|
4
5
|
export type BarChartDatum = {
|
|
5
6
|
label: string;
|
|
@@ -53,6 +54,14 @@ export type BarChartProps = {
|
|
|
53
54
|
* unchanged.
|
|
54
55
|
*/
|
|
55
56
|
annotations?: ChartAnnotation[];
|
|
57
|
+
/**
|
|
58
|
+
* Per-bar value labels. `false`/absent (default) → none. `true` → each bar's
|
|
59
|
+
* value with the chart's numeric formatter. Object → `format(value)` and/or a
|
|
60
|
+
* `position` override. Default position is `outside` (above the bar in
|
|
61
|
+
* vertical mode, past the bar end in horizontal mode). Labels are
|
|
62
|
+
* `aria-hidden` — the values already live in the accessible ChartDataList.
|
|
63
|
+
*/
|
|
64
|
+
dataLabels?: DataLabelsProp;
|
|
56
65
|
/**
|
|
57
66
|
* Value-axis scale. `"linear"` (default) is unchanged. `"log"` switches the
|
|
58
67
|
* value axis to base-10 logarithmic — values `<= 0` are ignored for
|
|
@@ -67,6 +76,20 @@ export type BarChartProps = {
|
|
|
67
76
|
* and otherwise ignored.
|
|
68
77
|
*/
|
|
69
78
|
showLegend?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* CONTROLLED synchronised hover key (FR-3). A bar's key is its `label`. When
|
|
81
|
+
* provided (string or null), the crosshair + tooltip track this key instead of
|
|
82
|
+
* the chart's internal pointer hover (null ⇒ nothing shown), letting a parent
|
|
83
|
+
* share one hover channel across several aligned charts. Absent (`undefined`)
|
|
84
|
+
* keeps the legacy uncontrolled behaviour. Independent of `selectedKeys`.
|
|
85
|
+
*/
|
|
86
|
+
hoverKey?: string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Emitted when the user hovers a bar (its `label`) or leaves the plot (`null`).
|
|
89
|
+
* Always fired on pointer move/leave — even while CONTROLLED — so dataviz can
|
|
90
|
+
* keep the shared hover channel in sync.
|
|
91
|
+
*/
|
|
92
|
+
onHoverKeyChange?: (key: string | null) => void;
|
|
70
93
|
class?: string;
|
|
71
94
|
};
|
|
72
95
|
export declare const BarChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -118,6 +141,10 @@ export declare const BarChart: import("vue").DefineComponent<import("vue").Extra
|
|
|
118
141
|
type: () => ChartAnnotation[];
|
|
119
142
|
default: undefined;
|
|
120
143
|
};
|
|
144
|
+
dataLabels: {
|
|
145
|
+
type: () => DataLabelsProp;
|
|
146
|
+
default: undefined;
|
|
147
|
+
};
|
|
121
148
|
scale: {
|
|
122
149
|
type: () => ChartScale;
|
|
123
150
|
default: string;
|
|
@@ -130,6 +157,14 @@ export declare const BarChart: import("vue").DefineComponent<import("vue").Extra
|
|
|
130
157
|
type: BooleanConstructor;
|
|
131
158
|
default: undefined;
|
|
132
159
|
};
|
|
160
|
+
hoverKey: {
|
|
161
|
+
type: () => string | null;
|
|
162
|
+
default: undefined;
|
|
163
|
+
};
|
|
164
|
+
onHoverKeyChange: {
|
|
165
|
+
type: () => (key: string | null) => void;
|
|
166
|
+
default: undefined;
|
|
167
|
+
};
|
|
133
168
|
class: {
|
|
134
169
|
type: StringConstructor;
|
|
135
170
|
default: undefined;
|
|
@@ -185,6 +220,10 @@ export declare const BarChart: import("vue").DefineComponent<import("vue").Extra
|
|
|
185
220
|
type: () => ChartAnnotation[];
|
|
186
221
|
default: undefined;
|
|
187
222
|
};
|
|
223
|
+
dataLabels: {
|
|
224
|
+
type: () => DataLabelsProp;
|
|
225
|
+
default: undefined;
|
|
226
|
+
};
|
|
188
227
|
scale: {
|
|
189
228
|
type: () => ChartScale;
|
|
190
229
|
default: string;
|
|
@@ -197,6 +236,14 @@ export declare const BarChart: import("vue").DefineComponent<import("vue").Extra
|
|
|
197
236
|
type: BooleanConstructor;
|
|
198
237
|
default: undefined;
|
|
199
238
|
};
|
|
239
|
+
hoverKey: {
|
|
240
|
+
type: () => string | null;
|
|
241
|
+
default: undefined;
|
|
242
|
+
};
|
|
243
|
+
onHoverKeyChange: {
|
|
244
|
+
type: () => (key: string | null) => void;
|
|
245
|
+
default: undefined;
|
|
246
|
+
};
|
|
200
247
|
class: {
|
|
201
248
|
type: StringConstructor;
|
|
202
249
|
default: undefined;
|
|
@@ -209,6 +256,9 @@ export declare const BarChart: import("vue").DefineComponent<import("vue").Extra
|
|
|
209
256
|
orientation: "horizontal" | "vertical";
|
|
210
257
|
scale: ChartScale;
|
|
211
258
|
annotations: ChartAnnotation[];
|
|
259
|
+
dataLabels: DataLabelsProp;
|
|
260
|
+
hoverKey: string | null;
|
|
261
|
+
onHoverKeyChange: (key: string | null) => void;
|
|
212
262
|
domain: [number, number];
|
|
213
263
|
selectedKeys: string[];
|
|
214
264
|
referenceLines: ChartReferenceLine[];
|
package/dist/BarChart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../src/BarChart.ts"],"names":[],"mappings":"AAEA,OAAO,EAeL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../src/BarChart.ts"],"names":[],"mappings":"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"}
|
package/dist/BarChart.js
CHANGED
|
@@ -2,6 +2,8 @@ import { defineComponent, h, ref } from "vue";
|
|
|
2
2
|
import { classNames } from "./classNames.js";
|
|
3
3
|
import { CHART_MARGIN, chartDataList, clampFraction, extendValueDomain, fixedLogTicks, fixedTicks, formatTick, logTicks, niceTicks, overlayDataListItems, overlayToneClass, smallestPositive, validLinearDomain, validLogDomain, } from "./chartScale.js";
|
|
4
4
|
import { annotationDataListItems, polygonPoints, resolveAnnotations, } from "./chartAnnotations.js";
|
|
5
|
+
import { formatDataLabel, normalizeDataLabels } from "./chartDataLabels.js";
|
|
6
|
+
import { resolveActiveIndex } from "./chartCrosshair.js";
|
|
5
7
|
const MARGIN = CHART_MARGIN;
|
|
6
8
|
export const BarChart = defineComponent({
|
|
7
9
|
name: "BarChart",
|
|
@@ -18,25 +20,16 @@ export const BarChart = defineComponent({
|
|
|
18
20
|
bands: { type: Array, default: undefined },
|
|
19
21
|
goalLine: { type: Object, default: undefined },
|
|
20
22
|
annotations: { type: Array, default: undefined },
|
|
23
|
+
dataLabels: { type: [Boolean, Object], default: undefined },
|
|
21
24
|
scale: { type: String, default: "linear" },
|
|
22
25
|
invertAxis: { type: Boolean, default: false },
|
|
23
26
|
showLegend: { type: Boolean, default: undefined },
|
|
27
|
+
hoverKey: { type: String, default: undefined },
|
|
28
|
+
onHoverKeyChange: { type: Function, default: undefined },
|
|
24
29
|
class: { type: String, default: undefined },
|
|
25
30
|
},
|
|
26
31
|
setup(props, { attrs }) {
|
|
27
32
|
const hoveredIndex = ref(null);
|
|
28
|
-
function handleLeave() {
|
|
29
|
-
hoveredIndex.value = null;
|
|
30
|
-
}
|
|
31
|
-
function handleVisualPointerMove(event) {
|
|
32
|
-
const target = event.target;
|
|
33
|
-
if (!(target instanceof Element)) {
|
|
34
|
-
hoveredIndex.value = null;
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const index = Number(target.getAttribute("data-chart-index"));
|
|
38
|
-
hoveredIndex.value = Number.isInteger(index) ? index : null;
|
|
39
|
-
}
|
|
40
33
|
return () => {
|
|
41
34
|
const width = props.width ?? 480;
|
|
42
35
|
const height = props.height ?? 240;
|
|
@@ -273,6 +266,27 @@ export const BarChart = defineComponent({
|
|
|
273
266
|
});
|
|
274
267
|
const annotationRegions = resolvedAnnotations.filter((a) => a.kind === "region");
|
|
275
268
|
const annotationAbove = resolvedAnnotations.filter((a) => a.kind !== "region");
|
|
269
|
+
// --- Data labels ------------------------------------------------------
|
|
270
|
+
// One value label per bar, placed at the bar's value end. Default
|
|
271
|
+
// `outside`: above the bar (vertical) / past the bar end (horizontal).
|
|
272
|
+
// `inside`/`center` sit at the bar's mid-length. aria-hidden (values are
|
|
273
|
+
// in the ChartDataList already).
|
|
274
|
+
const dataLabelOpts = normalizeDataLabels(props.dataLabels);
|
|
275
|
+
const dataLabelItems = dataLabelOpts.enabled
|
|
276
|
+
? bars.map((bar) => {
|
|
277
|
+
const text = formatDataLabel(bar.datum.value, dataLabelOpts, formatTick);
|
|
278
|
+
const pos = dataLabelOpts.position ?? "outside";
|
|
279
|
+
const inside = pos === "inside" || pos === "center";
|
|
280
|
+
if (isVertical) {
|
|
281
|
+
const x = bar.cx;
|
|
282
|
+
const y = inside ? bar.y + bar.height / 2 : bar.cy - 6;
|
|
283
|
+
return { key: bar.datum.label, x, y, text, anchor: "middle", baseline: inside ? "middle" : "auto" };
|
|
284
|
+
}
|
|
285
|
+
const y = bar.cy;
|
|
286
|
+
const x = inside ? bar.x + bar.width / 2 : bar.cx + 4;
|
|
287
|
+
return { key: bar.datum.label, x, y, text, anchor: inside ? "middle" : "start", baseline: "middle" };
|
|
288
|
+
})
|
|
289
|
+
: [];
|
|
276
290
|
const dataValueItems = [
|
|
277
291
|
...data.map((d) => `${d.label}: ${d.value}`),
|
|
278
292
|
...overlayDataListItems({ referenceLines, bands, goalLine: goal, trend: null }),
|
|
@@ -418,6 +432,10 @@ export const BarChart = defineComponent({
|
|
|
418
432
|
];
|
|
419
433
|
}))
|
|
420
434
|
: null;
|
|
435
|
+
// Data labels — one value per bar, drawn on top. aria-hidden.
|
|
436
|
+
const dataLabelGroup = dataLabelItems.length > 0
|
|
437
|
+
? h("g", { class: "st-barChart__dataLabels", "aria-hidden": "true" }, dataLabelItems.map((d) => h("text", { key: `dl-${d.key}`, class: "st-barChart__dataLabel", x: d.x, y: d.y, "text-anchor": d.anchor, "dominant-baseline": d.baseline }, d.text)))
|
|
438
|
+
: null;
|
|
421
439
|
// Accessible selection surface — real <button>s OUTSIDE the aria-hidden
|
|
422
440
|
// SVG. This is the keyboard + screen-reader path for filtering.
|
|
423
441
|
const filterGroup = interactive
|
|
@@ -435,7 +453,54 @@ export const BarChart = defineComponent({
|
|
|
435
453
|
]);
|
|
436
454
|
}))
|
|
437
455
|
: null;
|
|
438
|
-
|
|
456
|
+
// Stable key per bar (FR-3): its `label`. Resolves a controlled `hoverKey`
|
|
457
|
+
// to an index and feeds `onHoverKeyChange` from pointer events.
|
|
458
|
+
const hoverKeys = bars.map((b) => b.datum.label);
|
|
459
|
+
const emitHoverKey = (index) => {
|
|
460
|
+
props.onHoverKeyChange?.(index == null ? null : hoverKeys[index] ?? null);
|
|
461
|
+
};
|
|
462
|
+
const handleLeave = () => {
|
|
463
|
+
hoveredIndex.value = null;
|
|
464
|
+
emitHoverKey(null);
|
|
465
|
+
};
|
|
466
|
+
const handleVisualPointerMove = (event) => {
|
|
467
|
+
const target = event.target;
|
|
468
|
+
if (!(target instanceof Element)) {
|
|
469
|
+
hoveredIndex.value = null;
|
|
470
|
+
emitHoverKey(null);
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
const raw = Number(target.getAttribute("data-chart-index"));
|
|
474
|
+
const index = Number.isInteger(raw) ? raw : null;
|
|
475
|
+
hoveredIndex.value = index;
|
|
476
|
+
emitHoverKey(index);
|
|
477
|
+
};
|
|
478
|
+
// Index whose crosshair/tooltip is DISPLAYED: the controlled `hoverKey`
|
|
479
|
+
// when provided (resolved against `hoverKeys`), else the pointer index.
|
|
480
|
+
const activeIndex = resolveActiveIndex(props.hoverKey, hoveredIndex.value, hoverKeys);
|
|
481
|
+
const hoveredBar = activeIndex >= 0 ? bars[activeIndex] : undefined;
|
|
482
|
+
// Crosshair vnode (FR-3) — a tokenised dashed line on the CATEGORY axis at
|
|
483
|
+
// the active bar: vertical (vertical bars) / horizontal (horizontal bars).
|
|
484
|
+
// Decorative (aria-hidden).
|
|
485
|
+
const crosshairGroup = hoveredBar
|
|
486
|
+
? h("g", { class: "st-barChart__crosshair", "aria-hidden": "true" }, [
|
|
487
|
+
isVertical
|
|
488
|
+
? h("line", {
|
|
489
|
+
class: "st-barChart__crosshairLine",
|
|
490
|
+
x1: hoveredBar.cx,
|
|
491
|
+
x2: hoveredBar.cx,
|
|
492
|
+
y1: MARGIN.top,
|
|
493
|
+
y2: MARGIN.top + plotHeight,
|
|
494
|
+
})
|
|
495
|
+
: h("line", {
|
|
496
|
+
class: "st-barChart__crosshairLine",
|
|
497
|
+
x1: MARGIN.left,
|
|
498
|
+
x2: MARGIN.left + plotWidth,
|
|
499
|
+
y1: hoveredBar.cy,
|
|
500
|
+
y2: hoveredBar.cy,
|
|
501
|
+
}),
|
|
502
|
+
])
|
|
503
|
+
: null;
|
|
439
504
|
return h("div", { ...attrs, class: classNames("st-barChart", props.class) }, [
|
|
440
505
|
h("div", {
|
|
441
506
|
class: "st-barChart__visual",
|
|
@@ -462,6 +527,8 @@ export const BarChart = defineComponent({
|
|
|
462
527
|
...errorBarNodes,
|
|
463
528
|
...goalOverlays,
|
|
464
529
|
...(annotationAboveGroup ? [annotationAboveGroup] : []),
|
|
530
|
+
...(dataLabelGroup ? [dataLabelGroup] : []),
|
|
531
|
+
...(crosshairGroup ? [crosshairGroup] : []),
|
|
465
532
|
]),
|
|
466
533
|
]),
|
|
467
534
|
filterGroup,
|