@sentropic/design-system-vue 0.36.31 → 0.36.32

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,3 +1,5 @@
1
+ import { type ChartAnnotation } from "./chartAnnotations.js";
2
+ import { type DataLabelsProp } from "./chartDataLabels.js";
1
3
  export type CandlestickChartDatum = {
2
4
  label: string;
3
5
  open: number;
@@ -10,6 +12,12 @@ export type CandlestickChartProps = {
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 CandlestickChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -29,6 +37,30 @@ export declare const CandlestickChart: import("vue").DefineComponent<import("vue
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 CandlestickChart: import("vue").DefineComponent<import("vue
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 CandlestickChart: import("vue").DefineComponent<import("vue
61
117
  data: CandlestickChartDatum[];
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=CandlestickChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CandlestickChart.d.ts","sourceRoot":"","sources":["../src/CandlestickChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG;IAClC,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,qBAAqB,GAAG;IAClC,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,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,gBAAgB;;cAGF,MAAM,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;cAA7B,MAAM,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;4EAgLtD,CAAC"}
1
+ {"version":3,"file":"CandlestickChart.d.ts","sourceRoot":"","sources":["../src/CandlestickChart.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,qBAAqB,GAAG;IAClC,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,qBAAqB,GAAG;IAClC,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC9B,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,gBAAgB;;cAGF,MAAM,qBAAqB,EAAE;;;;;;;;;;;;;;;;cAItB,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,qBAAqB,EAAE;;;;;;;;;;;;;;;;cAItB,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;4EA2YhF,CAAC"}
@@ -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 CandlestickChart = 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 CandlestickChart = defineComponent({
109
110
  tooltipY: bodyTop,
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 candle `label` → centre of band); the
115
+ // y coordinate is a price-axis number. Regions render behind the candles,
116
+ // every 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 candle = candles.find((c) => c.datum.label === String(v));
125
+ if (!candle)
126
+ return null;
127
+ return candle.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 candle, placed just above it. aria-hidden.
141
+ const dataLabelOpts = normalizeDataLabels(props.dataLabels);
142
+ const dataLabelItems = dataLabelOpts.enabled
143
+ ? candles.map((candle) => ({
144
+ key: candle.datum.label,
145
+ x: candle.centerX,
146
+ y: candle.wickHighY - 6,
147
+ text: formatDataLabel(candle.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 candle (FR-3): its `label`. Resolves a controlled
155
+ // `hoverKey` to an index and feeds `onHoverKeyChange` from pointer events.
156
+ const hoverKeys = candles.map((c) => c.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 hoveredCandle = activeIndex >= 0 ? candles[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) && candles.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, candles.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?.(candles[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 CandlestickChart = defineComponent({
120
214
  // axes
121
215
  svgChildren.push(h("line", { class: "st-candlestickChart__axis", x1: MARGIN.left, x2: MARGIN.left, y1: MARGIN.top, y2: height - MARGIN.bottom }));
122
216
  svgChildren.push(h("line", { class: "st-candlestickChart__axis", x1: MARGIN.left, x2: width - MARGIN.right, y1: height - MARGIN.bottom, y2: height - MARGIN.bottom }));
217
+ // Annotation regions sit BEHIND the candles (filled bands).
218
+ if (annotationRegions.length > 0) {
219
+ svgChildren.push(h("g", { class: "st-candlestickChart__annotations st-candlestickChart__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-candlestickChart__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-candlestickChart__annotationLabel", x: a.x + 4, y: a.y + 11 }, a.label));
227
+ }
228
+ return nodes;
229
+ })));
230
+ }
123
231
  // FIX: composite key to avoid duplicates
124
232
  for (const c of candles) {
125
233
  const i = c.index;
@@ -148,7 +256,92 @@ export const CandlestickChart = defineComponent({
148
256
  "text-anchor": "middle",
149
257
  }, c.datum.label));
150
258
  }
151
- const hoveredCandle = hoveredIndex.value !== null ? candles[hoveredIndex.value] : undefined;
259
+ // Annotations ABOVE the candles: lines, shapes, points, labels.
260
+ if (annotationAbove.length > 0) {
261
+ svgChildren.push(h("g", { class: "st-candlestickChart__annotations st-candlestickChart__annotations--above" }, annotationAbove.flatMap((a) => {
262
+ if (a.kind === "line") {
263
+ const nodes = [
264
+ h("line", { key: `ann-line-${a.key}`, class: "st-candlestickChart__annotationLine", x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }),
265
+ ];
266
+ if (a.label) {
267
+ nodes.push(h("text", {
268
+ key: `ann-line-label-${a.key}`,
269
+ class: "st-candlestickChart__annotationLabel",
270
+ x: a.axis === "x" ? a.x1 + 4 : MARGIN.left + plotWidth - 4,
271
+ y: a.axis === "x" ? MARGIN.top + 11 : a.y1 - 4,
272
+ "text-anchor": a.axis === "x" ? "start" : "end",
273
+ }, a.label));
274
+ }
275
+ return nodes;
276
+ }
277
+ if (a.kind === "shape") {
278
+ const nodes = [
279
+ h("polygon", { key: `ann-shape-${a.key}`, class: "st-candlestickChart__annotationShape", points: polygonPoints(a.points) }),
280
+ ];
281
+ if (a.label) {
282
+ nodes.push(h("text", { key: `ann-shape-label-${a.key}`, class: "st-candlestickChart__annotationLabel", x: a.labelX, y: a.labelY, "text-anchor": "middle" }, a.label));
283
+ }
284
+ return nodes;
285
+ }
286
+ if (a.kind === "point") {
287
+ const nodes = [
288
+ h("circle", { key: `ann-point-${a.key}`, class: "st-candlestickChart__annotationPoint", cx: a.x, cy: a.y, r: "4.5" }),
289
+ ];
290
+ if (a.label) {
291
+ nodes.push(h("text", { key: `ann-point-label-${a.key}`, class: "st-candlestickChart__annotationLabel", x: a.x, y: a.y - 8, "text-anchor": "middle" }, a.label));
292
+ }
293
+ return nodes;
294
+ }
295
+ return [
296
+ h("text", { key: `ann-label-${a.key}`, class: "st-candlestickChart__annotationText", x: a.x, y: a.y, "text-anchor": a.anchor }, a.text),
297
+ ];
298
+ })));
299
+ }
300
+ // Data labels — one close value per candle, drawn on top. aria-hidden.
301
+ if (dataLabelItems.length > 0) {
302
+ svgChildren.push(h("g", { class: "st-candlestickChart__dataLabels", "aria-hidden": "true" }, dataLabelItems.map((d) => h("text", { key: `dl-${d.key}`, class: "st-candlestickChart__dataLabel", x: d.x, y: d.y, "text-anchor": "middle", "dominant-baseline": "auto" }, d.text))));
303
+ }
304
+ // Crosshair (FR-3) — a tokenised dashed vertical line at the active candle.
305
+ if (hoveredCandle) {
306
+ svgChildren.push(h("g", { class: "st-candlestickChart__crosshair", "aria-hidden": "true" }, [
307
+ h("line", {
308
+ class: "st-candlestickChart__crosshairLine",
309
+ x1: hoveredCandle.centerX, x2: hoveredCandle.centerX,
310
+ y1: MARGIN.top, y2: MARGIN.top + plotHeight,
311
+ }),
312
+ ]));
313
+ }
314
+ // Keyboard navigation overlay (FR-5) — a focusable, transparent hit layer
315
+ // over the candles. NOT aria-hidden: the accessible roving cursor.
316
+ const navLayer = navEnabled
317
+ ? h("svg", {
318
+ class: "st-candlestickChart__navLayer",
319
+ viewBox: `0 0 ${width} ${height}`,
320
+ preserveAspectRatio: "xMidYMid meet",
321
+ width: "100%",
322
+ height: "100%",
323
+ role: "group",
324
+ "aria-label": `${label} — points de données`,
325
+ }, candles.map((candle, i) => h("rect", {
326
+ key: `nav${i}-${candle.datum.label}`,
327
+ ref: ((el) => {
328
+ datapointRefs[i] = el;
329
+ }),
330
+ class: "st-candlestickChart__navDatum",
331
+ x: candle.centerX - band / 2,
332
+ y: MARGIN.top,
333
+ width: band,
334
+ height: plotHeight,
335
+ role: "img",
336
+ tabindex: rovingTabIndex(i, focusedIndex.value, candles.length),
337
+ "aria-label": ohlcAriaLabel(candle.datum),
338
+ onKeydown: (event) => handleDatapointKeyDown(event, i),
339
+ onFocus: () => {
340
+ focusedIndex.value = i;
341
+ emitHoverKey(i);
342
+ },
343
+ })))
344
+ : null;
152
345
  const children = [
153
346
  h("div", {
154
347
  class: "st-candlestickChart__visual",
@@ -163,6 +356,7 @@ export const CandlestickChart = defineComponent({
163
356
  width: "100%", height: "100%",
164
357
  focusable: "false", "aria-hidden": "true",
165
358
  }, svgChildren),
359
+ ...(navLayer ? [navLayer] : []),
166
360
  ]),
167
361
  chartDataList(label, dataValueItems),
168
362
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"CandlestickChart.js","sourceRoot":"","sources":["../src/CandlestickChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkBhD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE5D,SAAS,WAAW,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IAC5E,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,MAAM,GAAG,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IACzB,IAAI,IAAY,CAAC;IACjB,IAAI,IAAI,GAAG,GAAG;QAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;SAC1B,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;SAC7B,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;;QAC7B,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;IAC9C,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,KAAsC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACzE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACtC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,MAAM,YAAY,GAAG,GAAG,CAAgB,IAAI,CAAC,CAAC;QAE9C,SAAS,WAAW;YAClB,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,SAAS,iBAAiB,CAAC,KAAmB;YAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,CAAC;gBAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,OAAO;YAAC,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5D,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,CAAC;QAED,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;YAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEpE,4CAA4C;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAC3B,CAAC;YAEF,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,0DAA0D;gBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC/D,2DAA2D;YAC3D,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAE3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC;YAExD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;YAgB1B,MAAM,OAAO,GAAa,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC/C,kEAAkE;gBAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;gBAElD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzG,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBAEvF,OAAO;oBACL,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;oBACpC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,CAAC;oBAC1B,KAAK,EAAE,OAAO;oBACd,KAAK;oBACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,EAAE,GAAG,CAAC;oBACvC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;oBAChC,QAAQ,EAAE,OAAO;iBAClB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CACrE,CAAC;YAEF,MAAM,WAAW,GAA2B,EAAE,CAAC;YAE/C,0BAA0B;YAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC/E,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChJ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9L,CAAC;YAED,OAAO;YACP,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClJ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEvK,yCAAyC;YACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClB,OAAO;gBACP,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBACzB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;oBAC7B,KAAK,EAAE,wDAAwD,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC1F,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO;oBAC5B,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ;oBAC/B,kBAAkB,EAAE,CAAC;iBACtB,CAAC,CAAC,CAAC;gBACJ,OAAO;gBACP,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,CAAC;gBACtE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBACzB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;oBAC7B,KAAK,EAAE,UAAU,CACf,2BAA2B,EAC3B,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EACzD,KAAK,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,SAAS,CACrD;oBACD,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK;oBACvD,EAAE,EAAE,CAAC;oBACL,kBAAkB,EAAE,CAAC;iBACtB,CAAC,CAAC,CAAC;gBACJ,iBAAiB;gBACjB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBACzB,GAAG,EAAE,MAAM,CAAC,EAAE;oBACd,KAAK,EAAE,oCAAoC;oBAC3C,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE;oBAC5C,aAAa,EAAE,QAAQ;iBACxB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5F,MAAM,QAAQ,GAAoC;gBAChD,CAAC,CAAC,KAAK,EAAE;oBACP,KAAK,EAAE,6BAA6B;oBACpC,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE,iBAAiB;oBAChC,cAAc,EAAE,WAAW;iBAC5B,EAAE;oBACD,CAAC,CAAC,KAAK,EAAE;wBACP,OAAO,EAAE,OAAO,KAAK,IAAI,MAAM,EAAE;wBACjC,mBAAmB,EAAE,eAAe;wBACpC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;wBAC7B,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM;qBAC1C,EAAE,WAAW,CAAC;iBAChB,CAAC;gBACF,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;aACrC,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;oBACrB,KAAK,EAAE,8BAA8B;oBACrC,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG;iBACxG,EAAE;oBACD,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;oBACpF,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,mCAAmC,EAAE,EAAE,KAAK,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;iBACrL,CAAC,CAAC,CAAC;YACN,CAAC;YAED,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjG,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"CandlestickChart.js","sourceRoot":"","sources":["../src/CandlestickChart.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":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkBhD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE5D,SAAS,WAAW,CAAC,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IAC5E,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,MAAM,GAAG,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;IACzB,IAAI,IAAY,CAAC;IACjB,IAAI,IAAI,GAAG,GAAG;QAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;SAC1B,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;SAC7B,IAAI,IAAI,GAAG,CAAC;QAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;;QAC7B,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,KAA+B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QAClE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;QACtC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE;QACpB,MAAM,YAAY,GAAG,GAAG,CAAgB,IAAI,CAAC,CAAC;QAE9C,SAAS,WAAW;YAClB,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,SAAS,iBAAiB,CAAC,KAAmB;YAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,CAAC;gBAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,OAAO;YAAC,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5D,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,CAAC;QAED,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;YAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEpE,oCAAoC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAC3B,CAAC;YAEF,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,0DAA0D;gBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC/D,2DAA2D;YAC3D,MAAM,UAAU,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAE3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC;YAExD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7E,uDAAuD;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;YAgBvC,MAAM,IAAI,GAAU,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzC,6DAA6D;gBAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;gBAElD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACvF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBAEtF,OAAO;oBACL,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;oBACpC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI;oBAC9B,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,OAAO,GAAG,KAAK;oBACtB,MAAM,EAAE,OAAO,GAAG,KAAK;oBACvB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;iBACzC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CACrE,CAAC;YAEF,MAAM,WAAW,GAA2B,EAAE,CAAC;YAE/C,0BAA0B;YAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC/E,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvL,CAAC;YAED,OAAO;YACP,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3I,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEhK,oCAAoC;YACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,CAAC;gBACtE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;oBACtB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;oBAC/B,KAAK,EAAE,UAAU,CACf,mBAAmB,EACnB,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EACjD,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAC7C;iBACF,EAAE;oBACD,4BAA4B;oBAC5B,CAAC,CAAC,MAAM,EAAE;wBACR,KAAK,EAAE,qBAAqB;wBAC5B,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO;wBAC5B,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO;wBAC7B,kBAAkB,EAAE,CAAC;qBACtB,CAAC;oBACF,mBAAmB;oBACnB,CAAC,CAAC,MAAM,EAAE;wBACR,KAAK,EAAE,oBAAoB;wBAC3B,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO;wBAC1B,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK;wBACxB,kBAAkB,EAAE,CAAC;qBACtB,CAAC;oBACF,qBAAqB;oBACrB,CAAC,CAAC,MAAM,EAAE;wBACR,KAAK,EAAE,qBAAqB;wBAC5B,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM;wBAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM;wBAC1B,kBAAkB,EAAE,CAAC;qBACtB,CAAC;iBACH,CAAC,CAAC,CAAC;gBACJ,iBAAiB;gBACjB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;oBACzB,GAAG,EAAE,MAAM,CAAC,EAAE;oBACd,KAAK,EAAE,6BAA6B;oBACpC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE;oBAC5C,aAAa,EAAE,QAAQ;iBACxB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEtF,MAAM,QAAQ,GAAoC;gBAChD,CAAC,CAAC,KAAK,EAAE;oBACP,KAAK,EAAE,sBAAsB;oBAC7B,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE,iBAAiB;oBAChC,cAAc,EAAE,WAAW;iBAC5B,EAAE;oBACD,CAAC,CAAC,KAAK,EAAE;wBACP,OAAO,EAAE,OAAO,KAAK,IAAI,MAAM,EAAE;wBACjC,mBAAmB,EAAE,eAAe;wBACpC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;wBAC7B,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM;qBAC1C,EAAE,WAAW,CAAC;iBAChB,CAAC;gBACF,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;aACrC,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;oBACrB,KAAK,EAAE,uBAAuB;oBAC9B,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG;iBAClG,EAAE;oBACD,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1E,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;iBAClK,CAAC,CAAC,CAAC;YACN,CAAC;YAED,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1F,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"OHLCChart.js","sourceRoot":"","sources":["../src/OHLCChart.ts"],"names":[],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -10392,6 +10392,7 @@
10392
10392
 
10393
10393
  .st-candlestickChart__visual {
10394
10394
  display: block;
10395
+ position: relative;
10395
10396
  }
10396
10397
 
10397
10398
  .st-candlestickChart__axis {
@@ -10435,6 +10436,65 @@
10435
10436
  fill: var(--st-semantic-feedback-error);
10436
10437
  }
10437
10438
 
10439
+ /* --- Annotation layer ------------------------------------------------------
10440
+ Regions render BEHIND the candles; lines/shapes/points/labels render ABOVE. */
10441
+ .st-candlestickChart__annotationRegion {
10442
+ fill: color-mix(in srgb, var(--st-semantic-feedback-info) 12%, transparent);
10443
+ stroke: none;
10444
+ }
10445
+ .st-candlestickChart__annotationLine {
10446
+ stroke: var(--st-semantic-feedback-info);
10447
+ stroke-width: 1.5;
10448
+ stroke-dasharray: 4 3;
10449
+ }
10450
+ .st-candlestickChart__annotationShape {
10451
+ fill: color-mix(in srgb, var(--st-semantic-feedback-info) 14%, transparent);
10452
+ stroke: var(--st-semantic-feedback-info);
10453
+ stroke-width: 1.5;
10454
+ }
10455
+ .st-candlestickChart__annotationPoint {
10456
+ fill: var(--st-semantic-feedback-info);
10457
+ stroke: var(--st-semantic-surface-default);
10458
+ stroke-width: 1.5;
10459
+ }
10460
+ .st-candlestickChart__annotationLabel,
10461
+ .st-candlestickChart__annotationText {
10462
+ fill: var(--st-semantic-text-primary);
10463
+ font-size: 0.625rem;
10464
+ font-weight: 600;
10465
+ }
10466
+
10467
+ /* Data labels — per-candle close value, drawn on top. Token-only colour. */
10468
+ .st-candlestickChart__dataLabel {
10469
+ fill: var(--st-semantic-text-primary);
10470
+ font-size: 0.6875rem;
10471
+ font-weight: 600;
10472
+ }
10473
+
10474
+ /* Crosshair (FR-3) — a tokenised dashed vertical line at the active candle. */
10475
+ .st-candlestickChart__crosshairLine {
10476
+ stroke: var(--st-semantic-border-strong);
10477
+ stroke-width: 1;
10478
+ stroke-dasharray: 3 3;
10479
+ opacity: 0.7;
10480
+ }
10481
+
10482
+ /* Keyboard navigation layer (FR-5) — a focusable, transparent overlay of one
10483
+ hit-rect per candle. Carries the roving tab stop; the focus ring is tokenised. */
10484
+ .st-candlestickChart__navLayer {
10485
+ inset: 0;
10486
+ position: absolute;
10487
+ }
10488
+ .st-candlestickChart__navDatum {
10489
+ fill: transparent;
10490
+ outline: none;
10491
+ }
10492
+ .st-candlestickChart__navDatum:focus-visible {
10493
+ fill: color-mix(in srgb, var(--st-semantic-border-interactive) 12%, transparent);
10494
+ outline: 2px solid var(--st-semantic-border-interactive);
10495
+ outline-offset: 1px;
10496
+ }
10497
+
10438
10498
  @media (prefers-reduced-motion: reduce) {
10439
10499
  .st-candlestickChart__body {
10440
10500
  transition: none;
@@ -10488,6 +10548,7 @@
10488
10548
 
10489
10549
  .st-ohlcChart__visual {
10490
10550
  display: block;
10551
+ position: relative;
10491
10552
  }
10492
10553
 
10493
10554
  .st-ohlcChart__axis {
@@ -10526,6 +10587,65 @@
10526
10587
  stroke: var(--st-semantic-feedback-error);
10527
10588
  }
10528
10589
 
10590
+ /* --- Annotation layer ------------------------------------------------------
10591
+ Regions render BEHIND the bars; lines/shapes/points/labels render ABOVE. */
10592
+ .st-ohlcChart__annotationRegion {
10593
+ fill: color-mix(in srgb, var(--st-semantic-feedback-info) 12%, transparent);
10594
+ stroke: none;
10595
+ }
10596
+ .st-ohlcChart__annotationLine {
10597
+ stroke: var(--st-semantic-feedback-info);
10598
+ stroke-width: 1.5;
10599
+ stroke-dasharray: 4 3;
10600
+ }
10601
+ .st-ohlcChart__annotationShape {
10602
+ fill: color-mix(in srgb, var(--st-semantic-feedback-info) 14%, transparent);
10603
+ stroke: var(--st-semantic-feedback-info);
10604
+ stroke-width: 1.5;
10605
+ }
10606
+ .st-ohlcChart__annotationPoint {
10607
+ fill: var(--st-semantic-feedback-info);
10608
+ stroke: var(--st-semantic-surface-default);
10609
+ stroke-width: 1.5;
10610
+ }
10611
+ .st-ohlcChart__annotationLabel,
10612
+ .st-ohlcChart__annotationText {
10613
+ fill: var(--st-semantic-text-primary);
10614
+ font-size: 0.625rem;
10615
+ font-weight: 600;
10616
+ }
10617
+
10618
+ /* Data labels — per-bar close value, drawn on top. Token-only colour. */
10619
+ .st-ohlcChart__dataLabel {
10620
+ fill: var(--st-semantic-text-primary);
10621
+ font-size: 0.6875rem;
10622
+ font-weight: 600;
10623
+ }
10624
+
10625
+ /* Crosshair (FR-3) — a tokenised dashed vertical line at the active bar. */
10626
+ .st-ohlcChart__crosshairLine {
10627
+ stroke: var(--st-semantic-border-strong);
10628
+ stroke-width: 1;
10629
+ stroke-dasharray: 3 3;
10630
+ opacity: 0.7;
10631
+ }
10632
+
10633
+ /* Keyboard navigation layer (FR-5) — a focusable, transparent overlay of one
10634
+ hit-rect per bar. Carries the roving tab stop; the focus ring is tokenised. */
10635
+ .st-ohlcChart__navLayer {
10636
+ inset: 0;
10637
+ position: absolute;
10638
+ }
10639
+ .st-ohlcChart__navDatum {
10640
+ fill: transparent;
10641
+ outline: none;
10642
+ }
10643
+ .st-ohlcChart__navDatum:focus-visible {
10644
+ fill: color-mix(in srgb, var(--st-semantic-border-interactive) 12%, transparent);
10645
+ outline: 2px solid var(--st-semantic-border-interactive);
10646
+ outline-offset: 1px;
10647
+ }
10648
+
10529
10649
  @media (prefers-reduced-motion: reduce) {
10530
10650
  .st-ohlcChart__bar {
10531
10651
  transition: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-vue",
3
- "version": "0.36.31",
3
+ "version": "0.36.32",
4
4
  "description": "Vue 3 components for the Sentropic design system.",
5
5
  "type": "module",
6
6
  "publishConfig": {