@sentropic/design-system-vue 0.36.30 → 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.
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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"}
@@ -1,3 +1,5 @@
1
+ import { type ChartAnnotation } from "./chartAnnotations.js";
2
+ import { type DataLabelsProp } from "./chartDataLabels.js";
1
3
  export type ScatterPlotTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
2
4
  export type ScatterPlotDatum = {
3
5
  x: number;
@@ -29,6 +31,29 @@ export type ScatterPlotProps = {
29
31
  * coordinates are folded into the axis domain. Non-finite x/y are skipped.
30
32
  */
31
33
  centroids?: ScatterPlotCentroid[];
34
+ /**
35
+ * Annotation overlay in DATA space (points, labels, axis lines, regions,
36
+ * polygons). Both axes are continuous (linear). Additive: absent ⇒ unchanged.
37
+ */
38
+ annotations?: ChartAnnotation[];
39
+ /**
40
+ * Per-point value labels. `false`/absent (default) → none. `true` → each
41
+ * point's value (the datum `label` wins when present). Object → `format` /
42
+ * `position`. Default position is `top`. Labels are `aria-hidden`.
43
+ */
44
+ dataLabels?: DataLabelsProp;
45
+ /**
46
+ * CONTROLLED synchronised hover key (FR-3). A point's key is its `label` when
47
+ * present, otherwise `"x,y"`. Absent (`undefined`) keeps the uncontrolled
48
+ * behaviour.
49
+ */
50
+ hoverKey?: string | null;
51
+ /** Emitted on hover (the key) / leave (`null`); fired even while controlled. */
52
+ onHoverKeyChange?: (key: string | null) => void;
53
+ /** FR-5 — roving-tabindex keyboard navigation of the data points. */
54
+ keyboardNav?: boolean;
55
+ /** Emitted on Enter/Space select (the key) / Escape (`null`); enables nav. */
56
+ onSelectKey?: (key: string | null) => void;
32
57
  label: string;
33
58
  class?: string;
34
59
  };
@@ -61,6 +86,30 @@ export declare const ScatterPlot: import("vue").DefineComponent<import("vue").Ex
61
86
  type: () => ScatterPlotCentroid[];
62
87
  default: undefined;
63
88
  };
89
+ annotations: {
90
+ type: () => ChartAnnotation[];
91
+ default: undefined;
92
+ };
93
+ dataLabels: {
94
+ type: () => DataLabelsProp;
95
+ default: undefined;
96
+ };
97
+ hoverKey: {
98
+ type: () => string | null;
99
+ default: undefined;
100
+ };
101
+ onHoverKeyChange: {
102
+ type: () => (key: string | null) => void;
103
+ default: undefined;
104
+ };
105
+ keyboardNav: {
106
+ type: BooleanConstructor;
107
+ default: undefined;
108
+ };
109
+ onSelectKey: {
110
+ type: () => (key: string | null) => void;
111
+ default: undefined;
112
+ };
64
113
  label: {
65
114
  type: StringConstructor;
66
115
  required: true;
@@ -100,6 +149,30 @@ export declare const ScatterPlot: import("vue").DefineComponent<import("vue").Ex
100
149
  type: () => ScatterPlotCentroid[];
101
150
  default: undefined;
102
151
  };
152
+ annotations: {
153
+ type: () => ChartAnnotation[];
154
+ default: undefined;
155
+ };
156
+ dataLabels: {
157
+ type: () => DataLabelsProp;
158
+ default: undefined;
159
+ };
160
+ hoverKey: {
161
+ type: () => string | null;
162
+ default: undefined;
163
+ };
164
+ onHoverKeyChange: {
165
+ type: () => (key: string | null) => void;
166
+ default: undefined;
167
+ };
168
+ keyboardNav: {
169
+ type: BooleanConstructor;
170
+ default: undefined;
171
+ };
172
+ onSelectKey: {
173
+ type: () => (key: string | null) => void;
174
+ default: undefined;
175
+ };
103
176
  label: {
104
177
  type: StringConstructor;
105
178
  required: true;
@@ -113,6 +186,12 @@ export declare const ScatterPlot: import("vue").DefineComponent<import("vue").Ex
113
186
  height: number;
114
187
  width: number;
115
188
  radius: number;
189
+ annotations: ChartAnnotation[];
190
+ dataLabels: DataLabelsProp;
191
+ hoverKey: string | null;
192
+ onHoverKeyChange: (key: string | null) => void;
193
+ keyboardNav: boolean;
194
+ onSelectKey: (key: string | null) => void;
116
195
  xLabel: string;
117
196
  yLabel: string;
118
197
  centroids: ScatterPlotCentroid[];
@@ -1 +1 @@
1
- {"version":3,"file":"ScatterPlot.d.ts","sourceRoot":"","sources":["../src/ScatterPlot.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAmBF,eAAO,MAAM,WAAW;;cAGG,MAAM,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;cAMnB,MAAM,mBAAmB,EAAE;;;;;;;;;;;;;;;cANhC,MAAM,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;cAMnB,MAAM,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;4EA+LzD,CAAC"}
1
+ {"version":3,"file":"ScatterPlot.d.ts","sourceRoot":"","sources":["../src/ScatterPlot.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,eAAe,GACvB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAwBF,eAAO,MAAM,WAAW;;cAGG,MAAM,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;cAMnB,MAAM,mBAAmB,EAAE;;;;cACzB,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cACzB,MAAM,MAAM,GAAG,IAAI;;;;cACjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;cAEvC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI;;;;;;;;;;;;;;;cAZvD,MAAM,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;cAMnB,MAAM,mBAAmB,EAAE;;;;cACzB,MAAM,eAAe,EAAE;;;;cACD,MAAM,cAAc;;;;cACzB,MAAM,MAAM,GAAG,IAAI;;;;cACjB,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;;;;4EA2ZhF,CAAC"}