@sentropic/design-system-svelte 0.28.0 → 0.29.0

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,291 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * RoseChart (nightingale / polar area) - API canonique (référence Svelte,
4
+ * React/Vue doivent s'aligner)
5
+ *
6
+ * Diagramme polaire de Florence Nightingale : N secteurs d'angle ÉGAL
7
+ * (360° / N), le RAYON de chaque secteur ∝ value (c'est le rayon qui porte
8
+ * l'information, PAS l'angle - voilà ce qui le distingue d'un camembert où
9
+ * l'angle porte l'information et le rayon est constant).
10
+ *
11
+ * Échelle du rayon : rayon = sqrt(value / maxValue) * R.
12
+ * La racine carrée rend l'AIRE du secteur proportionnelle à la valeur
13
+ * (aire ∝ rayon²), donc honnête perceptuellement - un secteur deux fois
14
+ * plus « gros » à l'œil vaut bien deux fois plus. Un mapping linéaire
15
+ * (value/maxValue * R) exagérerait les grandes valeurs (aire ∝ value²).
16
+ *
17
+ * Props obligatoires :
18
+ * data RoseChartDatum[] - {label, value, tone?}
19
+ * label string - aria-label du graphique
20
+ *
21
+ * Props optionnelles :
22
+ * width number (défaut 320) - largeur du viewBox en px
23
+ * height number (défaut 320) - hauteur du viewBox en px
24
+ * class string - classe CSS supplémentaire
25
+ *
26
+ * Labels : le libellé est posé sur le secteur si son rayon est assez grand
27
+ * (> 40% de R). Couleur de texte calculée par contrastTextForTone() pour
28
+ * garantir le contraste WCAG sur chaque fond catégoriel - pas de blanc fixe.
29
+ *
30
+ * NaN/négatif : les valeurs non-finies ou ≤ 0 sont ignorées (rayon 0, pas de
31
+ * secteur dessiné) et exclues du calcul de maxValue. Tableau vide → rendu
32
+ * vide sans crash.
33
+ */
34
+ export type RoseChartTone =
35
+ | "category1"
36
+ | "category2"
37
+ | "category3"
38
+ | "category4"
39
+ | "category5"
40
+ | "category6"
41
+ | "category7"
42
+ | "category8";
43
+
44
+ export type RoseChartDatum = {
45
+ label: string;
46
+ value: number;
47
+ tone?: RoseChartTone;
48
+ };
49
+ </script>
50
+
51
+ <script lang="ts">
52
+ import ChartDataList from "./ChartDataList.svelte";
53
+ import { contrastTextForTone } from "./chartContrast.js";
54
+
55
+ type RoseChartProps = {
56
+ data: RoseChartDatum[];
57
+ label: string;
58
+ width?: number;
59
+ height?: number;
60
+ class?: string;
61
+ };
62
+
63
+ let {
64
+ data,
65
+ label,
66
+ width = 320,
67
+ height = 320,
68
+ class: className
69
+ }: RoseChartProps = $props();
70
+
71
+ const TONES = [
72
+ "category1",
73
+ "category2",
74
+ "category3",
75
+ "category4",
76
+ "category5",
77
+ "category6",
78
+ "category7",
79
+ "category8"
80
+ ] as const;
81
+
82
+ function safeValue(value: number): number {
83
+ return Number.isFinite(value) && value > 0 ? value : 0;
84
+ }
85
+
86
+ function formatNumber(value: number): string {
87
+ if (!Number.isFinite(value)) return "0";
88
+ if (Number.isInteger(value)) return String(value);
89
+ return value.toFixed(2).replace(/\.?0+$/, "");
90
+ }
91
+
92
+ function point(cx: number, cy: number, radius: number, angle: number) {
93
+ return { x: cx + radius * Math.cos(angle), y: cy + radius * Math.sin(angle) };
94
+ }
95
+
96
+ function sectorPath(cx: number, cy: number, radius: number, start: number, end: number): string {
97
+ const safeEnd = Math.min(end, start + Math.PI * 2 - 0.0001);
98
+ const large = safeEnd - start > Math.PI ? 1 : 0;
99
+ const outerStart = point(cx, cy, radius, start);
100
+ const outerEnd = point(cx, cy, radius, safeEnd);
101
+ return `M ${cx} ${cy} L ${outerStart.x} ${outerStart.y} A ${radius} ${radius} 0 ${large} 1 ${outerEnd.x} ${outerEnd.y} Z`;
102
+ }
103
+
104
+ let hoveredIndex: number | null = $state(null);
105
+
106
+ const sectors = $derived.by(() => {
107
+ const cx = width / 2;
108
+ const cy = height / 2;
109
+ const outerLimit = Math.max(Math.min(width, height) / 2 - 6, 1);
110
+ const count = data.length;
111
+ if (count === 0) return [];
112
+
113
+ const maxValue = Math.max(0, ...data.map((datum) => safeValue(datum.value)));
114
+ const safeMax = maxValue > 0 ? maxValue : 1;
115
+ const sweep = (Math.PI * 2) / count;
116
+
117
+ return data.map((datum, index) => {
118
+ const value = safeValue(datum.value);
119
+ // sqrt → aire du secteur ∝ value (honnête perceptuellement)
120
+ const radius = Math.sqrt(value / safeMax) * outerLimit;
121
+ const start = -Math.PI / 2 + sweep * index;
122
+ const end = start + sweep;
123
+ const midAngle = (start + end) / 2;
124
+ const labelPoint = point(cx, cy, radius * 0.62, midAngle);
125
+ return {
126
+ datum,
127
+ value,
128
+ tone: datum.tone ?? TONES[index % TONES.length],
129
+ radius,
130
+ start,
131
+ end,
132
+ path: value > 0 ? sectorPath(cx, cy, radius, start, end) : "",
133
+ labelX: labelPoint.x,
134
+ labelY: labelPoint.y,
135
+ // label posé si le secteur est assez grand (rayon > 40% de R)
136
+ showLabel: value > 0 && radius > outerLimit * 0.4
137
+ };
138
+ });
139
+ });
140
+
141
+ const dataValueItems = $derived(
142
+ data.map((datum) => `${datum.label}: ${formatNumber(safeValue(datum.value))}`)
143
+ );
144
+
145
+ function handleVisualPointerMove(event: PointerEvent) {
146
+ const target = event.target;
147
+ if (!(target instanceof Element)) {
148
+ hoveredIndex = null;
149
+ return;
150
+ }
151
+ const index = Number(target.getAttribute("data-chart-index"));
152
+ hoveredIndex = Number.isInteger(index) ? index : null;
153
+ }
154
+
155
+ const classes = () => ["st-roseChart", className].filter(Boolean).join(" ");
156
+ </script>
157
+
158
+ <div class={classes()}>
159
+ <div
160
+ class="st-roseChart__visual"
161
+ role="img"
162
+ aria-label={label}
163
+ onpointermove={handleVisualPointerMove}
164
+ onpointerleave={() => (hoveredIndex = null)}
165
+ >
166
+ <svg
167
+ viewBox="0 0 {width} {height}"
168
+ preserveAspectRatio="xMidYMid meet"
169
+ width="100%"
170
+ height="100%"
171
+ focusable="false"
172
+ aria-hidden="true"
173
+ >
174
+ {#each sectors as sector, i (sector.datum.label)}
175
+ {#if sector.path}
176
+ <path
177
+ class="st-roseChart__sector st-roseChart__sector--{sector.tone}"
178
+ class:st-roseChart__sector--dim={hoveredIndex !== null && hoveredIndex !== i}
179
+ d={sector.path}
180
+ data-chart-index={i}
181
+ />
182
+ {/if}
183
+ {/each}
184
+
185
+ {#each sectors as sector (sector.datum.label)}
186
+ {#if sector.showLabel}
187
+ <text
188
+ class="st-roseChart__label"
189
+ x={sector.labelX}
190
+ y={sector.labelY}
191
+ text-anchor="middle"
192
+ dominant-baseline="middle"
193
+ fill={contrastTextForTone(sector.tone)}
194
+ >
195
+ {sector.datum.label}
196
+ </text>
197
+ {/if}
198
+ {/each}
199
+ </svg>
200
+ </div>
201
+
202
+ <ChartDataList {label} items={dataValueItems} />
203
+
204
+ {#if hoveredIndex !== null && sectors[hoveredIndex] && sectors[hoveredIndex].value > 0}
205
+ {@const sector = sectors[hoveredIndex]}
206
+ <div
207
+ class="st-roseChart__tooltip"
208
+ role="presentation"
209
+ style="left: {(sector.labelX / width) * 100}%; top: {(sector.labelY / height) * 100}%"
210
+ >
211
+ <span class="st-roseChart__tooltipLabel">{sector.datum.label}</span>
212
+ <span class="st-roseChart__tooltipValue">{formatNumber(sector.value)}</span>
213
+ </div>
214
+ {/if}
215
+ </div>
216
+
217
+ <style>
218
+ .st-roseChart {
219
+ color: var(--st-semantic-text-secondary);
220
+ display: block;
221
+ font-family: inherit;
222
+ max-width: 100%;
223
+ position: relative;
224
+ width: 100%;
225
+ }
226
+
227
+ .st-roseChart svg,
228
+ .st-roseChart__visual {
229
+ display: block;
230
+ overflow: visible;
231
+ }
232
+
233
+ .st-roseChart__sector {
234
+ cursor: pointer;
235
+ fill-opacity: 0.82;
236
+ stroke: var(--st-semantic-surface-default, Canvas);
237
+ stroke-width: 1;
238
+ transition: opacity 120ms ease;
239
+ }
240
+
241
+ .st-roseChart__sector--dim {
242
+ opacity: 0.4;
243
+ }
244
+
245
+ @media (prefers-reduced-motion: reduce) {
246
+ .st-roseChart__sector {
247
+ transition: none;
248
+ }
249
+ }
250
+
251
+ .st-roseChart__sector--category1 { fill: var(--st-semantic-data-category1); }
252
+ .st-roseChart__sector--category2 { fill: var(--st-semantic-data-category2); }
253
+ .st-roseChart__sector--category3 { fill: var(--st-semantic-data-category3); }
254
+ .st-roseChart__sector--category4 { fill: var(--st-semantic-data-category4); }
255
+ .st-roseChart__sector--category5 { fill: var(--st-semantic-data-category5); }
256
+ .st-roseChart__sector--category6 { fill: var(--st-semantic-data-category6); }
257
+ .st-roseChart__sector--category7 { fill: var(--st-semantic-data-category7); }
258
+ .st-roseChart__sector--category8 { fill: var(--st-semantic-data-category8); }
259
+
260
+ .st-roseChart__label {
261
+ /* fill calculé par contrastTextForTone() en inline - pas de blanc fixe */
262
+ font-size: 0.68rem;
263
+ font-weight: 650;
264
+ pointer-events: none;
265
+ }
266
+
267
+ .st-roseChart__tooltip {
268
+ background: var(--st-semantic-surface-inverse);
269
+ border-radius: var(--st-radius-sm, 0.25rem);
270
+ color: var(--st-semantic-text-inverse);
271
+ display: inline-flex;
272
+ flex-direction: column;
273
+ font-size: 0.75rem;
274
+ gap: 0.125rem;
275
+ line-height: 1.2;
276
+ padding: 0.375rem 0.5rem;
277
+ pointer-events: none;
278
+ position: absolute;
279
+ transform: translate(-50%, -115%);
280
+ white-space: nowrap;
281
+ z-index: 1;
282
+ }
283
+
284
+ .st-roseChart__tooltipLabel {
285
+ font-weight: 600;
286
+ }
287
+
288
+ .st-roseChart__tooltipValue {
289
+ opacity: 0.85;
290
+ }
291
+ </style>
@@ -0,0 +1,49 @@
1
+ /**
2
+ * RoseChart (nightingale / polar area) - API canonique (référence Svelte,
3
+ * React/Vue doivent s'aligner)
4
+ *
5
+ * Diagramme polaire de Florence Nightingale : N secteurs d'angle ÉGAL
6
+ * (360° / N), le RAYON de chaque secteur ∝ value (c'est le rayon qui porte
7
+ * l'information, PAS l'angle - voilà ce qui le distingue d'un camembert où
8
+ * l'angle porte l'information et le rayon est constant).
9
+ *
10
+ * Échelle du rayon : rayon = sqrt(value / maxValue) * R.
11
+ * La racine carrée rend l'AIRE du secteur proportionnelle à la valeur
12
+ * (aire ∝ rayon²), donc honnête perceptuellement - un secteur deux fois
13
+ * plus « gros » à l'œil vaut bien deux fois plus. Un mapping linéaire
14
+ * (value/maxValue * R) exagérerait les grandes valeurs (aire ∝ value²).
15
+ *
16
+ * Props obligatoires :
17
+ * data RoseChartDatum[] - {label, value, tone?}
18
+ * label string - aria-label du graphique
19
+ *
20
+ * Props optionnelles :
21
+ * width number (défaut 320) - largeur du viewBox en px
22
+ * height number (défaut 320) - hauteur du viewBox en px
23
+ * class string - classe CSS supplémentaire
24
+ *
25
+ * Labels : le libellé est posé sur le secteur si son rayon est assez grand
26
+ * (> 40% de R). Couleur de texte calculée par contrastTextForTone() pour
27
+ * garantir le contraste WCAG sur chaque fond catégoriel - pas de blanc fixe.
28
+ *
29
+ * NaN/négatif : les valeurs non-finies ou ≤ 0 sont ignorées (rayon 0, pas de
30
+ * secteur dessiné) et exclues du calcul de maxValue. Tableau vide → rendu
31
+ * vide sans crash.
32
+ */
33
+ export type RoseChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
34
+ export type RoseChartDatum = {
35
+ label: string;
36
+ value: number;
37
+ tone?: RoseChartTone;
38
+ };
39
+ type RoseChartProps = {
40
+ data: RoseChartDatum[];
41
+ label: string;
42
+ width?: number;
43
+ height?: number;
44
+ class?: string;
45
+ };
46
+ declare const RoseChart: import("svelte").Component<RoseChartProps, {}, "">;
47
+ type RoseChart = ReturnType<typeof RoseChart>;
48
+ export default RoseChart;
49
+ //# sourceMappingURL=RoseChart.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoseChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/RoseChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAOF,KAAK,cAAc,GAAG;IACpB,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;AAyIJ,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -0,0 +1,371 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * ViolinChart - API canonique (référence Svelte, React/Vue doivent s'aligner)
4
+ *
5
+ * Trace la DENSITÉ de distribution de chaque catégorie sous forme de violon :
6
+ * une forme symétrique (miroir gauche/droite) dont la largeur, à une hauteur Y
7
+ * donnée, est proportionnelle au nombre de points autour de cette valeur.
8
+ *
9
+ * Densité : histogramme à BINS fixes (défaut 20) sur l'axe Y commun à toutes
10
+ * les catégories. Chaque bin compte les points qui y tombent ; la largeur du
11
+ * violon en ce bin = compte / maxCount * demi-largeur de bande. L'échelle de
12
+ * densité est NORMALISÉE par violon (chaque violon atteint sa pleine largeur
13
+ * à son propre mode) - comparaison de FORME, pas de volume.
14
+ *
15
+ * Échelle Y : commune à toutes les catégories (min/max global sur toutes les
16
+ * valeurs finies) → les violons sont alignés et comparables verticalement.
17
+ *
18
+ * Médiane / quartiles : trait central (médiane) + boîte fine q1–q3 superposés,
19
+ * activables via `quartiles` (défaut true).
20
+ *
21
+ * Props obligatoires :
22
+ * data ViolinChartDatum[] - {label, values: number[], tone?}
23
+ * label string - aria-label du graphique
24
+ *
25
+ * Props optionnelles :
26
+ * bins number (défaut 20) - nombre de bins de densité
27
+ * quartiles boolean (défaut true) - médiane + boîte q1–q3
28
+ * width number (défaut 480) - largeur du viewBox en px
29
+ * height number (défaut 280) - hauteur du viewBox en px
30
+ * class string - classe CSS supplémentaire
31
+ *
32
+ * NaN/vide : les valeurs non-finies sont exclues (filter Number.isFinite).
33
+ * Une catégorie sans valeur finie est ignorée (skip). Tableau vide → rendu
34
+ * vide sans crash.
35
+ */
36
+ export type ViolinChartTone =
37
+ | "category1"
38
+ | "category2"
39
+ | "category3"
40
+ | "category4"
41
+ | "category5"
42
+ | "category6"
43
+ | "category7"
44
+ | "category8";
45
+
46
+ export type ViolinChartDatum = {
47
+ label: string;
48
+ values: number[];
49
+ tone?: ViolinChartTone;
50
+ };
51
+ </script>
52
+
53
+ <script lang="ts">
54
+ import ChartDataList from "./ChartDataList.svelte";
55
+
56
+ type ViolinChartProps = {
57
+ data: ViolinChartDatum[];
58
+ label: string;
59
+ bins?: number;
60
+ quartiles?: boolean;
61
+ width?: number;
62
+ height?: number;
63
+ class?: string;
64
+ };
65
+
66
+ let {
67
+ data,
68
+ label,
69
+ bins = 20,
70
+ quartiles = true,
71
+ width = 480,
72
+ height = 280,
73
+ class: className
74
+ }: ViolinChartProps = $props();
75
+
76
+ const MARGIN = { top: 16, right: 20, bottom: 38, left: 48 };
77
+ const TONES = [
78
+ "category1",
79
+ "category2",
80
+ "category3",
81
+ "category4",
82
+ "category5",
83
+ "category6",
84
+ "category7",
85
+ "category8"
86
+ ] as const;
87
+
88
+ function formatNumber(value: number): string {
89
+ if (!Number.isFinite(value)) return "0";
90
+ if (Number.isInteger(value)) return String(value);
91
+ return value.toFixed(2).replace(/\.?0+$/, "");
92
+ }
93
+
94
+ function scaleLinear(v: number, d0: number, d1: number, r0: number, r1: number) {
95
+ if (d1 === d0) return r0;
96
+ return r0 + ((v - d0) * (r1 - r0)) / (d1 - d0);
97
+ }
98
+
99
+ function quantile(sorted: number[], q: number): number {
100
+ if (sorted.length === 0) return 0;
101
+ if (sorted.length === 1) return sorted[0];
102
+ const pos = (sorted.length - 1) * q;
103
+ const base = Math.floor(pos);
104
+ const rest = pos - base;
105
+ const next = sorted[base + 1];
106
+ return next !== undefined ? sorted[base] + rest * (next - sorted[base]) : sorted[base];
107
+ }
108
+
109
+ let hoveredIndex: number | null = $state(null);
110
+
111
+ const plotWidth = $derived(Math.max(width - MARGIN.left - MARGIN.right, 1));
112
+ const plotHeight = $derived(Math.max(height - MARGIN.top - MARGIN.bottom, 1));
113
+ const binCount = $derived(Math.max(1, Math.floor(bins)));
114
+
115
+ // Catégories avec au moins une valeur finie (les autres sont ignorées).
116
+ const cleaned = $derived(
117
+ data
118
+ .map((datum, index) => ({
119
+ datum,
120
+ index,
121
+ finite: datum.values.filter(Number.isFinite)
122
+ }))
123
+ .filter((entry) => entry.finite.length > 0)
124
+ );
125
+
126
+ const domain = $derived.by(() => {
127
+ const all = cleaned.flatMap((entry) => entry.finite);
128
+ if (all.length === 0) return { min: 0, max: 1 };
129
+ const min = Math.min(...all);
130
+ const max = Math.max(...all);
131
+ if (min === max) {
132
+ const pad = Math.max(Math.abs(max), 1) * 0.1;
133
+ return { min: min - pad, max: max + pad };
134
+ }
135
+ const pad = (max - min) * 0.06;
136
+ return { min: min - pad, max: max + pad };
137
+ });
138
+
139
+ const violins = $derived.by(() => {
140
+ if (cleaned.length === 0) return [];
141
+ const band = plotWidth / cleaned.length;
142
+ const halfWidth = Math.min(54, Math.max(14, band * 0.36));
143
+ const step = (domain.max - domain.min) / binCount;
144
+ const yOf = (value: number) => MARGIN.top + scaleLinear(value, domain.min, domain.max, plotHeight, 0);
145
+
146
+ return cleaned.map((entry, position) => {
147
+ const cx = MARGIN.left + band * (position + 0.5);
148
+ const tone = entry.datum.tone ?? TONES[entry.index % TONES.length];
149
+
150
+ // Histogramme de densité sur l'axe Y commun.
151
+ const counts = new Array<number>(binCount).fill(0);
152
+ for (const value of entry.finite) {
153
+ const raw = step > 0 ? Math.floor((value - domain.min) / step) : 0;
154
+ const bin = Math.max(0, Math.min(binCount - 1, raw));
155
+ counts[bin] += 1;
156
+ }
157
+ const maxCount = Math.max(1, ...counts);
158
+
159
+ // Largeur du violon par bin (normalisée par catégorie).
160
+ const profile = counts.map((count, bin) => {
161
+ const center = domain.min + step * (bin + 0.5);
162
+ return {
163
+ y: yOf(center),
164
+ w: (count / maxCount) * halfWidth
165
+ };
166
+ });
167
+
168
+ // Chemin fermé : côté droit (haut → bas) puis côté gauche (bas → haut).
169
+ const right = profile.map((p) => `${cx + p.w},${p.y}`);
170
+ const left = [...profile].reverse().map((p) => `${cx - p.w},${p.y}`);
171
+ const path = `M ${right.join(" L ")} L ${left.join(" L ")} Z`;
172
+
173
+ const sorted = [...entry.finite].sort((a, b) => a - b);
174
+ const median = quantile(sorted, 0.5);
175
+ const q1 = quantile(sorted, 0.25);
176
+ const q3 = quantile(sorted, 0.75);
177
+
178
+ return {
179
+ datum: entry.datum,
180
+ tone,
181
+ cx,
182
+ path,
183
+ halfWidth,
184
+ n: entry.finite.length,
185
+ min: sorted[0],
186
+ max: sorted[sorted.length - 1],
187
+ median,
188
+ medianY: yOf(median),
189
+ q1Y: yOf(q1),
190
+ q3Y: yOf(q3),
191
+ boxWidth: Math.max(halfWidth * 0.4, 4)
192
+ };
193
+ });
194
+ });
195
+
196
+ const dataValueItems = $derived(
197
+ violins.map(
198
+ (v) =>
199
+ `${v.datum.label}: ${v.n} points, min ${formatNumber(v.min)}, median ${formatNumber(v.median)}, max ${formatNumber(v.max)}`
200
+ )
201
+ );
202
+
203
+ function handleVisualPointerMove(event: PointerEvent) {
204
+ const target = event.target;
205
+ if (!(target instanceof Element)) {
206
+ hoveredIndex = null;
207
+ return;
208
+ }
209
+ const index = Number(target.getAttribute("data-chart-index"));
210
+ hoveredIndex = Number.isInteger(index) ? index : null;
211
+ }
212
+
213
+ const classes = () => ["st-violinChart", className].filter(Boolean).join(" ");
214
+ </script>
215
+
216
+ <div class={classes()}>
217
+ <div
218
+ class="st-violinChart__visual"
219
+ role="img"
220
+ aria-label={label}
221
+ onpointermove={handleVisualPointerMove}
222
+ onpointerleave={() => (hoveredIndex = null)}
223
+ >
224
+ <svg
225
+ viewBox="0 0 {width} {height}"
226
+ preserveAspectRatio="xMidYMid meet"
227
+ width="100%"
228
+ height="100%"
229
+ focusable="false"
230
+ aria-hidden="true"
231
+ >
232
+ <line class="st-violinChart__axis" x1={MARGIN.left} x2={MARGIN.left} y1={MARGIN.top} y2={height - MARGIN.bottom} />
233
+ <line class="st-violinChart__axis" x1={MARGIN.left} x2={width - MARGIN.right} y1={height - MARGIN.bottom} y2={height - MARGIN.bottom} />
234
+
235
+ {#each violins as violin, i (violin.datum.label)}
236
+ <path
237
+ class="st-violinChart__shape st-violinChart__shape--{violin.tone}"
238
+ class:st-violinChart__shape--dim={hoveredIndex !== null && hoveredIndex !== i}
239
+ d={violin.path}
240
+ data-chart-index={i}
241
+ />
242
+ {#if quartiles}
243
+ <rect
244
+ class="st-violinChart__box"
245
+ x={violin.cx - violin.boxWidth / 2}
246
+ y={Math.min(violin.q1Y, violin.q3Y)}
247
+ width={violin.boxWidth}
248
+ height={Math.max(Math.abs(violin.q1Y - violin.q3Y), 1)}
249
+ data-chart-index={i}
250
+ />
251
+ <line
252
+ class="st-violinChart__median"
253
+ x1={violin.cx - violin.boxWidth / 2}
254
+ x2={violin.cx + violin.boxWidth / 2}
255
+ y1={violin.medianY}
256
+ y2={violin.medianY}
257
+ data-chart-index={i}
258
+ />
259
+ {/if}
260
+ <text class="st-violinChart__label" x={violin.cx} y={height - MARGIN.bottom + 16} text-anchor="middle">
261
+ {violin.datum.label}
262
+ </text>
263
+ {/each}
264
+ </svg>
265
+ </div>
266
+
267
+ <ChartDataList {label} items={dataValueItems} />
268
+
269
+ {#if hoveredIndex !== null && violins[hoveredIndex]}
270
+ {@const violin = violins[hoveredIndex]}
271
+ <div
272
+ class="st-violinChart__tooltip"
273
+ role="presentation"
274
+ style="left: {(violin.cx / width) * 100}%; top: {(violin.medianY / height) * 100}%"
275
+ >
276
+ <span class="st-violinChart__tooltipLabel">{violin.datum.label}</span>
277
+ <span class="st-violinChart__tooltipValue">Median {formatNumber(violin.median)}</span>
278
+ </div>
279
+ {/if}
280
+ </div>
281
+
282
+ <style>
283
+ .st-violinChart {
284
+ color: var(--st-semantic-text-secondary);
285
+ display: block;
286
+ font-family: inherit;
287
+ max-width: 100%;
288
+ position: relative;
289
+ width: 100%;
290
+ }
291
+
292
+ .st-violinChart svg,
293
+ .st-violinChart__visual {
294
+ display: block;
295
+ overflow: visible;
296
+ }
297
+
298
+ .st-violinChart__axis {
299
+ stroke: var(--st-semantic-border-subtle);
300
+ stroke-width: 1;
301
+ }
302
+
303
+ .st-violinChart__shape {
304
+ cursor: pointer;
305
+ fill-opacity: 0.72;
306
+ stroke: var(--st-semantic-surface-default, Canvas);
307
+ stroke-width: 1;
308
+ transition: opacity 120ms ease;
309
+ }
310
+
311
+ .st-violinChart__shape--dim {
312
+ opacity: 0.4;
313
+ }
314
+
315
+ @media (prefers-reduced-motion: reduce) {
316
+ .st-violinChart__shape {
317
+ transition: none;
318
+ }
319
+ }
320
+
321
+ .st-violinChart__shape--category1 { fill: var(--st-semantic-data-category1); }
322
+ .st-violinChart__shape--category2 { fill: var(--st-semantic-data-category2); }
323
+ .st-violinChart__shape--category3 { fill: var(--st-semantic-data-category3); }
324
+ .st-violinChart__shape--category4 { fill: var(--st-semantic-data-category4); }
325
+ .st-violinChart__shape--category5 { fill: var(--st-semantic-data-category5); }
326
+ .st-violinChart__shape--category6 { fill: var(--st-semantic-data-category6); }
327
+ .st-violinChart__shape--category7 { fill: var(--st-semantic-data-category7); }
328
+ .st-violinChart__shape--category8 { fill: var(--st-semantic-data-category8); }
329
+
330
+ .st-violinChart__box {
331
+ fill: var(--st-semantic-surface-default, Canvas);
332
+ fill-opacity: 0.85;
333
+ stroke: var(--st-semantic-text-secondary);
334
+ stroke-width: 1;
335
+ }
336
+
337
+ .st-violinChart__median {
338
+ stroke: var(--st-semantic-text-primary);
339
+ stroke-width: 2;
340
+ }
341
+
342
+ .st-violinChart__label {
343
+ fill: var(--st-semantic-text-secondary);
344
+ font-size: 0.75rem;
345
+ }
346
+
347
+ .st-violinChart__tooltip {
348
+ background: var(--st-semantic-surface-inverse);
349
+ border-radius: var(--st-radius-sm, 0.25rem);
350
+ color: var(--st-semantic-text-inverse);
351
+ display: inline-flex;
352
+ flex-direction: column;
353
+ font-size: 0.75rem;
354
+ gap: 0.125rem;
355
+ line-height: 1.2;
356
+ padding: 0.375rem 0.5rem;
357
+ pointer-events: none;
358
+ position: absolute;
359
+ transform: translate(-50%, -115%);
360
+ white-space: nowrap;
361
+ z-index: 1;
362
+ }
363
+
364
+ .st-violinChart__tooltipLabel {
365
+ font-weight: 600;
366
+ }
367
+
368
+ .st-violinChart__tooltipValue {
369
+ opacity: 0.85;
370
+ }
371
+ </style>
@@ -0,0 +1,53 @@
1
+ /**
2
+ * ViolinChart - API canonique (référence Svelte, React/Vue doivent s'aligner)
3
+ *
4
+ * Trace la DENSITÉ de distribution de chaque catégorie sous forme de violon :
5
+ * une forme symétrique (miroir gauche/droite) dont la largeur, à une hauteur Y
6
+ * donnée, est proportionnelle au nombre de points autour de cette valeur.
7
+ *
8
+ * Densité : histogramme à BINS fixes (défaut 20) sur l'axe Y commun à toutes
9
+ * les catégories. Chaque bin compte les points qui y tombent ; la largeur du
10
+ * violon en ce bin = compte / maxCount * demi-largeur de bande. L'échelle de
11
+ * densité est NORMALISÉE par violon (chaque violon atteint sa pleine largeur
12
+ * à son propre mode) - comparaison de FORME, pas de volume.
13
+ *
14
+ * Échelle Y : commune à toutes les catégories (min/max global sur toutes les
15
+ * valeurs finies) → les violons sont alignés et comparables verticalement.
16
+ *
17
+ * Médiane / quartiles : trait central (médiane) + boîte fine q1–q3 superposés,
18
+ * activables via `quartiles` (défaut true).
19
+ *
20
+ * Props obligatoires :
21
+ * data ViolinChartDatum[] - {label, values: number[], tone?}
22
+ * label string - aria-label du graphique
23
+ *
24
+ * Props optionnelles :
25
+ * bins number (défaut 20) - nombre de bins de densité
26
+ * quartiles boolean (défaut true) - médiane + boîte q1–q3
27
+ * width number (défaut 480) - largeur du viewBox en px
28
+ * height number (défaut 280) - hauteur du viewBox en px
29
+ * class string - classe CSS supplémentaire
30
+ *
31
+ * NaN/vide : les valeurs non-finies sont exclues (filter Number.isFinite).
32
+ * Une catégorie sans valeur finie est ignorée (skip). Tableau vide → rendu
33
+ * vide sans crash.
34
+ */
35
+ export type ViolinChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
36
+ export type ViolinChartDatum = {
37
+ label: string;
38
+ values: number[];
39
+ tone?: ViolinChartTone;
40
+ };
41
+ type ViolinChartProps = {
42
+ data: ViolinChartDatum[];
43
+ label: string;
44
+ bins?: number;
45
+ quartiles?: boolean;
46
+ width?: number;
47
+ height?: number;
48
+ class?: string;
49
+ };
50
+ declare const ViolinChart: import("svelte").Component<ViolinChartProps, {}, "">;
51
+ type ViolinChart = ReturnType<typeof ViolinChart>;
52
+ export default ViolinChart;
53
+ //# sourceMappingURL=ViolinChart.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViolinChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/ViolinChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,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,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAMF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA+LJ,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -110,6 +110,7 @@ export { default as Radio } from "./Radio.svelte";
110
110
  export { default as RadioGroup } from "./RadioGroup.svelte";
111
111
  export { default as RadarChart } from "./RadarChart.svelte";
112
112
  export { default as Rating } from "./Rating.svelte";
113
+ export { default as RoseChart } from "./RoseChart.svelte";
113
114
  export { default as Row } from "./Row.svelte";
114
115
  export { default as ScatterPlot } from "./ScatterPlot.svelte";
115
116
  export { default as Search } from "./Search.svelte";
@@ -148,6 +149,7 @@ export { default as TableOfContents } from "./TableOfContents.svelte";
148
149
  export { default as TreemapChart } from "./TreemapChart.svelte";
149
150
  export { default as TreeView } from "./TreeView.svelte";
150
151
  export { default as UnorderedList } from "./UnorderedList.svelte";
152
+ export { default as ViolinChart } from "./ViolinChart.svelte";
151
153
  export { default as WaterfallChart } from "./WaterfallChart.svelte";
152
154
  export type { AccordionItem } from "./Accordion.svelte";
153
155
  export type { AreaChartDatum, AreaChartTone } from "./AreaChart.svelte";
@@ -156,6 +158,7 @@ export type { BoxPlotChartDatum, BoxPlotChartTone } from "./BoxPlotChart.svelte"
156
158
  export type { HeatmapChartDatum, HeatmapChartTone } from "./HeatmapChart.svelte";
157
159
  export type { HistogramChartDatum, HistogramChartTone } from "./HistogramChart.svelte";
158
160
  export type { RadarChartSeries, RadarChartTone } from "./RadarChart.svelte";
161
+ export type { RoseChartDatum, RoseChartTone } from "./RoseChart.svelte";
159
162
  export type { SankeyChartLink, SankeyChartNode, SankeyChartTone } from "./SankeyChart.svelte";
160
163
  export type { SunburstChartDatum, SunburstChartTone } from "./SunburstChart.svelte";
161
164
  export type { ScatterPlotDatum, ScatterPlotTone } from "./ScatterPlot.svelte";
@@ -164,6 +167,7 @@ export type { LineChartDatum, LineChartTone } from "./LineChart.svelte";
164
167
  export type { ComboChartTone, ComboChartBarSeries, ComboChartLineSeries } from "./ComboChart.svelte";
165
168
  export type { GaugeChartTone, GaugeChartThreshold, GaugeChartFormat } from "./GaugeChart.svelte";
166
169
  export type { FunnelChartTone, FunnelChartDatum } from "./FunnelChart.svelte";
170
+ export type { ViolinChartDatum, ViolinChartTone } from "./ViolinChart.svelte";
167
171
  export type { WaterfallType, WaterfallChartDatum } from "./WaterfallChart.svelte";
168
172
  export type { BulletChartDatum } from "./BulletChart.svelte";
169
173
  export type { MarimekkoChartTone, MarimekkoChartSegment, MarimekkoChartDatum } from "./MarimekkoChart.svelte";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -103,6 +103,7 @@ export { default as Radio } from "./Radio.svelte";
103
103
  export { default as RadioGroup } from "./RadioGroup.svelte";
104
104
  export { default as RadarChart } from "./RadarChart.svelte";
105
105
  export { default as Rating } from "./Rating.svelte";
106
+ export { default as RoseChart } from "./RoseChart.svelte";
106
107
  export { default as Row } from "./Row.svelte";
107
108
  export { default as ScatterPlot } from "./ScatterPlot.svelte";
108
109
  export { default as Search } from "./Search.svelte";
@@ -141,6 +142,7 @@ export { default as TableOfContents } from "./TableOfContents.svelte";
141
142
  export { default as TreemapChart } from "./TreemapChart.svelte";
142
143
  export { default as TreeView } from "./TreeView.svelte";
143
144
  export { default as UnorderedList } from "./UnorderedList.svelte";
145
+ export { default as ViolinChart } from "./ViolinChart.svelte";
144
146
  export { default as WaterfallChart } from "./WaterfallChart.svelte";
145
147
  export { nodeShapePath, edgeDashArray } from "./ForceGraph.svelte";
146
148
  export { deriveInitials } from "./Header.svelte";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-svelte",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"