@sentropic/design-system-vue 0.36.35 → 0.36.38

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.
@@ -0,0 +1,76 @@
1
+ export type RibbonChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
2
+ export type RibbonChartDatum = {
3
+ category: string;
4
+ period: string | number;
5
+ value: number;
6
+ tone?: RibbonChartTone;
7
+ };
8
+ export type RibbonChartProps = {
9
+ data: RibbonChartDatum[];
10
+ label?: string;
11
+ width?: number;
12
+ height?: number;
13
+ size?: number;
14
+ class?: string;
15
+ };
16
+ export declare const RibbonChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
+ data: {
18
+ type: () => RibbonChartDatum[];
19
+ default: () => never[];
20
+ };
21
+ label: {
22
+ type: StringConstructor;
23
+ default: undefined;
24
+ };
25
+ width: {
26
+ type: NumberConstructor;
27
+ default: undefined;
28
+ };
29
+ height: {
30
+ type: NumberConstructor;
31
+ default: number;
32
+ };
33
+ size: {
34
+ type: NumberConstructor;
35
+ default: undefined;
36
+ };
37
+ class: {
38
+ type: StringConstructor;
39
+ default: undefined;
40
+ };
41
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ [key: string]: any;
43
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
44
+ data: {
45
+ type: () => RibbonChartDatum[];
46
+ default: () => never[];
47
+ };
48
+ label: {
49
+ type: StringConstructor;
50
+ default: undefined;
51
+ };
52
+ width: {
53
+ type: NumberConstructor;
54
+ default: undefined;
55
+ };
56
+ height: {
57
+ type: NumberConstructor;
58
+ default: number;
59
+ };
60
+ size: {
61
+ type: NumberConstructor;
62
+ default: undefined;
63
+ };
64
+ class: {
65
+ type: StringConstructor;
66
+ default: undefined;
67
+ };
68
+ }>> & Readonly<{}>, {
69
+ size: number;
70
+ class: string;
71
+ data: RibbonChartDatum[];
72
+ label: string;
73
+ height: number;
74
+ width: number;
75
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
76
+ //# sourceMappingURL=RibbonChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RibbonChart.d.ts","sourceRoot":"","sources":["../src/RibbonChart.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,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAsCF,eAAO,MAAM,WAAW;;cAGG,MAAM,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAxB,MAAM,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA0QjD,CAAC"}
@@ -0,0 +1,223 @@
1
+ import { defineComponent, h, ref } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ import { chartDataList } from "./chartScale.js";
4
+ const MARGIN = { top: 16, right: 16, bottom: 32, left: 16 };
5
+ const RIBBON_SMOOTH = 0.4;
6
+ const TONES = [
7
+ "category1",
8
+ "category2",
9
+ "category3",
10
+ "category4",
11
+ "category5",
12
+ "category6",
13
+ "category7",
14
+ "category8",
15
+ ];
16
+ export const RibbonChart = defineComponent({
17
+ name: "RibbonChart",
18
+ props: {
19
+ data: { type: Array, default: () => [] },
20
+ label: { type: String, default: undefined },
21
+ width: { type: Number, default: undefined },
22
+ height: { type: Number, default: 300 },
23
+ size: { type: Number, default: undefined },
24
+ class: { type: String, default: undefined },
25
+ },
26
+ setup(props, { attrs }) {
27
+ const hoveredKey = ref(null);
28
+ function handleLeave() {
29
+ hoveredKey.value = null;
30
+ }
31
+ function handlePointerMove(event) {
32
+ const target = event.target;
33
+ if (!(target instanceof Element)) {
34
+ hoveredKey.value = null;
35
+ return;
36
+ }
37
+ hoveredKey.value = target.getAttribute("data-chart-key");
38
+ }
39
+ return () => {
40
+ const data = props.data ?? [];
41
+ const label = props.label;
42
+ const height = props.height ?? 300;
43
+ const resolvedWidth = props.width ?? props.size ?? 520;
44
+ const plotWidth = Math.max(resolvedWidth - MARGIN.left - MARGIN.right, 1);
45
+ const plotHeight = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
46
+ // Normalise: drop unlabeled categories and non-finite / negative values.
47
+ const validData = data.filter((d) => typeof d.category === "string" &&
48
+ d.category.length > 0 &&
49
+ Number.isFinite(d.value) &&
50
+ d.value >= 0);
51
+ // Distinct periods (first-seen order), stacked columns left to right.
52
+ const periodOrder = [];
53
+ for (const d of validData) {
54
+ if (!periodOrder.includes(d.period))
55
+ periodOrder.push(d.period);
56
+ }
57
+ // Distinct categories (first-seen order) → categoryN index (1..8, cycled)
58
+ // when no explicit `tone`. An explicit `tone` on a datum wins.
59
+ const categoryOrder = [];
60
+ const explicitToneByCategory = new Map();
61
+ for (const d of validData) {
62
+ if (!categoryOrder.includes(d.category))
63
+ categoryOrder.push(d.category);
64
+ if (d.tone)
65
+ explicitToneByCategory.set(d.category, d.tone);
66
+ }
67
+ const toneOf = (category) => {
68
+ const explicit = explicitToneByCategory.get(category);
69
+ if (explicit)
70
+ return explicit;
71
+ const idx = categoryOrder.indexOf(category);
72
+ return `category${((idx < 0 ? 0 : idx) % 8) + 1}`;
73
+ };
74
+ // Per-period stacking: segments SORTED by descending value (rank), the
75
+ // largest at the foot. Each segment keeps top/bottom y for ribbon paths.
76
+ let columns = [];
77
+ if (validData.length > 0 && periodOrder.length > 0) {
78
+ const band = plotWidth / periodOrder.length;
79
+ const barWidth = Math.min(band * 0.5, 72);
80
+ const totals = periodOrder.map((p) => validData.filter((d) => d.period === p).reduce((s, d) => s + Math.max(d.value, 0), 0));
81
+ const domainMax = Math.max(1, ...totals);
82
+ columns = periodOrder.map((period, pi) => {
83
+ const x = MARGIN.left + band * pi + (band - barWidth) / 2;
84
+ const rows = validData
85
+ .filter((d) => d.period === period)
86
+ .map((d) => ({ category: d.category, value: Math.max(d.value, 0) }))
87
+ .sort((a, b) => b.value - a.value);
88
+ let acc = 0;
89
+ const segments = rows.map((row, ri) => {
90
+ const seg = (row.value / domainMax) * plotHeight;
91
+ const yBottom = MARGIN.top + plotHeight - acc;
92
+ const yTop = yBottom - seg;
93
+ acc += seg;
94
+ return {
95
+ key: `${pi}-${ri}-${row.category}`,
96
+ category: row.category,
97
+ value: row.value,
98
+ tone: toneOf(row.category),
99
+ x,
100
+ width: barWidth,
101
+ yTop,
102
+ yBottom,
103
+ cx: x + barWidth / 2,
104
+ cy: yTop + (yBottom - yTop) / 2,
105
+ };
106
+ });
107
+ return { period, index: pi, cx: MARGIN.left + band * (pi + 0.5), segments };
108
+ });
109
+ }
110
+ // Ribbons: for each category present in two consecutive periods, a smoothed
111
+ // band connecting the left segment (right edge) to the right (left edge).
112
+ const ribbons = [];
113
+ for (let ci = 0; ci < columns.length - 1; ci++) {
114
+ const left = columns[ci];
115
+ const right = columns[ci + 1];
116
+ for (const ls of left.segments) {
117
+ const rs = right.segments.find((s) => s.category === ls.category);
118
+ if (!rs)
119
+ continue;
120
+ const x0 = ls.x + ls.width;
121
+ const x1 = rs.x;
122
+ const mid = x0 + (x1 - x0) * RIBBON_SMOOTH;
123
+ const mid2 = x1 - (x1 - x0) * RIBBON_SMOOTH;
124
+ const d = `M${x0.toFixed(2)},${ls.yTop.toFixed(2)} ` +
125
+ `C${mid.toFixed(2)},${ls.yTop.toFixed(2)} ${mid2.toFixed(2)},${rs.yTop.toFixed(2)} ${x1.toFixed(2)},${rs.yTop.toFixed(2)} ` +
126
+ `L${x1.toFixed(2)},${rs.yBottom.toFixed(2)} ` +
127
+ `C${mid2.toFixed(2)},${rs.yBottom.toFixed(2)} ${mid.toFixed(2)},${ls.yBottom.toFixed(2)} ${x0.toFixed(2)},${ls.yBottom.toFixed(2)} Z`;
128
+ ribbons.push({ key: `${ci}-${ls.category}`, category: ls.category, tone: ls.tone, d });
129
+ }
130
+ }
131
+ const legendItems = categoryOrder.map((category) => ({ category, tone: toneOf(category) }));
132
+ const hasLegend = categoryOrder.length > 0;
133
+ const dataValueItems = categoryOrder.map((category) => `${category}: ${periodOrder
134
+ .map((p) => {
135
+ const found = validData.find((d) => d.category === category && d.period === p);
136
+ return `${p} = ${found ? found.value : 0}`;
137
+ })
138
+ .join(", ")}`);
139
+ let hoveredSegment = null;
140
+ if (hoveredKey.value !== null) {
141
+ for (const col of columns) {
142
+ for (const seg of col.segments) {
143
+ if (seg.key === hoveredKey.value)
144
+ hoveredSegment = seg;
145
+ }
146
+ }
147
+ }
148
+ const svgChildren = [];
149
+ // inter-period ribbons (beneath the segments)
150
+ for (const ribbon of ribbons) {
151
+ const isDim = hoveredSegment !== null && hoveredSegment.category !== ribbon.category;
152
+ svgChildren.push(h("path", {
153
+ key: `r${ribbon.key}`,
154
+ class: classNames("st-ribbonChart__ribbon", `st-ribbonChart__ribbon--${ribbon.tone}`, isDim ? "st-ribbonChart__ribbon--dim" : undefined),
155
+ d: ribbon.d,
156
+ }));
157
+ }
158
+ // per-period stacked segments
159
+ for (const col of columns) {
160
+ svgChildren.push(h("text", {
161
+ key: `p${col.index}`,
162
+ class: "st-ribbonChart__periodLabel",
163
+ x: col.cx,
164
+ y: height - MARGIN.bottom + 16,
165
+ "text-anchor": "middle",
166
+ }, String(col.period)));
167
+ for (const seg of col.segments) {
168
+ const isDim = hoveredSegment !== null && hoveredSegment.category !== seg.category;
169
+ svgChildren.push(h("rect", {
170
+ key: `s${seg.key}`,
171
+ class: classNames("st-ribbonChart__seg", `st-ribbonChart__seg--${seg.tone}`, isDim ? "st-ribbonChart__seg--dim" : undefined),
172
+ x: seg.x,
173
+ y: seg.yTop,
174
+ width: seg.width,
175
+ height: Math.max(seg.yBottom - seg.yTop, 0),
176
+ rx: 2,
177
+ "data-chart-key": seg.key,
178
+ }));
179
+ }
180
+ }
181
+ const children = [
182
+ h("div", {
183
+ class: "st-ribbonChart__visual",
184
+ role: "img",
185
+ "aria-label": label,
186
+ onPointermove: handlePointerMove,
187
+ onPointerleave: handleLeave,
188
+ }, [
189
+ h("svg", {
190
+ viewBox: `0 0 ${resolvedWidth} ${height}`,
191
+ preserveAspectRatio: "xMidYMid meet",
192
+ width: "100%",
193
+ height: "100%",
194
+ focusable: "false",
195
+ "aria-hidden": "true",
196
+ }, svgChildren),
197
+ ]),
198
+ ];
199
+ if (hasLegend) {
200
+ children.push(h("ul", { class: "st-ribbonChart__legend", "aria-label": `Catégories de ${label ?? "ribbon"}` }, legendItems.map((item) => h("li", { key: item.category, class: "st-ribbonChart__legendItem" }, [
201
+ h("span", {
202
+ class: `st-ribbonChart__legendSwatch st-ribbonChart__legendSwatch--${item.tone}`,
203
+ "aria-hidden": "true",
204
+ }),
205
+ item.category,
206
+ ]))));
207
+ }
208
+ children.push(chartDataList(label ?? "ribbon", dataValueItems));
209
+ if (hoveredSegment) {
210
+ children.push(h("div", {
211
+ class: "st-ribbonChart__tooltip",
212
+ role: "presentation",
213
+ style: `left:${(hoveredSegment.cx / resolvedWidth) * 100}%;top:${(hoveredSegment.cy / height) * 100}%`,
214
+ }, [
215
+ h("span", { class: "st-ribbonChart__tooltipLabel" }, hoveredSegment.category),
216
+ h("span", { class: "st-ribbonChart__tooltipValue" }, `${hoveredSegment.value}`),
217
+ ]));
218
+ }
219
+ return h("div", { ...attrs, class: classNames("st-ribbonChart", props.class) }, children);
220
+ };
221
+ },
222
+ });
223
+ //# sourceMappingURL=RibbonChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RibbonChart.js","sourceRoot":"","sources":["../src/RibbonChart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ export type TraceSpan = {
2
+ spanId: string;
3
+ parentSpanId?: string | null;
4
+ service: string;
5
+ start: number;
6
+ duration: number;
7
+ };
8
+ export type TraceWaterfallChartProps = {
9
+ data: {
10
+ spans: TraceSpan[];
11
+ };
12
+ label?: string;
13
+ width?: number;
14
+ height?: number;
15
+ size?: number;
16
+ class?: string;
17
+ };
18
+ export declare const TraceWaterfallChart: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
19
+ data: {
20
+ type: () => {
21
+ spans: TraceSpan[];
22
+ };
23
+ default: () => {
24
+ spans: never[];
25
+ };
26
+ };
27
+ label: {
28
+ type: StringConstructor;
29
+ default: undefined;
30
+ };
31
+ width: {
32
+ type: NumberConstructor;
33
+ default: undefined;
34
+ };
35
+ height: {
36
+ type: NumberConstructor;
37
+ default: number;
38
+ };
39
+ size: {
40
+ type: NumberConstructor;
41
+ default: undefined;
42
+ };
43
+ class: {
44
+ type: StringConstructor;
45
+ default: undefined;
46
+ };
47
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
48
+ [key: string]: any;
49
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
50
+ data: {
51
+ type: () => {
52
+ spans: TraceSpan[];
53
+ };
54
+ default: () => {
55
+ spans: never[];
56
+ };
57
+ };
58
+ label: {
59
+ type: StringConstructor;
60
+ default: undefined;
61
+ };
62
+ width: {
63
+ type: NumberConstructor;
64
+ default: undefined;
65
+ };
66
+ height: {
67
+ type: NumberConstructor;
68
+ default: number;
69
+ };
70
+ size: {
71
+ type: NumberConstructor;
72
+ default: undefined;
73
+ };
74
+ class: {
75
+ type: StringConstructor;
76
+ default: undefined;
77
+ };
78
+ }>> & Readonly<{}>, {
79
+ size: number;
80
+ class: string;
81
+ data: {
82
+ spans: TraceSpan[];
83
+ };
84
+ label: string;
85
+ height: number;
86
+ width: number;
87
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
88
+ //# sourceMappingURL=TraceWaterfallChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TraceWaterfallChart.d.ts","sourceRoot":"","sources":["../src/TraceWaterfallChart.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE;QAAE,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA6DF,eAAO,MAAM,mBAAmB;;cAGJ,MAAM;YAAE,KAAK,EAAE,SAAS,EAAE,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA5B,MAAM;YAAE,KAAK,EAAE,SAAS,EAAE,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAAb,SAAS,EAAE;;;;;4EAwSpD,CAAC"}