@sentropic/design-system-vue 0.36.31 → 0.36.33

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/KpiCard.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { type CellDecoration } from "./cellDecoration.js";
2
+ export type { CellDecoration, CellDecorationIntent } from "./cellDecoration.js";
1
3
  export type KpiCardSize = "sm" | "md" | "lg";
2
4
  export type KpiCardTrend = "up" | "down" | "flat";
3
5
  export type KpiCardFormat = "number" | "currency" | "percent";
@@ -25,6 +27,11 @@ export type KpiCardProps = {
25
27
  sparkline?: number[];
26
28
  size?: KpiCardSize;
27
29
  tone?: KpiCardTone;
30
+ /**
31
+ * Conditional formatting : décoration sémantique de la carte (intent → token
32
+ * feedback en fond teinté accessible + icône lucide optionnelle).
33
+ */
34
+ decoration?: CellDecoration;
28
35
  class?: string;
29
36
  };
30
37
  export declare const KpiCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -76,6 +83,10 @@ export declare const KpiCard: import("vue").DefineComponent<import("vue").Extrac
76
83
  type: () => KpiCardTone;
77
84
  default: undefined;
78
85
  };
86
+ decoration: {
87
+ type: () => CellDecoration;
88
+ default: undefined;
89
+ };
79
90
  class: {
80
91
  type: StringConstructor;
81
92
  default: undefined;
@@ -131,6 +142,10 @@ export declare const KpiCard: import("vue").DefineComponent<import("vue").Extrac
131
142
  type: () => KpiCardTone;
132
143
  default: undefined;
133
144
  };
