@sentropic/design-system-svelte 0.34.39 → 0.34.40

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,398 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * ContourChart — lignes/zones de contour sur une grille 2D régulière (façon
4
+ * Highcharts « contour » / carte topographique). Chaque cellule de la grille
5
+ * est peinte d'une bande de couleur fonction de sa `value` normalisée, sur
6
+ * l'échelle catégorielle continue category1..8 (reprise de AnomalySwimLane /
7
+ * Density2D). Axes X/Y gradués (mêmes « niceTicks » que les autres charts) et
8
+ * légende des paliers. a11y : `role="img"` + liste accessible des points.
9
+ * API canonique (référence Svelte, React/Vue/Angular doivent s'aligner).
10
+ *
11
+ * La grille est supposée régulière : les valeurs distinctes de `x` et `y`
12
+ * définissent les colonnes et lignes ; chaque cellule est un rectangle peint
13
+ * du ton correspondant à sa `value`, découpée en `levels` paliers.
14
+ *
15
+ * Props obligatoires :
16
+ * data ContourChartDatum[] - {x, y, value}
17
+ *
18
+ * Props optionnelles :
19
+ * levels number (nombre de paliers de couleur ; défaut 6)
20
+ * label string
21
+ * width number (défaut 640)
22
+ * height number (défaut 320)
23
+ * size number (non utilisé pour le rendu ; réservé parité d'API)
24
+ * class string
25
+ */
26
+ export type ContourChartTone =
27
+ | "category1" | "category2" | "category3" | "category4"
28
+ | "category5" | "category6" | "category7" | "category8";
29
+
30
+ export type ContourChartDatum = {
31
+ x: number;
32
+ y: number;
33
+ /** Valeur scalaire de la cellule : pilote la bande de couleur. */
34
+ value: number;
35
+ };
36
+ </script>
37
+
38
+ <script lang="ts">
39
+ import ChartDataList from "./ChartDataList.svelte";
40
+
41
+ type ContourChartProps = {
42
+ data: ContourChartDatum[];
43
+ levels?: number;
44
+ label?: string;
45
+ width?: number;
46
+ height?: number;
47
+ size?: number;
48
+ class?: string;
49
+ };
50
+
51
+ let {
52
+ data = [],
53
+ levels = 6,
54
+ label,
55
+ width = 640,
56
+ height = 320,
57
+ size,
58
+ class: className
59
+ }: ContourChartProps = $props();
60
+
61
+ const MARGIN = { top: 16, right: 18, bottom: 36, left: 48 };
62
+
63
+ const TONES = [
64
+ "category1","category2","category3","category4",
65
+ "category5","category6","category7","category8"
66
+ ] as const;
67
+
68
+ function niceTicks(min: number, max: number, target = 5): number[] {
69
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min === max) {
70
+ return [Number.isFinite(max) ? max : 0];
71
+ }
72
+ const range = max - min;
73
+ const rough = range / Math.max(target - 1, 1);
74
+ const pow = Math.pow(10, Math.floor(Math.log10(rough)));
75
+ const norm = rough / pow;
76
+ let step: number;
77
+ if (norm < 1.5) step = pow;
78
+ else if (norm < 3) step = 2 * pow;
79
+ else if (norm < 7) step = 5 * pow;
80
+ else step = 10 * pow;
81
+ const start = Math.floor(min / step) * step;
82
+ const end = Math.ceil(max / step) * step;
83
+ const ticks: number[] = [];
84
+ for (let v = start; v <= end + step / 2; v += step) ticks.push(Number(v.toFixed(10)));
85
+ return ticks;
86
+ }
87
+
88
+ function scaleLinear(v: number, d0: number, d1: number, r0: number, r1: number) {
89
+ if (d1 === d0) return r0;
90
+ return r0 + ((v - d0) * (r1 - r0)) / (d1 - d0);
91
+ }
92
+
93
+ function fmt(v: number): string {
94
+ if (Math.abs(v) >= 1000) return `${(v / 1000).toFixed(v % 1000 === 0 ? 0 : 1)}k`;
95
+ return Number.isInteger(v) ? String(v) : v.toFixed(1);
96
+ }
97
+
98
+ let hoveredKey: string | null = $state(null);
99
+
100
+ // Points valides : coordonnées finies, valeur finie.
101
+ const validData = $derived(
102
+ data.filter(
103
+ (d) =>
104
+ d &&
105
+ Number.isFinite(d.x) &&
106
+ Number.isFinite(d.y) &&
107
+ Number.isFinite(d.value)
108
+ )
109
+ );
110
+
111
+ // Nombre de paliers effectif : entier ≥ 1, plafonné à 8 (les tons disponibles).
112
+ const levelCount = $derived(
113
+ Math.max(1, Math.min(TONES.length, Math.floor(Number.isFinite(levels) ? levels : 6)))
114
+ );
115
+
116
+ const valueRange = $derived.by(() => {
117
+ const vals = validData.map((d) => d.value);
118
+ const min = vals.length ? Math.min(...vals) : 0;
119
+ const max = vals.length ? Math.max(...vals) : 0;
120
+ return { min, max };
121
+ });
122
+
123
+ // Palier (0..levelCount-1) puis ton catégoriel : valeur normalisée 0..1 → bande.
124
+ function bandOf(value: number): { band: number; tone: ContourChartTone } {
125
+ const { min, max } = valueRange;
126
+ const ratio = max > min ? (value - min) / (max - min) : 0;
127
+ const band = Math.max(0, Math.min(levelCount - 1, Math.floor(ratio * levelCount)));
128
+ const toneIndex = Math.max(0, Math.min(TONES.length - 1, Math.floor((band / Math.max(levelCount - 1, 1)) * (TONES.length - 1))));
129
+ return { band, tone: TONES[toneIndex] };
130
+ }
131
+
132
+ const scales = $derived.by(() => {
133
+ const xs = validData.map((d) => d.x);
134
+ const ys = validData.map((d) => d.y);
135
+ const xValues = Array.from(new Set(xs)).sort((a, b) => a - b);
136
+ const yValues = Array.from(new Set(ys)).sort((a, b) => a - b);
137
+ const xTicks = niceTicks(Math.min(...xs), Math.max(...xs));
138
+ const yTicks = niceTicks(Math.min(...ys), Math.max(...ys));
139
+ const plotW = Math.max(width - MARGIN.left - MARGIN.right, 1);
140
+ const plotH = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
141
+ return {
142
+ xValues, yValues,
143
+ xTicks, yTicks,
144
+ xMin: xTicks[0], xMax: xTicks[xTicks.length - 1],
145
+ yMin: yTicks[0], yMax: yTicks[yTicks.length - 1],
146
+ plotW, plotH
147
+ };
148
+ });
149
+
150
+ // Largeur/hauteur d'une cellule en espace data (grille régulière), avec repli.
151
+ const cellSpan = $derived.by(() => {
152
+ const { xValues, yValues } = scales;
153
+ const dx = xValues.length > 1 ? xValues[1] - xValues[0] : 1;
154
+ const dy = yValues.length > 1 ? yValues[1] - yValues[0] : 1;
155
+ return { dx, dy };
156
+ });
157
+
158
+ // Une bande rectangulaire par cellule de grille, peinte selon sa value.
159
+ const cells = $derived.by(() => {
160
+ const { xMin, xMax, yMin, yMax, plotW, plotH } = scales;
161
+ const { dx, dy } = cellSpan;
162
+ return validData.map((d, i) => {
163
+ const left = MARGIN.left + scaleLinear(d.x - dx / 2, xMin, xMax, 0, plotW);
164
+ const right = MARGIN.left + scaleLinear(d.x + dx / 2, xMin, xMax, 0, plotW);
165
+ const top = MARGIN.top + scaleLinear(d.y + dy / 2, yMin, yMax, plotH, 0);
166
+ const bottom = MARGIN.top + scaleLinear(d.y - dy / 2, yMin, yMax, plotH, 0);
167
+ const { tone } = bandOf(d.value);
168
+ return {
169
+ key: `${i}`,
170
+ datum: d,
171
+ x: Math.min(left, right),
172
+ y: Math.min(top, bottom),
173
+ width: Math.abs(right - left),
174
+ height: Math.abs(bottom - top),
175
+ cx: (left + right) / 2,
176
+ cy: (top + bottom) / 2,
177
+ tone
178
+ };
179
+ });
180
+ });
181
+
182
+ const dataValueItems = $derived(
183
+ validData.map((d) => `x ${d.x}, y ${d.y} · ${fmt(d.value)}`)
184
+ );
185
+
186
+ const legendItems = $derived(
187
+ Array.from({ length: levelCount }, (_, band) => {
188
+ const toneIndex = Math.max(0, Math.min(TONES.length - 1, Math.floor((band / Math.max(levelCount - 1, 1)) * (TONES.length - 1))));
189
+ return { band, tone: TONES[toneIndex] };
190
+ })
191
+ );
192
+ const hasLegend = $derived(validData.length > 0);
193
+
194
+ function handlePointerMove(event: PointerEvent) {
195
+ const target = event.target;
196
+ if (!(target instanceof Element)) {
197
+ hoveredKey = null;
198
+ return;
199
+ }
200
+ hoveredKey = target.getAttribute("data-chart-key");
201
+ }
202
+
203
+ const hoveredCell = $derived.by(() => {
204
+ if (hoveredKey === null) return null;
205
+ return cells.find((c) => c.key === hoveredKey) ?? null;
206
+ });
207
+
208
+ const classes = () => ["st-contourChart", className].filter(Boolean).join(" ");
209
+ </script>
210
+
211
+ <div class={classes()}>
212
+ <div
213
+ class="st-contourChart__visual"
214
+ role="img"
215
+ aria-label={label}
216
+ onpointermove={handlePointerMove}
217
+ onpointerleave={() => (hoveredKey = null)}
218
+ >
219
+ <svg
220
+ viewBox="0 0 {width} {height}"
221
+ preserveAspectRatio="xMidYMid meet"
222
+ width="100%"
223
+ height="100%"
224
+ focusable="false"
225
+ aria-hidden="true"
226
+ >
227
+ <!-- bandes de contour : une cellule peinte par point de grille -->
228
+ {#each cells as cell (cell.key)}
229
+ <rect
230
+ class="st-contourChart__cell st-contourChart__cell--{cell.tone}"
231
+ class:st-contourChart__cell--dim={hoveredKey !== null && hoveredKey !== cell.key}
232
+ x={cell.x}
233
+ y={cell.y}
234
+ width={cell.width}
235
+ height={cell.height}
236
+ data-chart-key={cell.key}
237
+ />
238
+ {/each}
239
+
240
+ <!-- gridlines + ticks Y -->
241
+ {#each scales.yTicks as t (t)}
242
+ {@const y = MARGIN.top + scaleLinear(t, scales.yMin, scales.yMax, scales.plotH, 0)}
243
+ <line class="st-contourChart__grid" x1={MARGIN.left} x2={width - MARGIN.right} y1={y} y2={y} />
244
+ <text class="st-contourChart__tick" x={MARGIN.left - 6} y={y} text-anchor="end" dominant-baseline="middle">{fmt(t)}</text>
245
+ {/each}
246
+ <!-- ticks X -->
247
+ {#each scales.xTicks as t (t)}
248
+ {@const x = MARGIN.left + scaleLinear(t, scales.xMin, scales.xMax, 0, scales.plotW)}
249
+ <text class="st-contourChart__tick" x={x} y={height - MARGIN.bottom + 16} text-anchor="middle">{fmt(t)}</text>
250
+ {/each}
251
+
252
+ <!-- axes -->
253
+ <line class="st-contourChart__axis" x1={MARGIN.left} x2={MARGIN.left} y1={MARGIN.top} y2={height - MARGIN.bottom} />
254
+ <line class="st-contourChart__axis" x1={MARGIN.left} x2={width - MARGIN.right} y1={height - MARGIN.bottom} y2={height - MARGIN.bottom} />
255
+ </svg>
256
+ </div>
257
+
258
+ {#if hasLegend}
259
+ <div class="st-contourChart__legend" aria-hidden="true">
260
+ <span class="st-contourChart__legendText">Low</span>
261
+ <span class="st-contourChart__legendRamp">
262
+ {#each legendItems as item (item.band)}
263
+ <span class="st-contourChart__legendSwatch st-contourChart__legendSwatch--{item.tone}"></span>
264
+ {/each}
265
+ </span>
266
+ <span class="st-contourChart__legendText">High</span>
267
+ </div>
268
+ {/if}
269
+
270
+ <ChartDataList label={label ?? "contour"} items={dataValueItems} />
271
+
272
+ {#if hoveredCell}
273
+ {@const cell = hoveredCell}
274
+ <div
275
+ class="st-contourChart__tooltip"
276
+ role="presentation"
277
+ style="left: {(cell.cx / width) * 100}%; top: {(cell.cy / height) * 100}%"
278
+ >
279
+ <span class="st-contourChart__tooltipLabel">x {cell.datum.x} · y {cell.datum.y}</span>
280
+ <span class="st-contourChart__tooltipValue">{fmt(cell.datum.value)}</span>
281
+ </div>
282
+ {/if}
283
+ </div>
284
+
285
+ <style>
286
+ .st-contourChart {
287
+ color: var(--st-semantic-text-secondary);
288
+ display: block;
289
+ font-family: inherit;
290
+ position: relative;
291
+ width: 100%;
292
+ }
293
+
294
+ .st-contourChart svg {
295
+ display: block;
296
+ overflow: visible;
297
+ }
298
+
299
+ .st-contourChart__visual {
300
+ display: block;
301
+ }
302
+
303
+ .st-contourChart__grid {
304
+ opacity: 0.5;
305
+ stroke: var(--st-semantic-border-subtle);
306
+ stroke-dasharray: 2 3;
307
+ stroke-width: 1;
308
+ }
309
+
310
+ .st-contourChart__axis {
311
+ stroke: var(--st-semantic-border-subtle);
312
+ stroke-width: 1;
313
+ }
314
+
315
+ .st-contourChart__tick {
316
+ fill: var(--st-semantic-text-secondary);
317
+ font-size: 0.6875rem;
318
+ }
319
+
320
+ .st-contourChart__cell {
321
+ cursor: pointer;
322
+ stroke: var(--st-semantic-surface-default, Canvas);
323
+ stroke-width: 0.5;
324
+ transition: opacity 120ms ease;
325
+ }
326
+
327
+ .st-contourChart__cell--dim {
328
+ opacity: 0.35;
329
+ }
330
+
331
+ .st-contourChart__cell--category1 { fill: var(--st-semantic-data-category1); }
332
+ .st-contourChart__cell--category2 { fill: var(--st-semantic-data-category2); }
333
+ .st-contourChart__cell--category3 { fill: var(--st-semantic-data-category3); }
334
+ .st-contourChart__cell--category4 { fill: var(--st-semantic-data-category4); }
335
+ .st-contourChart__cell--category5 { fill: var(--st-semantic-data-category5); }
336
+ .st-contourChart__cell--category6 { fill: var(--st-semantic-data-category6); }
337
+ .st-contourChart__cell--category7 { fill: var(--st-semantic-data-category7); }
338
+ .st-contourChart__cell--category8 { fill: var(--st-semantic-data-category8); }
339
+
340
+ .st-contourChart__legend {
341
+ align-items: center;
342
+ color: var(--st-semantic-text-secondary);
343
+ display: flex;
344
+ font-size: 0.6875rem;
345
+ gap: 0.375rem;
346
+ margin-top: 0.5rem;
347
+ }
348
+
349
+ .st-contourChart__legendRamp {
350
+ display: inline-flex;
351
+ }
352
+
353
+ .st-contourChart__legendSwatch {
354
+ display: inline-block;
355
+ height: 0.75rem;
356
+ width: 1.25rem;
357
+ }
358
+
359
+ .st-contourChart__legendSwatch--category1 { background: var(--st-semantic-data-category1); }
360
+ .st-contourChart__legendSwatch--category2 { background: var(--st-semantic-data-category2); }
361
+ .st-contourChart__legendSwatch--category3 { background: var(--st-semantic-data-category3); }
362
+ .st-contourChart__legendSwatch--category4 { background: var(--st-semantic-data-category4); }
363
+ .st-contourChart__legendSwatch--category5 { background: var(--st-semantic-data-category5); }
364
+ .st-contourChart__legendSwatch--category6 { background: var(--st-semantic-data-category6); }
365
+ .st-contourChart__legendSwatch--category7 { background: var(--st-semantic-data-category7); }
366
+ .st-contourChart__legendSwatch--category8 { background: var(--st-semantic-data-category8); }
367
+
368
+ .st-contourChart__tooltip {
369
+ background: var(--st-semantic-surface-inverse);
370
+ border-radius: var(--st-radius-sm, 0.25rem);
371
+ color: var(--st-semantic-text-inverse);
372
+ display: inline-flex;
373
+ flex-direction: column;
374
+ font-size: 0.75rem;
375
+ gap: 0.125rem;
376
+ line-height: 1.2;
377
+ padding: 0.375rem 0.5rem;
378
+ pointer-events: none;
379
+ position: absolute;
380
+ transform: translate(-50%, calc(-100% - 8px));
381
+ white-space: nowrap;
382
+ z-index: 1;
383
+ }
384
+
385
+ .st-contourChart__tooltipLabel {
386
+ font-weight: 600;
387
+ }
388
+
389
+ .st-contourChart__tooltipValue {
390
+ opacity: 0.85;
391
+ }
392
+
393
+ @media (prefers-reduced-motion: reduce) {
394
+ .st-contourChart__cell {
395
+ transition: none;
396
+ }
397
+ }
398
+ </style>
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ContourChart — lignes/zones de contour sur une grille 2D régulière (façon
3
+ * Highcharts « contour » / carte topographique). Chaque cellule de la grille
4
+ * est peinte d'une bande de couleur fonction de sa `value` normalisée, sur
5
+ * l'échelle catégorielle continue category1..8 (reprise de AnomalySwimLane /
6
+ * Density2D). Axes X/Y gradués (mêmes « niceTicks » que les autres charts) et
7
+ * légende des paliers. a11y : `role="img"` + liste accessible des points.
8
+ * API canonique (référence Svelte, React/Vue/Angular doivent s'aligner).
9
+ *
10
+ * La grille est supposée régulière : les valeurs distinctes de `x` et `y`
11
+ * définissent les colonnes et lignes ; chaque cellule est un rectangle peint
12
+ * du ton correspondant à sa `value`, découpée en `levels` paliers.
13
+ *
14
+ * Props obligatoires :
15
+ * data ContourChartDatum[] - {x, y, value}
16
+ *
17
+ * Props optionnelles :
18
+ * levels number (nombre de paliers de couleur ; défaut 6)
19
+ * label string
20
+ * width number (défaut 640)
21
+ * height number (défaut 320)
22
+ * size number (non utilisé pour le rendu ; réservé parité d'API)
23
+ * class string
24
+ */
25
+ export type ContourChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
26
+ export type ContourChartDatum = {
27
+ x: number;
28
+ y: number;
29
+ /** Valeur scalaire de la cellule : pilote la bande de couleur. */
30
+ value: number;
31
+ };
32
+ type ContourChartProps = {
33
+ data: ContourChartDatum[];
34
+ levels?: number;
35
+ label?: string;
36
+ width?: number;
37
+ height?: number;
38
+ size?: number;
39
+ class?: string;
40
+ };
41
+ declare const ContourChart: import("svelte").Component<ContourChartProps, {}, "">;
42
+ type ContourChart = ReturnType<typeof ContourChart>;
43
+ export default ContourChart;
44
+ //# sourceMappingURL=ContourChart.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContourChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/ContourChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAMF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,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;AA4NJ,QAAA,MAAM,YAAY,uDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContourChart.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContourChart.test.d.ts","sourceRoot":"","sources":["../src/lib/ContourChart.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,59 @@
1
+ import { render } from "@testing-library/svelte";
2
+ import { describe, expect, it } from "vitest";
3
+ import ContourChart from "./ContourChart.svelte";
4
+ // Grille 2×2 régulière, valeurs croissantes.
5
+ const grid = [
6
+ { x: 0, y: 0, value: 1 },
7
+ { x: 1, y: 0, value: 2 },
8
+ { x: 0, y: 1, value: 3 },
9
+ { x: 1, y: 1, value: 4 }
10
+ ];
11
+ const cells = (container) => Array.from(container.querySelectorAll(".st-contourChart__cell"));
12
+ const listItems = (container) => Array.from(container.querySelectorAll(".st-chartDataList li")).map((n) => n.textContent?.trim());
13
+ const structuralClass = (el) => el.className.split(/\s+/)[0];
14
+ describe("ContourChart", () => {
15
+ it("renders an img role and one cell per datum", () => {
16
+ const { container } = render(ContourChart, { props: { data: grid, label: "Relief" } });
17
+ expect(container.querySelector('[role="img"]')).toBeTruthy();
18
+ expect(cells(container).length).toBe(4);
19
+ });
20
+ it("colours cells by value band (largest value → category8)", () => {
21
+ const { container } = render(ContourChart, { props: { data: grid, label: "C" } });
22
+ const last = cells(container).at(-1);
23
+ expect(last.classList.contains("st-contourChart__cell--category8")).toBe(true);
24
+ });
25
+ it("renders graduated X/Y axes with nice ticks", () => {
26
+ const { container } = render(ContourChart, { props: { data: grid, label: "C" } });
27
+ expect(container.querySelectorAll(".st-contourChart__axis").length).toBe(2);
28
+ expect(container.querySelectorAll(".st-contourChart__tick").length).toBeGreaterThan(0);
29
+ });
30
+ it("renders a level legend ramp", () => {
31
+ const { container } = render(ContourChart, { props: { data: grid, levels: 4, label: "C" } });
32
+ expect(container.querySelectorAll(".st-contourChart__legendSwatch").length).toBe(4);
33
+ });
34
+ it("lists every datum in the accessible data list", () => {
35
+ const { container } = render(ContourChart, {
36
+ props: { data: [{ x: 2, y: 3, value: 5 }], label: "C" }
37
+ });
38
+ expect(listItems(container)[0]).toBe("x 2, y 3 · 5");
39
+ });
40
+ it("drops non-finite points before rendering", () => {
41
+ const { container } = render(ContourChart, {
42
+ props: {
43
+ data: [
44
+ { x: Number.NaN, y: 0, value: 1 },
45
+ { x: 0, y: 0, value: Number.NaN },
46
+ { x: 1, y: 1, value: 2 }
47
+ ],
48
+ label: "C"
49
+ }
50
+ });
51
+ expect(cells(container).length).toBe(1);
52
+ });
53
+ it("merges a custom class onto the root", () => {
54
+ const { container } = render(ContourChart, { props: { data: grid, class: "mine" } });
55
+ const root = container.querySelector(".st-contourChart");
56
+ expect(structuralClass(root)).toBe("st-contourChart");
57
+ expect(root.classList.contains("mine")).toBe(true);
58
+ });
59
+ });
@@ -0,0 +1,367 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * WindBarbChart — barbes de vent (symboles météo : vitesse + direction) le
4
+ * long d'un axe temporel (façon Highcharts « windbarb »). Une barbe par point :
5
+ * la hampe est orientée selon `direction` (en degrés) et les barbules encodent
6
+ * la `speed` (en nœuds) par paliers météo standard (demi-barbule = 5 kt,
7
+ * barbule pleine = 10 kt, fanion = 50 kt). La couleur encode la vitesse sur
8
+ * l'échelle catégorielle continue category1..8. a11y : `role="img"` +
9
+ * `data-chart-key` + liste accessible des points.
10
+ * API canonique (référence Svelte, React/Vue/Angular doivent s'aligner).
11
+ *
12
+ * Convention de direction (météo) : `direction` est la direction d'où vient le
13
+ * vent, en degrés (0° = Nord). La hampe pointe vers la source et les barbules
14
+ * sont placées du côté droit de la hampe (hémisphère nord).
15
+ *
16
+ * Props obligatoires :
17
+ * data WindBarbChartDatum[] - {at, speed, direction}
18
+ *
19
+ * Props optionnelles :
20
+ * label string
21
+ * width number (défaut 640)
22
+ * height number (défaut 160)
23
+ * size number (longueur de la hampe en px ; défaut 32)
24
+ * class string
25
+ */
26
+ export type WindBarbChartTone =
27
+ | "category1" | "category2" | "category3" | "category4"
28
+ | "category5" | "category6" | "category7" | "category8";
29
+
30
+ export type WindBarbChartDatum = {
31
+ /** Position sur l'axe temporel (timestamp ou index). */
32
+ at: number;
33
+ /** Vitesse du vent en nœuds (≥ 0) : pilote les barbules et la couleur. */
34
+ speed: number;
35
+ /** Direction (d'où vient le vent) en DEGRÉS (0° = Nord). */
36
+ direction: number;
37
+ };
38
+ </script>
39
+
40
+ <script lang="ts">
41
+ import ChartDataList from "./ChartDataList.svelte";
42
+
43
+ type WindBarbChartProps = {
44
+ data: WindBarbChartDatum[];
45
+ label?: string;
46
+ width?: number;
47
+ height?: number;
48
+ size?: number;
49
+ class?: string;
50
+ };
51
+
52
+ let {
53
+ data = [],
54
+ label,
55
+ width = 640,
56
+ height = 160,
57
+ size = 32,
58
+ class: className
59
+ }: WindBarbChartProps = $props();
60
+
61
+ const MARGIN = { top: 16, right: 18, bottom: 36, left: 24 };
62
+
63
+ const TONES = [
64
+ "category1","category2","category3","category4",
65
+ "category5","category6","category7","category8"
66
+ ] as const;
67
+
68
+ function niceTicks(min: number, max: number, target = 5): number[] {
69
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min === max) {
70
+ return [Number.isFinite(max) ? max : 0];
71
+ }
72
+ const range = max - min;
73
+ const rough = range / Math.max(target - 1, 1);
74
+ const pow = Math.pow(10, Math.floor(Math.log10(rough)));
75
+ const norm = rough / pow;
76
+ let step: number;
77
+ if (norm < 1.5) step = pow;
78
+ else if (norm < 3) step = 2 * pow;
79
+ else if (norm < 7) step = 5 * pow;
80
+ else step = 10 * pow;
81
+ const start = Math.floor(min / step) * step;
82
+ const end = Math.ceil(max / step) * step;
83
+ const ticks: number[] = [];
84
+ for (let v = start; v <= end + step / 2; v += step) ticks.push(Number(v.toFixed(10)));
85
+ return ticks;
86
+ }
87
+
88
+ function scaleLinear(v: number, d0: number, d1: number, r0: number, r1: number) {
89
+ if (d1 === d0) return r0;
90
+ return r0 + ((v - d0) * (r1 - r0)) / (d1 - d0);
91
+ }
92
+
93
+ function fmt(v: number): string {
94
+ if (Math.abs(v) >= 1000) return `${(v / 1000).toFixed(v % 1000 === 0 ? 0 : 1)}k`;
95
+ return Number.isInteger(v) ? String(v) : v.toFixed(1);
96
+ }
97
+
98
+ // Décompose une vitesse (kt) en barbules météo : fanions (50), pleines (10),
99
+ // demi (5). On arrondit au plus proche multiple de 5 (convention standard).
100
+ function barbCounts(speed: number): { flags: number; full: number; half: number } {
101
+ let rounded = Math.round(speed / 5) * 5;
102
+ if (rounded < 0) rounded = 0;
103
+ const flags = Math.floor(rounded / 50);
104
+ rounded -= flags * 50;
105
+ const full = Math.floor(rounded / 10);
106
+ rounded -= full * 10;
107
+ const half = Math.floor(rounded / 5);
108
+ return { flags, full, half };
109
+ }
110
+
111
+ let hoveredKey: string | null = $state(null);
112
+
113
+ // Points valides : position finie, vitesse finie ≥ 0, direction finie.
114
+ const validData = $derived(
115
+ data.filter(
116
+ (d) =>
117
+ d &&
118
+ Number.isFinite(d.at) &&
119
+ Number.isFinite(d.speed) &&
120
+ d.speed >= 0 &&
121
+ Number.isFinite(d.direction)
122
+ )
123
+ );
124
+
125
+ const scales = $derived.by(() => {
126
+ const ats = validData.map((d) => d.at);
127
+ const xTicks = niceTicks(Math.min(...ats), Math.max(...ats));
128
+ const plotW = Math.max(width - MARGIN.left - MARGIN.right, 1);
129
+ return {
130
+ xTicks,
131
+ xMin: xTicks[0], xMax: xTicks[xTicks.length - 1],
132
+ plotW
133
+ };
134
+ });
135
+
136
+ const maxSpeed = $derived(
137
+ validData.reduce((max, d) => (d.speed > max ? d.speed : max), 0)
138
+ );
139
+
140
+ // Ligne de base des barbes : centrée verticalement dans la zone de tracé.
141
+ const baseY = $derived(MARGIN.top + (height - MARGIN.top - MARGIN.bottom) / 2);
142
+
143
+ // Une barbe par point : hampe orientée + barbules le long de la hampe.
144
+ const barbs = $derived.by(() => {
145
+ const { xMin, xMax, plotW } = scales;
146
+ const max = maxSpeed > 0 ? maxSpeed : 1;
147
+ return validData.map((d, i) => {
148
+ const cx = MARGIN.left + scaleLinear(d.at, xMin, xMax, 0, plotW);
149
+ const cy = baseY;
150
+ // Direction météo : 0° = Nord (vers le haut). On oriente la hampe vers la
151
+ // source du vent. Angle écran (Y descend) : haut = -90°.
152
+ const rad = ((d.direction - 90) * Math.PI) / 180;
153
+ const ux = Math.cos(rad);
154
+ const uy = Math.sin(rad);
155
+ // Pointe de la hampe (extrémité libre, côté source du vent).
156
+ const tipX = cx + ux * size;
157
+ const tipY = cy + uy * size;
158
+ // Vecteur perpendiculaire (côté barbules, à droite de la hampe).
159
+ const px = -uy;
160
+ const py = ux;
161
+ const { flags, full, half } = barbCounts(d.speed);
162
+ const barbLen = size * 0.42;
163
+ const halfLen = barbLen * 0.55;
164
+ const spacing = size * 0.16;
165
+ const ticks: { x1: number; y1: number; x2: number; y2: number; kind: "full" | "half" | "flag1" | "flag2" }[] = [];
166
+ // On place les symboles depuis la pointe vers la base.
167
+ let along = size - spacing;
168
+ for (let f = 0; f < flags; f++) {
169
+ const aX = cx + ux * along;
170
+ const aY = cy + uy * along;
171
+ const bAlong = along - spacing;
172
+ const bX = cx + ux * bAlong;
173
+ const bY = cy + uy * bAlong;
174
+ const tipFX = aX + px * barbLen;
175
+ const tipFY = aY + py * barbLen;
176
+ ticks.push({ x1: aX, y1: aY, x2: tipFX, y2: tipFY, kind: "flag1" });
177
+ ticks.push({ x1: bX, y1: bY, x2: tipFX, y2: tipFY, kind: "flag2" });
178
+ along = bAlong - spacing;
179
+ }
180
+ for (let f = 0; f < full; f++) {
181
+ const aX = cx + ux * along;
182
+ const aY = cy + uy * along;
183
+ ticks.push({ x1: aX, y1: aY, x2: aX + px * barbLen, y2: aY + py * barbLen, kind: "full" });
184
+ along -= spacing;
185
+ }
186
+ for (let h = 0; h < half; h++) {
187
+ const aX = cx + ux * along;
188
+ const aY = cy + uy * along;
189
+ ticks.push({ x1: aX, y1: aY, x2: aX + px * halfLen, y2: aY + py * halfLen, kind: "half" });
190
+ along -= spacing;
191
+ }
192
+ // Ton catégoriel par bin de vitesse (max → category8).
193
+ const bin = Math.min(Math.floor((d.speed / max) * TONES.length), TONES.length - 1);
194
+ return {
195
+ key: `${i}`,
196
+ datum: d,
197
+ cx, cy, tipX, tipY, ticks,
198
+ tone: TONES[Math.max(0, bin)]
199
+ };
200
+ });
201
+ });
202
+
203
+ const dataValueItems = $derived(
204
+ validData.map((d) => `${fmt(d.at)} · ${fmt(d.speed)} kt @ ${fmt(d.direction)}°`)
205
+ );
206
+
207
+ function handlePointerMove(event: PointerEvent) {
208
+ const target = event.target;
209
+ if (!(target instanceof Element)) {
210
+ hoveredKey = null;
211
+ return;
212
+ }
213
+ hoveredKey = target.getAttribute("data-chart-key");
214
+ }
215
+
216
+ const hoveredBarb = $derived.by(() => {
217
+ if (hoveredKey === null) return null;
218
+ return barbs.find((b) => b.key === hoveredKey) ?? null;
219
+ });
220
+
221
+ const classes = () => ["st-windBarbChart", className].filter(Boolean).join(" ");
222
+ </script>
223
+
224
+ <div class={classes()}>
225
+ <div
226
+ class="st-windBarbChart__visual"
227
+ role="img"
228
+ aria-label={label}
229
+ onpointermove={handlePointerMove}
230
+ onpointerleave={() => (hoveredKey = null)}
231
+ >
232
+ <svg
233
+ viewBox="0 0 {width} {height}"
234
+ preserveAspectRatio="xMidYMid meet"
235
+ width="100%"
236
+ height="100%"
237
+ focusable="false"
238
+ aria-hidden="true"
239
+ >
240
+ <!-- axe temporel X : ticks -->
241
+ {#each scales.xTicks as t (t)}
242
+ {@const x = MARGIN.left + scaleLinear(t, scales.xMin, scales.xMax, 0, scales.plotW)}
243
+ <text class="st-windBarbChart__tick" x={x} y={height - MARGIN.bottom + 16} text-anchor="middle">{fmt(t)}</text>
244
+ {/each}
245
+
246
+ <!-- axe de base -->
247
+ <line class="st-windBarbChart__axis" x1={MARGIN.left} x2={width - MARGIN.right} y1={height - MARGIN.bottom} y2={height - MARGIN.bottom} />
248
+
249
+ <!-- une barbe par point : hampe + barbules -->
250
+ {#each barbs as b (b.key)}
251
+ <g
252
+ class="st-windBarbChart__barb st-windBarbChart__barb--{b.tone}"
253
+ class:st-windBarbChart__barb--dim={hoveredKey !== null && hoveredKey !== b.key}
254
+ >
255
+ <line class="st-windBarbChart__shaft" x1={b.cx} y1={b.cy} x2={b.tipX} y2={b.tipY} data-chart-key={b.key} />
256
+ {#each b.ticks as tk, ti (ti)}
257
+ <line class="st-windBarbChart__feather st-windBarbChart__feather--{tk.kind}" x1={tk.x1} y1={tk.y1} x2={tk.x2} y2={tk.y2} />
258
+ {/each}
259
+ </g>
260
+ {/each}
261
+ </svg>
262
+ </div>
263
+
264
+ <ChartDataList label={label ?? "wind barb"} items={dataValueItems} />
265
+
266
+ {#if hoveredBarb}
267
+ {@const b = hoveredBarb}
268
+ <div
269
+ class="st-windBarbChart__tooltip"
270
+ role="presentation"
271
+ style="left: {(b.cx / width) * 100}%; top: {(b.cy / height) * 100}%"
272
+ >
273
+ <span class="st-windBarbChart__tooltipLabel">{fmt(b.datum.at)}</span>
274
+ <span class="st-windBarbChart__tooltipValue">{fmt(b.datum.speed)} kt @ {fmt(b.datum.direction)}°</span>
275
+ </div>
276
+ {/if}
277
+ </div>
278
+
279
+ <style>
280
+ .st-windBarbChart {
281
+ color: var(--st-semantic-text-secondary);
282
+ display: block;
283
+ font-family: inherit;
284
+ position: relative;
285
+ width: 100%;
286
+ }
287
+
288
+ .st-windBarbChart svg {
289
+ display: block;
290
+ overflow: visible;
291
+ }
292
+
293
+ .st-windBarbChart__visual {
294
+ display: block;
295
+ }
296
+
297
+ .st-windBarbChart__axis {
298
+ stroke: var(--st-semantic-border-subtle);
299
+ stroke-width: 1;
300
+ }
301
+
302
+ .st-windBarbChart__tick {
303
+ fill: var(--st-semantic-text-secondary);
304
+ font-size: 0.6875rem;
305
+ }
306
+
307
+ .st-windBarbChart__barb {
308
+ transition: opacity 120ms ease;
309
+ }
310
+
311
+ .st-windBarbChart__barb--dim {
312
+ opacity: 0.35;
313
+ }
314
+
315
+ .st-windBarbChart__shaft {
316
+ cursor: pointer;
317
+ stroke: currentColor;
318
+ stroke-linecap: round;
319
+ stroke-width: 2;
320
+ }
321
+
322
+ .st-windBarbChart__feather {
323
+ stroke: currentColor;
324
+ stroke-linecap: round;
325
+ stroke-width: 2;
326
+ }
327
+
328
+ .st-windBarbChart__barb--category1 { color: var(--st-semantic-data-category1); }
329
+ .st-windBarbChart__barb--category2 { color: var(--st-semantic-data-category2); }
330
+ .st-windBarbChart__barb--category3 { color: var(--st-semantic-data-category3); }
331
+ .st-windBarbChart__barb--category4 { color: var(--st-semantic-data-category4); }
332
+ .st-windBarbChart__barb--category5 { color: var(--st-semantic-data-category5); }
333
+ .st-windBarbChart__barb--category6 { color: var(--st-semantic-data-category6); }
334
+ .st-windBarbChart__barb--category7 { color: var(--st-semantic-data-category7); }
335
+ .st-windBarbChart__barb--category8 { color: var(--st-semantic-data-category8); }
336
+
337
+ .st-windBarbChart__tooltip {
338
+ background: var(--st-semantic-surface-inverse);
339
+ border-radius: var(--st-radius-sm, 0.25rem);
340
+ color: var(--st-semantic-text-inverse);
341
+ display: inline-flex;
342
+ flex-direction: column;
343
+ font-size: 0.75rem;
344
+ gap: 0.125rem;
345
+ line-height: 1.2;
346
+ padding: 0.375rem 0.5rem;
347
+ pointer-events: none;
348
+ position: absolute;
349
+ transform: translate(-50%, calc(-100% - 8px));
350
+ white-space: nowrap;
351
+ z-index: 1;
352
+ }
353
+
354
+ .st-windBarbChart__tooltipLabel {
355
+ font-weight: 600;
356
+ }
357
+
358
+ .st-windBarbChart__tooltipValue {
359
+ opacity: 0.85;
360
+ }
361
+
362
+ @media (prefers-reduced-motion: reduce) {
363
+ .st-windBarbChart__barb {
364
+ transition: none;
365
+ }
366
+ }
367
+ </style>
@@ -0,0 +1,45 @@
1
+ /**
2
+ * WindBarbChart — barbes de vent (symboles météo : vitesse + direction) le
3
+ * long d'un axe temporel (façon Highcharts « windbarb »). Une barbe par point :
4
+ * la hampe est orientée selon `direction` (en degrés) et les barbules encodent
5
+ * la `speed` (en nœuds) par paliers météo standard (demi-barbule = 5 kt,
6
+ * barbule pleine = 10 kt, fanion = 50 kt). La couleur encode la vitesse sur
7
+ * l'échelle catégorielle continue category1..8. a11y : `role="img"` +
8
+ * `data-chart-key` + liste accessible des points.
9
+ * API canonique (référence Svelte, React/Vue/Angular doivent s'aligner).
10
+ *
11
+ * Convention de direction (météo) : `direction` est la direction d'où vient le
12
+ * vent, en degrés (0° = Nord). La hampe pointe vers la source et les barbules
13
+ * sont placées du côté droit de la hampe (hémisphère nord).
14
+ *
15
+ * Props obligatoires :
16
+ * data WindBarbChartDatum[] - {at, speed, direction}
17
+ *
18
+ * Props optionnelles :
19
+ * label string
20
+ * width number (défaut 640)
21
+ * height number (défaut 160)
22
+ * size number (longueur de la hampe en px ; défaut 32)
23
+ * class string
24
+ */
25
+ export type WindBarbChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8";
26
+ export type WindBarbChartDatum = {
27
+ /** Position sur l'axe temporel (timestamp ou index). */
28
+ at: number;
29
+ /** Vitesse du vent en nœuds (≥ 0) : pilote les barbules et la couleur. */
30
+ speed: number;
31
+ /** Direction (d'où vient le vent) en DEGRÉS (0° = Nord). */
32
+ direction: number;
33
+ };
34
+ type WindBarbChartProps = {
35
+ data: WindBarbChartDatum[];
36
+ label?: string;
37
+ width?: number;
38
+ height?: number;
39
+ size?: number;
40
+ class?: string;
41
+ };
42
+ declare const WindBarbChart: import("svelte").Component<WindBarbChartProps, {}, "">;
43
+ type WindBarbChart = ReturnType<typeof WindBarbChart>;
44
+ export default WindBarbChart;
45
+ //# sourceMappingURL=WindBarbChart.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindBarbChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/WindBarbChart.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GACrD,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,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;AA0NJ,QAAA,MAAM,aAAa,wDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WindBarbChart.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindBarbChart.test.d.ts","sourceRoot":"","sources":["../src/lib/WindBarbChart.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { render } from "@testing-library/svelte";
2
+ import { describe, expect, it } from "vitest";
3
+ import WindBarbChart from "./WindBarbChart.svelte";
4
+ const series = [
5
+ { at: 0, speed: 5, direction: 0 },
6
+ { at: 1, speed: 15, direction: 90 },
7
+ { at: 2, speed: 30, direction: 180 },
8
+ { at: 3, speed: 65, direction: 270 }
9
+ ];
10
+ const barbs = (container) => Array.from(container.querySelectorAll(".st-windBarbChart__barb"));
11
+ const listItems = (container) => Array.from(container.querySelectorAll(".st-chartDataList li")).map((n) => n.textContent?.trim());
12
+ const structuralClass = (el) => el.className.split(/\s+/)[0];
13
+ describe("WindBarbChart", () => {
14
+ it("renders an img role and one barb per datum", () => {
15
+ const { container } = render(WindBarbChart, { props: { data: series, label: "Vent" } });
16
+ expect(container.querySelector('[role="img"]')).toBeTruthy();
17
+ expect(barbs(container).length).toBe(4);
18
+ });
19
+ it("draws a shaft per barb", () => {
20
+ const { container } = render(WindBarbChart, { props: { data: series, label: "W" } });
21
+ expect(container.querySelectorAll(".st-windBarbChart__shaft").length).toBe(4);
22
+ });
23
+ it("draws feather symbols encoding the speed (half / full / flag)", () => {
24
+ // 65 kt = 1 fanion (50) + 1 barbule pleine (10) + 1 demi (5) = 2 + 1 + 1 = 4 traits.
25
+ const { container } = render(WindBarbChart, {
26
+ props: { data: [{ at: 0, speed: 65, direction: 0 }], label: "W" }
27
+ });
28
+ expect(container.querySelectorAll(".st-windBarbChart__feather").length).toBe(4);
29
+ });
30
+ it("colours barbs by speed bin (largest speed → category8)", () => {
31
+ const { container } = render(WindBarbChart, { props: { data: series, label: "W" } });
32
+ const last = barbs(container).at(-1);
33
+ expect(last.classList.contains("st-windBarbChart__barb--category8")).toBe(true);
34
+ });
35
+ it("renders a graduated time axis with nice ticks", () => {
36
+ const { container } = render(WindBarbChart, { props: { data: series, label: "W" } });
37
+ expect(container.querySelectorAll(".st-windBarbChart__axis").length).toBe(1);
38
+ expect(container.querySelectorAll(".st-windBarbChart__tick").length).toBeGreaterThan(0);
39
+ });
40
+ it("lists every datum in the accessible data list", () => {
41
+ const { container } = render(WindBarbChart, {
42
+ props: { data: [{ at: 2, speed: 10, direction: 45 }], label: "W" }
43
+ });
44
+ expect(listItems(container)[0]).toBe("2 · 10 kt @ 45°");
45
+ });
46
+ it("drops non-finite or negative-speed points before rendering", () => {
47
+ const { container } = render(WindBarbChart, {
48
+ props: {
49
+ data: [
50
+ { at: Number.NaN, speed: 5, direction: 0 },
51
+ { at: 0, speed: -1, direction: 0 },
52
+ { at: 1, speed: 10, direction: 0 }
53
+ ],
54
+ label: "W"
55
+ }
56
+ });
57
+ expect(barbs(container).length).toBe(1);
58
+ });
59
+ it("merges a custom class onto the root", () => {
60
+ const { container } = render(WindBarbChart, { props: { data: series, class: "mine" } });
61
+ const root = container.querySelector(".st-windBarbChart");
62
+ expect(structuralClass(root)).toBe("st-windBarbChart");
63
+ expect(root.classList.contains("mine")).toBe(true);
64
+ });
65
+ });
package/dist/index.d.ts CHANGED
@@ -101,6 +101,8 @@ export { default as StateTimelineChart } from "./StateTimelineChart.svelte";
101
101
  export { default as StatusHistoryChart } from "./StatusHistoryChart.svelte";
102
102
  export { default as EventFeedPanel } from "./EventFeedPanel.svelte";
103
103
  export { default as VectorFieldChart } from "./VectorFieldChart.svelte";
104
+ export { default as ContourChart } from "./ContourChart.svelte";
105
+ export { default as WindBarbChart } from "./WindBarbChart.svelte";
104
106
  export { default as WaffleChart } from "./WaffleChart.svelte";
105
107
  export { default as RibbonChart } from "./RibbonChart.svelte";
106
108
  export { default as AnomalySwimLaneChart } from "./AnomalySwimLaneChart.svelte";
@@ -235,6 +237,8 @@ export type { StateTimelineTone, StateTimelineSegment, StateTimelineSeries } fro
235
237
  export type { StatusHistoryTone, StatusHistoryBucket, StatusHistorySeries } from "./StatusHistoryChart.svelte";
236
238
  export type { EventFeedPanelSeverity, EventFeedPanelEvent } from "./EventFeedPanel.svelte";
237
239
  export type { VectorFieldChartTone, VectorFieldChartDatum } from "./VectorFieldChart.svelte";
240
+ export type { ContourChartTone, ContourChartDatum } from "./ContourChart.svelte";
241
+ export type { WindBarbChartTone, WindBarbChartDatum } from "./WindBarbChart.svelte";
238
242
  export type { WaffleTone, WaffleChartDatum } from "./WaffleChart.svelte";
239
243
  export type { RibbonChartTone, RibbonChartDatum } from "./RibbonChart.svelte";
240
244
  export type { AnomalySwimLaneTone, AnomalySwimLaneBucket, AnomalySwimLaneSeries } from "./AnomalySwimLaneChart.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
@@ -91,6 +91,8 @@ export { default as StateTimelineChart } from "./StateTimelineChart.svelte";
91
91
  export { default as StatusHistoryChart } from "./StatusHistoryChart.svelte";
92
92
  export { default as EventFeedPanel } from "./EventFeedPanel.svelte";
93
93
  export { default as VectorFieldChart } from "./VectorFieldChart.svelte";
94
+ export { default as ContourChart } from "./ContourChart.svelte";
95
+ export { default as WindBarbChart } from "./WindBarbChart.svelte";
94
96
  export { default as WaffleChart } from "./WaffleChart.svelte";
95
97
  export { default as RibbonChart } from "./RibbonChart.svelte";
96
98
  export { default as AnomalySwimLaneChart } from "./AnomalySwimLaneChart.svelte";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-svelte",
3
- "version": "0.34.39",
3
+ "version": "0.34.40",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"