@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.
@@ -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
@@ -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;AAE/B,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,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;;;;;;;;;;;cAN9B,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE;;;;;;;;;;;;cAGhC,MAAM,aAAa;;;;;;;;;;;;cAGb,MAAM,eAAe,EAAE;;;;;;;;;;;;;;;4EAiUvD,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
- const hoveredPoint = hoveredIndex.value !== null ? points[hoveredIndex.value] : undefined;
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",
@@ -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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"}
@@ -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[];
@@ -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;AAE/B,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,eAAO,MAAM,QAAQ;;cAGM,MAAM,aAAa,EAAE;;;;;;;;;;;;cAGb,MAAM,UAAU,GAAG,YAAY;;;;;;;;cAE1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;cAC3B,MAAM,MAAM,EAAE;;;;cACJ,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;;;;cACnC,MAAM,kBAAkB,EAAE;;;;cACnC,MAAM,SAAS,EAAE;;;;cACb,MAAM,aAAa;;;;cACjB,MAAM,eAAe,EAAE;;;;cAC5B,MAAM,UAAU;;;;;;;;;;;;;;;;;;;cAZlB,MAAM,aAAa,EAAE;;;;;;;;;;;;cAGb,MAAM,UAAU,GAAG,YAAY;;;;;;;;cAE1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;cAC3B,MAAM,MAAM,EAAE;;;;cACJ,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;;;;cACnC,MAAM,kBAAkB,EAAE;;;;cACnC,MAAM,SAAS,EAAE;;;;cACb,MAAM,aAAa;;;;cACjB,MAAM,eAAe,EAAE;;;;cAC5B,MAAM,UAAU;;;;;;;;;;;;;;;;;oBALY,MAAM,KAAK,IAAI;;;;;;;;;;;;;4EAwlBtE,CAAC"}
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;AAC/B,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjG,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;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;AAIF,eAAO,MAAM,QAAQ;;cAGM,MAAM,aAAa,EAAE;;;;;;;;;;;;cAGb,MAAM,UAAU,GAAG,YAAY;;;;;;;;cAE1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;cAC3B,MAAM,MAAM,EAAE;;;;cACJ,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;;;;cACnC,MAAM,kBAAkB,EAAE;;;;cACnC,MAAM,SAAS,EAAE;;;;cACb,MAAM,aAAa;;;;cACjB,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cAC/C,MAAM,UAAU;;;;;;;;;;;;cAGF,MAAM,MAAM,GAAG,IAAI;;;;cACT,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;;;cAjB5D,MAAM,aAAa,EAAE;;;;;;;;;;;;cAGb,MAAM,UAAU,GAAG,YAAY;;;;;;;;cAE1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;cAC3B,MAAM,MAAM,EAAE;;;;cACJ,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;;;;cACnC,MAAM,kBAAkB,EAAE;;;;cACnC,MAAM,SAAS,EAAE;;;;cACb,MAAM,aAAa;;;;cACjB,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cAC/C,MAAM,UAAU;;;;;;;;;;;;cAGF,MAAM,MAAM,GAAG,IAAI;;;;cACT,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;oBAV9B,MAAM,KAAK,IAAI;;;;;;;;4BAUP,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;4EAkqBrF,CAAC"}
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
- const hoveredBar = hoveredIndex.value !== null ? bars[hoveredIndex.value] : undefined;
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,