145
+ decoration: {
146
+ type: () => CellDecoration;
147
+ default: undefined;
148
+ };
134
149
  class: {
135
150
  type: StringConstructor;
136
151
  default: undefined;
@@ -147,5 +162,6 @@ export declare const KpiCard: import("vue").DefineComponent<import("vue").Extrac
147
162
  deltaFormat: KpiCardDeltaFormat;
148
163
  trend: KpiCardTrend;
149
164
  sparkline: number[];
165
+ decoration: CellDecoration;
150
166
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
151
167
  //# sourceMappingURL=KpiCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KpiCard.d.ts","sourceRoot":"","sources":["../src/KpiCard.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,OAAO;;cAG8B,MAAM,MAAM,GAAG,MAAM;;;;;;;;;;;;cAGpC,MAAM,kBAAkB;;;;cAC9B,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;;;;;;;;;cAIjB,MAAM,MAAM,EAAE;;;;cAClB,MAAM,WAAW;;;;cACjB,MAAM,WAAW;;;;;;;;;;;cAXK,MAAM,MAAM,GAAG,MAAM;;;;;;;;;;;;cAGpC,MAAM,kBAAkB;;;;cAC9B,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;;;;;;;;;cAIjB,MAAM,MAAM,EAAE;;;;cAClB,MAAM,WAAW;;;;cACjB,MAAM,WAAW;;;;;;;;;;;;;;;;;;;4EAyK3C,CAAC"}
1
+ {"version":3,"file":"KpiCard.d.ts","sourceRoot":"","sources":["../src/KpiCard.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,OAAO;;cAG8B,MAAM,MAAM,GAAG,MAAM;;;;;;;;;;;;cAGpC,MAAM,kBAAkB;;;;cAC9B,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;;;;;;;;;cAIjB,MAAM,MAAM,EAAE;;;;cAClB,MAAM,WAAW;;;;cACjB,MAAM,WAAW;;;;cACX,MAAM,cAAc;;;;;;;;;;;cAZJ,MAAM,MAAM,GAAG,MAAM;;;;;;;;;;;;cAGpC,MAAM,kBAAkB;;;;cAC9B,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;;;;;;;;;cAIjB,MAAM,MAAM,EAAE;;;;cAClB,MAAM,WAAW;;;;cACjB,MAAM,WAAW;;;;cACX,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;4EAgLpD,CAAC"}
package/dist/KpiCard.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, h } from "vue";
2
2
  import { classNames } from "./classNames.js";
3
3
  import { Sparkline } from "./Sparkline.js";
4
+ import { cellDecorationClass, cellDecorationLabel, renderCellDecorationIcon, } from "./cellDecoration.js";
4
5
  export const KpiCard = defineComponent({
5
6
  name: "KpiCard",
6
7
  props: {
@@ -16,6 +17,7 @@ export const KpiCard = defineComponent({
16
17
  sparkline: { type: Array, default: undefined },
17
18
  size: { type: String, default: "md" },
18
19
  tone: { type: String, default: undefined },
20
+ decoration: { type: Object, default: undefined },
19
21
  class: { type: String, default: undefined },
20
22
  },
21
23
  setup(props, { attrs }) {
@@ -31,6 +33,7 @@ export const KpiCard = defineComponent({
31
33
  const sparkline = props.sparkline;
32
34
  const size = props.size ?? "md";
33
35
  const tone = props.tone;
36
+ const decoration = props.decoration;
34
37
  const resolvedTrend = props.trend ?? (delta == null ? undefined : delta > 0 ? "up" : delta < 0 ? "down" : "flat");
35
38
  let formattedValue;
36
39
  if (typeof value === "string") {
@@ -92,13 +95,18 @@ export const KpiCard = defineComponent({
92
95
  formattedValue,
93
96
  ariaUnit,
94
97
  formattedDelta && `${formattedDelta} ${trendLabel ?? ""}`.trim(),
98
+ decoration && cellDecorationLabel[decoration.intent],
95
99
  ]
96
100
  .filter(Boolean)
97
101
  .join(", ");
98
- const classes = classNames("st-kpiCard", `st-kpiCard--${size}`, tone && `st-kpiCard--${tone}`, tone && "st-kpiCard--toned", props.class);
99
- const valueChildren = [
100
- h("span", { class: "st-kpiCard__number" }, formattedValue),
101
- ];
102
+ const classes = classNames("st-kpiCard", `st-kpiCard--${size}`, tone && `st-kpiCard--${tone}`, tone && "st-kpiCard--toned", decoration && "st-cell", decoration && cellDecorationClass(decoration.intent), props.class);
103
+ const valueChildren = [];
104
+ if (decoration) {
105
+ const icon = renderCellDecorationIcon(decoration.icon);
106
+ if (icon)
107
+ valueChildren.push(icon);
108
+ }
109
+ valueChildren.push(h("span", { class: "st-kpiCard__number" }, formattedValue));
102
110
  if (unit) {
103
111
  valueChildren.push(h("span", { class: "st-kpiCard__unit" }, unit));
104
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KpiCard.js","sourceRoot":"","sources":["../src/KpiCard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KpiCard.js","sourceRoot":"","sources":["../src/KpiCard.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { type ChartAnnotation } from "./chartAnnotations.js";
2
+ import { type DataLabelsProp } from "./chartDataLabels.js";
1
3
  export type OHLCChartDatum = {
2
4
  label: string;
3
5
  open: number;
@@ -10,6 +12,12 @@ export type OHLCChartProps = {
10
12
  label: string;
11
13
  width?: number;
12
14
  height?: number;
15
+ annotations?: ChartAnnotation[];
16
+ dataLabels?: DataLabelsProp;
17
+ hoverKey?: string | null;
18
+ onHoverKeyChange?: (key: string | null) => void;
19
+ keyboardNav?: boolean;
20
+ onSelectKey?: (key: string | null) => void;
13
21
  class?: string;
14
22
  };
15
23
  export declare const OHLCChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -29,6 +37,30 @@ export declare const OHLCChart: import("vue").DefineComponent<import("vue").Extr
29
37
  type: NumberConstructor;
30
38
  default: number;
31
39
  };
40
+ annotations: {
41
+ type: () => ChartAnnotation[];
42
+ default: undefined;
43
+ };
44
+ dataLabels: {
45
+ type: () => DataLabelsProp;
46
+ default: undefined;
47
+ };
48
+ hoverKey: {
49
+ type: () => string | null;
50
+ default: undefined;
51
+ };
52
+ onHoverKeyChange: {
53
+ type: () => (key: string | null) => void;
54
+ default: undefined;
55
+ };
56
+ keyboardNav: {
57
+ type: BooleanConstructor;
58
+ default: undefined;
59
+ };
60
+ onSelectKey: {
61
+ type: () => (key: string | null) => void;
62
+ default: undefined;
63
+ };
32
64
  class: {
33
65
  type: StringConstructor;
34
66
  default: undefined;
@@ -52,6 +84,30 @@ export declare const OHLCChart: import("vue").DefineComponent<import("vue").Extr
52
84
  type: NumberConstructor;
53
85
  default: number;
54
86
  };
87
+ annotations: {
88
+ type: () => ChartAnnotation[];
89
+ default: undefined;
90
+ };
91
+ dataLabels: {
92
+ type: () => DataLabelsProp;
93
+ default: undefined;
94
+ };
95
+ hoverKey: {
96
+ type: () => string | null;
97
+ default: undefined;
98
+ };
99
+ onHoverKeyChange: {
100
+ type: () => (key: string | null) => void;
101
+ default: undefined;
102
+ };
103
+ keyboardNav: {
104
+ type: BooleanConstructor;
105
+ default: undefined;
106
+ };
107
+ onSelectKey: {
108
+ type: () => (key: string | null) => void;
109
+ default: undefined;
110
+ };
55
111
  class: {
56
112
  type: StringConstructor;
57
113
  default: undefined;
@@ -61,5 +117,11 @@ export declare const OHLCChart: import("vue").DefineComponent<import("vue").Extr
61
117
  data: OHLCChartDatum[];
62
118
  height: number;
63
119
  width: number;
120
+ annotations: ChartAnnotation[];
121
+ dataLabels: DataLabelsProp;
122
+ hoverKey: string | null;
123
+ onHoverKeyChange: (key: string | null) => void;
124
+ keyboardNav: boolean;
125
+ onSelectKey: (key: string | null) => void;
64
126
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
65
127
  //# sourceMappingURL=OHLCChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OHLCChart.d.ts","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAsCF,eAAO,MAAM,SAAS;;cAGK,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;cAAtB,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;4EA0L/C,CAAC"}
1
+ {"version":3,"file":"OHLCChart.d.ts","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIjG,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAsCF,eAAO,MAAM,SAAS;;cAGK,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;;cAIf,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cACjC,MAAM,MAAM,GAAG,IAAI;;;;cACT,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;cAEvC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;;;cATvD,MAAM,cAAc,EAAE;;;;;;;;;;;;;;;;cAIf,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cACjC,MAAM,MAAM,GAAG,IAAI;;;;cACT,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;cAEvC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;;;;;;;4BAFjB,MAAM,GAAG,IAAI,KAAK,IAAI;;uBAE3B,MAAM,GAAG,IAAI,KAAK,IAAI;4EAqZhF,CAAC"}
package/dist/OHLCChart.js CHANGED
@@ -1,6 +1,10 @@
1
1
  import { defineComponent, h, ref } from "vue";
2
2
  import { classNames } from "./classNames.js";
3
3
  import { chartDataList } from "./chartScale.js";
4
+ import { annotationDataListItems, polygonPoints, resolveAnnotations, } from "./chartAnnotations.js";
5
+ import { formatDataLabel, normalizeDataLabels } from "./chartDataLabels.js";
6
+ import { resolveActiveIndex } from "./chartCrosshair.js";
7
+ import { datapointAriaLabel, datapointNavAction, rovingTabIndex } from "./chartKeyboardNav.js";
4
8
  const MARGIN = { top: 12, right: 16, bottom: 32, left: 52 };
5
9
  function scaleLinear(v, d0, d1, r0, r1) {
6
10
  if (d1 === d0)
@@ -47,22 +51,19 @@ export const OHLCChart = defineComponent({
47
51
  label: { type: String, required: true },
48
52
  width: { type: Number, default: 480 },
49
53
  height: { type: Number, default: 240 },
54
+ annotations: { type: Array, default: undefined },
55
+ dataLabels: { type: [Boolean, Object], default: undefined },
56
+ hoverKey: { type: String, default: undefined },
57
+ onHoverKeyChange: { type: Function, default: undefined },
58
+ keyboardNav: { type: Boolean, default: undefined },
59
+ onSelectKey: { type: Function, default: undefined },
50
60
  class: { type: String, default: undefined },
51
61
  },
52
62
  setup(props, { attrs }) {
53
63
  const hoveredIndex = ref(null);
54
- function handleLeave() {
55
- hoveredIndex.value = null;
56
- }
57
- function handlePointerMove(event) {
58
- const target = event.target;
59
- if (!(target instanceof Element)) {
60
- hoveredIndex.value = null;
61
- return;
62
- }
63
- const idx = Number(target.getAttribute("data-chart-index"));
64
- hoveredIndex.value = Number.isInteger(idx) ? idx : null;
65
- }
64
+ // FR-5 — roving keyboard focus over the data points (separate from hover).
65
+ const focusedIndex = ref(-1);
66
+ const datapointRefs = [];
66
67
  return () => {
67
68
  const data = props.data ?? [];
68
69
  const label = props.label;
@@ -109,7 +110,100 @@ export const OHLCChart = defineComponent({
109
110
  tooltipY: Math.min(highY, openY, closeY),
110
111
  };
111
112
  });
112
- const dataValueItems = validData.map((d) => `${d.label}: O ${d.open} H ${d.high} L ${d.low} C ${d.close}`);
113
+ // --- Annotation overlay -------------------------------------------------
114
+ // The x coordinate is CATEGORICAL (a bar `label` → centre of band); the y
115
+ // coordinate is a price-axis number. Regions render behind the bars, every
116
+ // other kind above. The resolver maps each x via `xScale` (category →
117
+ // pixel) and each y via `yScale` (price → pixel), relative to the plot.
118
+ const priceY = (v) => {
119
+ if (!Number.isFinite(v))
120
+ return null;
121
+ return scaleLinear(v, domainMin, domainMax, plotHeight, 0);
122
+ };
123
+ const categoryPixel = (v) => {
124
+ const bar = bars.find((b) => b.datum.label === String(v));
125
+ if (!bar)
126
+ return null;
127
+ return bar.centerX - MARGIN.left;
128
+ };
129
+ const resolvedAnnotations = resolveAnnotations(props.annotations, {
130
+ xScale: (v) => categoryPixel(v),
131
+ yScale: (v) => priceY(v),
132
+ plotLeft: MARGIN.left,
133
+ plotTop: MARGIN.top,
134
+ plotWidth,
135
+ plotHeight,
136
+ });
137
+ const annotationRegions = resolvedAnnotations.filter((a) => a.kind === "region");
138
+ const annotationAbove = resolvedAnnotations.filter((a) => a.kind !== "region");
139
+ // --- Data labels ------------------------------------------------------
140
+ // One `close` value label per bar, placed just above it. aria-hidden.
141
+ const dataLabelOpts = normalizeDataLabels(props.dataLabels);
142
+ const dataLabelItems = dataLabelOpts.enabled
143
+ ? bars.map((bar) => ({
144
+ key: bar.datum.label,
145
+ x: bar.centerX,
146
+ y: bar.barHighY - 6,
147
+ text: formatDataLabel(bar.datum.close, dataLabelOpts, formatTick),
148
+ }))
149
+ : [];
150
+ const dataValueItems = [
151
+ ...validData.map((d) => `${d.label}: O ${d.open} H ${d.high} L ${d.low} C ${d.close}`),
152
+ ...annotationDataListItems(props.annotations),
153
+ ];
154
+ // Stable key per bar (FR-3): its `label`. Resolves a controlled `hoverKey`
155
+ // to an index and feeds `onHoverKeyChange` from pointer events.
156
+ const hoverKeys = bars.map((b) => b.datum.label);
157
+ const emitHoverKey = (index) => {
158
+ props.onHoverKeyChange?.(index == null ? null : hoverKeys[index] ?? null);
159
+ };
160
+ const handleLeave = () => {
161
+ hoveredIndex.value = null;
162
+ emitHoverKey(null);
163
+ };
164
+ const handlePointerMove = (event) => {
165
+ const target = event.target;
166
+ if (!(target instanceof Element)) {
167
+ hoveredIndex.value = null;
168
+ emitHoverKey(null);
169
+ return;
170
+ }
171
+ const raw = Number(target.getAttribute("data-chart-index"));
172
+ const index = Number.isInteger(raw) ? raw : null;
173
+ hoveredIndex.value = index;
174
+ emitHoverKey(index);
175
+ };
176
+ // Index whose crosshair/tooltip is DISPLAYED: the controlled `hoverKey`
177
+ // when provided (resolved against `hoverKeys`), else the pointer index.
178
+ const activeIndex = resolveActiveIndex(props.hoverKey, hoveredIndex.value, hoverKeys);
179
+ const hoveredBar = activeIndex >= 0 ? bars[activeIndex] : undefined;
180
+ // --- Keyboard navigation (FR-5) --------------------------------------
181
+ // Active when wired explicitly (`keyboardNav`) or implicitly (`onSelectKey`).
182
+ const navEnabled = (props.keyboardNav === true || props.onSelectKey !== undefined) && bars.length > 0;
183
+ const focusDatum = (index) => {
184
+ focusedIndex.value = index;
185
+ datapointRefs[index]?.focus();
186
+ emitHoverKey(index);
187
+ };
188
+ const handleDatapointKeyDown = (event, index) => {
189
+ const action = datapointNavAction(event.key, index, bars.length);
190
+ if (!action)
191
+ return;
192
+ event.preventDefault();
193
+ if (action.kind === "move") {
194
+ focusDatum(action.index);
195
+ }
196
+ else if (action.kind === "select") {
197
+ props.onSelectKey?.(bars[index].datum.label);
198
+ }
199
+ else {
200
+ focusedIndex.value = -1;
201
+ emitHoverKey(null);
202
+ props.onSelectKey?.(null);
203
+ event.currentTarget.blur();
204
+ }
205
+ };
206
+ const ohlcAriaLabel = (d) => datapointAriaLabel(d.label, `O ${d.open} H ${d.high} L ${d.low} C ${d.close}`);
113
207
  const svgChildren = [];
114
208
  // gridlines + tick labels
115
209
  for (const tick of ticks) {
@@ -120,6 +214,20 @@ export const OHLCChart = defineComponent({
120
214
  // axes
121
215
  svgChildren.push(h("line", { class: "st-ohlcChart__axis", x1: MARGIN.left, x2: MARGIN.left, y1: MARGIN.top, y2: height - MARGIN.bottom }));
122
216
  svgChildren.push(h("line", { class: "st-ohlcChart__axis", x1: MARGIN.left, x2: width - MARGIN.right, y1: height - MARGIN.bottom, y2: height - MARGIN.bottom }));
217
+ // Annotation regions sit BEHIND the bars (filled bands).
218
+ if (annotationRegions.length > 0) {
219
+ svgChildren.push(h("g", { class: "st-ohlcChart__annotations st-ohlcChart__annotations--behind" }, annotationRegions.flatMap((a) => {
220
+ if (a.kind !== "region")
221
+ return [];
222
+ const nodes = [
223
+ h("rect", { key: `ann-region-${a.key}`, class: "st-ohlcChart__annotationRegion", x: a.x, y: a.y, width: a.width, height: a.height }),
224
+ ];
225
+ if (a.label) {
226
+ nodes.push(h("text", { key: `ann-region-label-${a.key}`, class: "st-ohlcChart__annotationLabel", x: a.x + 4, y: a.y + 11 }, a.label));
227
+ }
228
+ return nodes;
229
+ })));
230
+ }
123
231
  // composite key to avoid duplicates
124
232
  for (const b of bars) {
125
233
  const i = b.index;
@@ -158,7 +266,92 @@ export const OHLCChart = defineComponent({
158
266
  "text-anchor": "middle",
159
267
  }, b.datum.label));
160
268
  }
161
- const hoveredBar = hoveredIndex.value !== null ? bars[hoveredIndex.value] : undefined;
269
+ // Annotations ABOVE the bars: lines, shapes, points, labels.
270
+ if (annotationAbove.length > 0) {
271
+ svgChildren.push(h("g", { class: "st-ohlcChart__annotations st-ohlcChart__annotations--above" }, annotationAbove.flatMap((a) => {
272
+ if (a.kind === "line") {
273
+ const nodes = [
274
+ h("line", { key: `ann-line-${a.key}`, class: "st-ohlcChart__annotationLine", x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }),
275
+ ];
276
+ if (a.label) {
277
+ nodes.push(h("text", {
278
+ key: `ann-line-label-${a.key}`,
279
+ class: "st-ohlcChart__annotationLabel",
280
+ x: a.axis === "x" ? a.x1 + 4 : MARGIN.left + plotWidth - 4,
281
+ y: a.axis === "x" ? MARGIN.top + 11 : a.y1 - 4,
282
+ "text-anchor": a.axis === "x" ? "start" : "end",
283
+ }, a.label));
284
+ }
285
+ return nodes;
286
+ }
287
+ if (a.kind === "shape") {
288
+ const nodes = [
289
+ h("polygon", { key: `ann-shape-${a.key}`, class: "st-ohlcChart__annotationShape", points: polygonPoints(a.points) }),
290
+ ];
291
+ if (a.label) {
292
+ nodes.push(h("text", { key: `ann-shape-label-${a.key}`, class: "st-ohlcChart__annotationLabel", x: a.labelX, y: a.labelY, "text-anchor": "middle" }, a.label));
293
+ }
294
+ return nodes;
295
+ }
296
+ if (a.kind === "point") {
297
+ const nodes = [
298
+ h("circle", { key: `ann-point-${a.key}`, class: "st-ohlcChart__annotationPoint", cx: a.x, cy: a.y, r: "4.5" }),
299
+ ];
300
+ if (a.label) {
301
+ nodes.push(h("text", { key: `ann-point-label-${a.key}`, class: "st-ohlcChart__annotationLabel", x: a.x, y: a.y - 8, "text-anchor": "middle" }, a.label));
302
+ }
303
+ return nodes;
304
+ }
305
+ return [
306
+ h("text", { key: `ann-label-${a.key}`, class: "st-ohlcChart__annotationText", x: a.x, y: a.y, "text-anchor": a.anchor }, a.text),
307
+ ];
308
+ })));
309
+ }
310
+ // Data labels — one close value per bar, drawn on top. aria-hidden.
311
+ if (dataLabelItems.length > 0) {
312
+ svgChildren.push(h("g", { class: "st-ohlcChart__dataLabels", "aria-hidden": "true" }, dataLabelItems.map((d) => h("text", { key: `dl-${d.key}`, class: "st-ohlcChart__dataLabel", x: d.x, y: d.y, "text-anchor": "middle", "dominant-baseline": "auto" }, d.text))));
313
+ }
314
+ // Crosshair (FR-3) — a tokenised dashed vertical line at the active bar.
315
+ if (hoveredBar) {
316
+ svgChildren.push(h("g", { class: "st-ohlcChart__crosshair", "aria-hidden": "true" }, [
317
+ h("line", {
318
+ class: "st-ohlcChart__crosshairLine",
319
+ x1: hoveredBar.centerX, x2: hoveredBar.centerX,
320
+ y1: MARGIN.top, y2: MARGIN.top + plotHeight,
321
+ }),
322
+ ]));
323
+ }
324
+ // Keyboard navigation overlay (FR-5) — a focusable, transparent hit layer
325
+ // over the bars. NOT aria-hidden: the accessible roving cursor.
326
+ const navLayer = navEnabled
327
+ ? h("svg", {
328
+ class: "st-ohlcChart__navLayer",
329
+ viewBox: `0 0 ${width} ${height}`,
330
+ preserveAspectRatio: "xMidYMid meet",
331
+ width: "100%",
332
+ height: "100%",
333
+ role: "group",
334
+ "aria-label": `${label} — points de données`,
335
+ }, bars.map((bar, i) => h("rect", {
336
+ key: `nav${i}-${bar.datum.label}`,
337
+ ref: ((el) => {
338
+ datapointRefs[i] = el;
339
+ }),
340
+ class: "st-ohlcChart__navDatum",
341
+ x: bar.centerX - band / 2,
342
+ y: MARGIN.top,
343
+ width: band,
344
+ height: plotHeight,
345
+ role: "img",
346
+ tabindex: rovingTabIndex(i, focusedIndex.value, bars.length),
347
+ "aria-label": ohlcAriaLabel(bar.datum),
348
+ onKeydown: (event) => handleDatapointKeyDown(event, i),
349
+ onFocus: () => {
350
+ focusedIndex.value = i;
351
+ emitHoverKey(i);
352
+ },
353
+ })))
354
+ : null;
162
355
  const children = [
163
356
  h("div", {
164
357
  class: "st-ohlcChart__visual",
@@ -173,6 +366,7 @@ export const OHLCChart = defineComponent({
173
366
  width: "100%", height: "100%",
174
367
  focusable: "false", "aria-hidden": "true",
175
368
  }, svgChildren),
369
+ ...(navLayer ? [navLayer] : []),
176
370
  ]),
177
371
  chartDataList(label, dataValueItems),
178
372
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"OHLCChart.js","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OHLCChart.js","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type VNode } from "vue";
2
+ /**
3
+ * Décoration sémantique d'une cellule (DataTable) ou d'une carte (KpiCard).
4
+ *
5
+ * API « conditional formatting » façon Power-BI : l'entrée est *pure data*
6
+ * (zéro couleur). Le DS résout l'`intent` en token feedback (mêmes que
7
+ * Badge/Status/Alert) appliqué en fond teinté accessible (WCAG via color-mix),
8
+ * et rend une icône lucide optionnelle.
9
+ *
10
+ * Le MOTEUR DE RÈGLES (seuils, comparaisons…) vit dans dataviz-core, hors DS :
11
+ * il produit ces décorations, le DS ne fait que les rendre.
12
+ */
13
+ export type CellDecorationIntent = "positive" | "negative" | "warning" | "info" | "neutral";
14
+ export interface CellDecoration {
15
+ /** Intention sémantique → token feedback + fond teinté accessible. */
16
+ intent: CellDecorationIntent;
17
+ /** Nom d'icône lucide (kebab-case, ex. « trending-up »). Ignoré si inconnu. */
18
+ icon?: string;
19
+ }
20
+ /**
21
+ * Texte lisible par lecteur d'écran décrivant l'intention. Le fond teinté n'est
22
+ * jamais la SEULE indication : ce libellé (et le `title`) accompagne la cellule.
23
+ */
24
+ export declare const cellDecorationLabel: Record<CellDecorationIntent, string>;
25
+ /** Classe utilitaire token-only résolue depuis l'intention. */
26
+ export declare function cellDecorationClass(intent: CellDecorationIntent): string;
27
+ /**
28
+ * Données de tracé lucide (mêmes paths que @lucide/svelte / lucide-react) pour
29
+ * un sous-ensemble d'icônes pertinentes en conditional formatting. Reproduites
30
+ * en SVG inline afin de garder une parité stricte 3 frameworks sans coupler le
31
+ * rendu à la résolution dynamique (différente entre lucide-react/-svelte/-vue).
32
+ */
33
+ type IconNode = Array<[string, Record<string, string | number>]>;
34
+ export declare const cellDecorationIconNodes: Record<string, IconNode>;
35
+ /** True si l'icône est connue du registre (sinon le rendu l'ignore proprement). */
36
+ export declare function hasCellDecorationIcon(icon: string | undefined): boolean;
37
+ /** Rend l'icône lucide en SVG inline, ou `null` si le nom est inconnu. */
38
+ export declare function renderCellDecorationIcon(icon: string | undefined): VNode | null;
39
+ export {};
40
+ //# sourceMappingURL=cellDecoration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellDecoration.d.ts","sourceRoot":"","sources":["../src/cellDecoration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5F,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,MAAM,EAAE,oBAAoB,CAAC;IAC7B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAMpE,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAExE;AAED;;;;;GAKG;AACH,KAAK,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAEjE,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAgD5D,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEvE;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAoB/E"}