@sentropic/design-system-svelte 0.30.0 → 0.31.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.
@@ -65,8 +65,23 @@
65
65
 
66
66
  <header class={classes()}>
67
67
  <div class="st-appHeader__bar">
68
- <!-- Burger à GAUCHE (calque exact de la source ~L176-191). -->
69
- {#if compact}
68
+ <!-- Logo SENT à GAUCHE (+ sous-titre). -->
69
+ {#if logo}
70
+ <div class="st-appHeader__logo">{@render logo()}</div>
71
+ {/if}
72
+
73
+ <!-- Nav desktop (masquée en mode compact). -->
74
+ {#if !compact}
75
+ <nav class="st-appHeader__nav" aria-label="Primary">
76
+ {#if nav}{@render nav()}{/if}
77
+ </nav>
78
+
79
+ <!-- Contrôles de droite (masqués en mode compact). -->
80
+ <div class="st-appHeader__actions">
81
+ {#if actions}{@render actions()}{/if}
82
+ </div>
83
+ {:else}
84
+ <!-- Burger à l'extrême DROITE en mode compact. -->
70
85
  <div class="st-appHeader__burger">
71
86
  <button
72
87
  type="button"
@@ -84,22 +99,6 @@
84
99
  {/if}
85
100
  </button>
86
101
  </div>
87
- {:else}
88
- <!-- Nav desktop (masquée en mode compact). -->
89
- <nav class="st-appHeader__nav" aria-label="Primary">
90
- {#if nav}{@render nav()}{/if}
91
- </nav>
92
- {/if}
93
-
94
- {#if logo}
95
- <div class="st-appHeader__logo">{@render logo()}</div>
96
- {/if}
97
-
98
- <!-- Contrôles de droite (masqués en mode compact). -->
99
- {#if !compact}
100
- <div class="st-appHeader__actions">
101
- {#if actions}{@render actions()}{/if}
102
- </div>
103
102
  {/if}
104
103
  </div>
105
104
  </header>
@@ -152,7 +151,7 @@
152
151
  align-items: center;
153
152
  display: flex;
154
153
  flex: 1 1 auto;
155
- justify-content: flex-start;
154
+ justify-content: flex-end;
156
155
  }
157
156
 
158
157
  .st-appHeader__burgerButton {
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.svelte.d.ts","sourceRoot":"","sources":["../src/lib/AppHeader.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0DAA0D;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqFH,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"AppHeader.svelte.d.ts","sourceRoot":"","sources":["../src/lib/AppHeader.svelte.ts"],"names":[],"mappings":"AAGE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0DAA0D;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoFH,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -43,6 +43,9 @@
43
43
  value: number;
44
44
  label?: string;
45
45
  };
46
+
47
+ /** Value-axis scale type. `log` requires strictly positive values. */
48
+ export type ChartScale = "linear" | "log";
46
49
  </script>
47
50
 
48
51
  <script lang="ts">
@@ -83,6 +86,21 @@
83
86
  bands?: ChartBand[];
84
87
  /** A single goal line, emphasised above the bars. */
85
88
  goalLine?: ChartGoalLine;
89
+ /**
90
+ * Value-axis scale. `"linear"` (default) is unchanged. `"log"` switches the
91
+ * value axis to a base-10 logarithmic scale — values `<= 0` are ignored for
92
+ * domain/ticks and clamped to the lowest tick when positioned, since the log
93
+ * of a non-positive number is undefined.
94
+ */
95
+ scale?: ChartScale;
96
+ /** Inverts the value axis (high values toward the origin). Default false. */
97
+ invertAxis?: boolean;
98
+ /**
99
+ * Toggles the legend if the chart has one. BarChart has no separate legend
100
+ * surface (its filter chips double as one), so this prop is accepted for
101
+ * cross-chart parity and otherwise ignored.
102
+ */
103
+ showLegend?: boolean;
86
104
  class?: string;
87
105
  };
88
106
 
@@ -98,9 +116,16 @@
98
116
  referenceLines,
99
117
  bands,
100
118
  goalLine,
119
+ scale = "linear",
120
+ invertAxis = false,
121
+ showLegend,
101
122
  class: className
102
123
  }: BarChartProps = $props();
103
124
 
125
+ // `showLegend` has no dedicated legend surface on BarChart (the filter chips
126
+ // double as one); it is part of the contract for cross-chart parity and is a
127
+ // deliberate no-op here. Intentionally destructured-but-unused.
128
+
104
129
  const MARGIN = { top: 12, right: 16, bottom: 32, left: 44 };
105
130
 
106
131
  function niceTicks(min: number, max: number, target = 5): number[] {
@@ -126,9 +151,51 @@
126
151
  return ticks;
127
152
  }
128
153
 
129
- function scaleLinear(v: number, d0: number, d1: number, r0: number, r1: number) {
130
- if (d1 === d0) return r0;
131
- return r0 + ((v - d0) * (r1 - r0)) / (d1 - d0);
154
+ const uniqueSortedTicks = (values: number[]) =>
155
+ Array.from(new Set(values.filter(Number.isFinite).map((v) => Number(v.toFixed(10))))).sort((a, b) => a - b);
156
+
157
+ function fixedTicks(min: number, max: number, target = 5): number[] {
158
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min >= max) return niceTicks(min, max, target);
159
+ return uniqueSortedTicks([min, ...niceTicks(min, max, target).filter((tick) => tick > min && tick < max), max]);
160
+ }
161
+
162
+ // Lowest strictly-positive value across the data + finite overlays; used as a
163
+ // floor for a log domain when the raw min is <= 0.
164
+ function smallestPositive(...vals: number[]): number {
165
+ let lo = Infinity;
166
+ for (const v of vals) if (Number.isFinite(v) && v > 0 && v < lo) lo = v;
167
+ return Number.isFinite(lo) ? lo : 1;
168
+ }
169
+
170
+ // "Nice" decade ticks for a log axis: powers of ten spanning [min, max].
171
+ function logTicks(min: number, max: number): number[] {
172
+ const lo = min > 0 ? min : 1;
173
+ const hi = max > lo ? max : lo * 10;
174
+ const startExp = Math.floor(Math.log10(lo));
175
+ const endExp = Math.ceil(Math.log10(hi));
176
+ const ticks: number[] = [];
177
+ for (let e = startExp; e <= endExp; e++) ticks.push(Number(Math.pow(10, e).toFixed(10)));
178
+ return ticks.length ? ticks : [lo];
179
+ }
180
+
181
+ function fixedLogTicks(min: number, max: number): number[] {
182
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min <= 0 || min >= max) return logTicks(min, max);
183
+ return uniqueSortedTicks([min, ...logTicks(min, max).filter((tick) => tick > min && tick < max), max]);
184
+ }
185
+
186
+ function validLinearDomainCandidate(value: [number, number] | undefined): [number, number] | null {
187
+ return value && Number.isFinite(value[0]) && Number.isFinite(value[1]) && value[0] < value[1] ? value : null;
188
+ }
189
+
190
+ function validLogDomainCandidate(value: [number, number] | undefined): [number, number] | null {
191
+ return value && Number.isFinite(value[0]) && Number.isFinite(value[1]) && value[0] > 0 && value[0] < value[1]
192
+ ? value
193
+ : null;
194
+ }
195
+
196
+ function clampFraction(value: number): number {
197
+ if (!Number.isFinite(value)) return 0;
198
+ return Math.min(1, Math.max(0, value));
132
199
  }
133
200
 
134
201
  function formatTick(v: number): string {
@@ -148,7 +215,8 @@
148
215
  refs: ChartReferenceLine[] | undefined,
149
216
  bnds: ChartBand[] | undefined,
150
217
  goal: ChartGoalLine | null,
151
- extras: number[]
218
+ extras: number[],
219
+ referenceAxis: "x" | "y" = "y"
152
220
  ): [number, number] {
153
221
  let lo = minV;
154
222
  let hi = maxV;
@@ -157,7 +225,7 @@
157
225
  if (v < lo) lo = v;
158
226
  if (v > hi) hi = v;
159
227
  };
160
- for (const r of refs ?? []) if ((r.axis ?? "y") === "y") fold(r.value);
228
+ for (const r of refs ?? []) if ((r.axis ?? "y") === referenceAxis) fold(r.value);
161
229
  for (const b of bnds ?? []) {
162
230
  fold(b.from);
163
231
  fold(b.to);
@@ -197,31 +265,58 @@
197
265
  const hasSelection = $derived(selectedSet.size > 0);
198
266
  const interactive = $derived(typeof onSelect === "function");
199
267
 
268
+ const isLog = $derived(scale === "log");
269
+
200
270
  // A domain is honoured only when both bounds are finite and ordered (min<max).
201
271
  // Otherwise we fall back to the auto data range.
202
272
  const validDomain = $derived.by<[number, number] | null>(() => {
203
- if (!domain) return null;
204
- const [d0, d1] = domain;
205
- if (!Number.isFinite(d0) || !Number.isFinite(d1) || d0 >= d1) return null;
206
- return [d0, d1];
273
+ return isLog ? validLogDomainCandidate(domain) : validLinearDomainCandidate(domain);
207
274
  });
208
275
 
209
276
  // A finite goal value is required; otherwise the goal line is ignored.
210
277
  const goal = $derived(goalLine && Number.isFinite(goalLine.value) ? goalLine : null);
211
278
 
279
+ const valueAxis = $derived(orientation === "vertical" ? "y" : "x");
280
+
212
281
  const scales = $derived.by(() => {
213
282
  const values = data.map((d) => d.value);
214
- let minRaw = validDomain ? validDomain[0] : Math.min(0, ...values);
215
- let maxRaw = validDomain ? validDomain[1] : Math.max(0, ...values);
283
+ const errorExtents = data.flatMap((d) =>
284
+ [d.errorLow, d.errorHigh].filter((v): v is number => v !== undefined && Number.isFinite(v))
285
+ );
286
+ let minRaw: number;
287
+ let maxRaw: number;
288
+ if (isLog) {
289
+ // A log axis is undefined for values <= 0; the floor is the smallest
290
+ // strictly-positive value across the data + finite overlays, the ceil the
291
+ // largest. The "0 baseline" of a linear axis has no meaning here.
292
+ const posOverlays = [
293
+ ...(referenceLines ?? []).filter((r) => (r.axis ?? "y") === valueAxis).map((r) => r.value),
294
+ ...(bands ?? []).flatMap((b) => [b.from, b.to]),
295
+ ...(goal ? [goal.value] : []),
296
+ ...errorExtents
297
+ ];
298
+ if (validDomain) {
299
+ minRaw = validDomain[0];
300
+ maxRaw = validDomain[1];
301
+ } else {
302
+ minRaw = smallestPositive(...values, ...posOverlays);
303
+ maxRaw = Math.max(minRaw, ...values.filter((v) => v > 0), ...posOverlays.filter((v) => v > 0));
304
+ }
305
+ const ticks = validDomain ? fixedLogTicks(minRaw, maxRaw) : logTicks(minRaw, maxRaw);
306
+ const domainMin = ticks[0];
307
+ const domainMax = ticks[ticks.length - 1];
308
+ const plotWidth = Math.max(width - MARGIN.left - MARGIN.right, 1);
309
+ const plotHeight = Math.max(height - MARGIN.top - MARGIN.bottom, 1);
310
+ return { ticks, domainMin, domainMax, plotWidth, plotHeight };
311
+ }
312
+ minRaw = validDomain ? validDomain[0] : Math.min(0, ...values);
313
+ maxRaw = validDomain ? validDomain[1] : Math.max(0, ...values);
216
314
  // A pinned domain is authoritative (small-multiples); only the auto domain
217
315
  // is widened to keep finite overlays + error bars on-plot.
218
316
  if (!validDomain) {
219
- const errorExtents = data.flatMap((d) =>
220
- [d.errorLow, d.errorHigh].filter((v): v is number => v !== undefined && Number.isFinite(v))
221
- );
222
- [minRaw, maxRaw] = extendValueDomain(minRaw, maxRaw, referenceLines, bands, goal, errorExtents);
317
+ [minRaw, maxRaw] = extendValueDomain(minRaw, maxRaw, referenceLines, bands, goal, errorExtents, valueAxis);
223
318
  }
224
- const ticks = niceTicks(minRaw, maxRaw, 5);
319
+ const ticks = validDomain ? fixedTicks(minRaw, maxRaw, 5) : niceTicks(minRaw, maxRaw, 5);
225
320
  const domainMin = ticks[0];
226
321
  const domainMax = ticks[ticks.length - 1];
227
322
  const plotWidth = Math.max(width - MARGIN.left - MARGIN.right, 1);
@@ -229,15 +324,38 @@
229
324
  return { ticks, domainMin, domainMax, plotWidth, plotHeight };
230
325
  });
231
326
 
327
+ // Maps a value to a fraction in [0,1] along the value axis (0 = domainMin end,
328
+ // 1 = domainMax end), honouring log scale and axis inversion. Linear + no
329
+ // invert reproduces the previous behaviour exactly.
330
+ const valueFraction = $derived((v: number) => {
331
+ const { domainMin, domainMax } = scales;
332
+ let f: number;
333
+ if (isLog) {
334
+ const lo = Math.log10(domainMin);
335
+ const hi = Math.log10(domainMax);
336
+ const clamped = v > 0 ? v : domainMin; // log undefined for v<=0 → clamp to floor
337
+ f = hi === lo ? 0 : (Math.log10(clamped) - lo) / (hi - lo);
338
+ } else {
339
+ f = domainMax === domainMin ? 0 : (v - domainMin) / (domainMax - domainMin);
340
+ }
341
+ return clampFraction(invertAxis ? 1 - f : f);
342
+ });
343
+
344
+ // The value used as the bar baseline. Linear: 0 (or the nearest in-domain
345
+ // bound). Log: the lowest tick (domainMin), since 0 is off a log axis.
346
+ const baselineValue = $derived(isLog ? scales.domainMin : Math.min(scales.domainMax, Math.max(scales.domainMin, 0)));
347
+
232
348
  const bars = $derived.by(() => {
233
- const { domainMin, domainMax, plotWidth, plotHeight } = scales;
349
+ const { plotWidth, plotHeight } = scales;
234
350
  if (data.length === 0) return [];
235
351
  if (orientation === "vertical") {
236
352
  const band = plotWidth / data.length;
237
353
  const barWidth = band * 0.62;
238
- const zeroY = scaleLinear(0, domainMin, domainMax, plotHeight, 0);
354
+ // Pixel y for a value (fraction 0 bottom, 1 → top of the plot).
355
+ const yOf = (v: number) => plotHeight * (1 - valueFraction(v));
356
+ const zeroY = yOf(baselineValue);
239
357
  return data.map((d, i) => {
240
- const valueY = scaleLinear(d.value, domainMin, domainMax, plotHeight, 0);
358
+ const valueY = yOf(d.value);
241
359
  const y = Math.min(valueY, zeroY);
242
360
  const h = Math.abs(zeroY - valueY);
243
361
  const x = MARGIN.left + band * i + (band - barWidth) / 2;
@@ -256,9 +374,11 @@
256
374
  // horizontal
257
375
  const band = plotHeight / data.length;
258
376
  const barHeight = band * 0.62;
259
- const zeroX = scaleLinear(0, domainMin, domainMax, 0, plotWidth);
377
+ // Pixel x for a value (fraction 0 left, 1 → right of the plot).
378
+ const xOf = (v: number) => plotWidth * valueFraction(v);
379
+ const zeroX = xOf(baselineValue);
260
380
  return data.map((d, i) => {
261
- const valueX = scaleLinear(d.value, domainMin, domainMax, 0, plotWidth);
381
+ const valueX = xOf(d.value);
262
382
  const x = Math.min(valueX, zeroX);
263
383
  const w = Math.abs(valueX - zeroX);
264
384
  const y = MARGIN.top + band * i + (band - barHeight) / 2;
@@ -277,12 +397,13 @@
277
397
 
278
398
  // --- Analytical overlays + error bars ------------------------------------
279
399
  const isVertical = $derived(orientation === "vertical");
280
- // Map a value to its pixel on the value axis (y for vertical, x for horizontal).
400
+ // Map a value to its pixel on the value axis (y for vertical, x for horizontal),
401
+ // honouring scale + invert via the shared `valueFraction`.
281
402
  const valuePos = $derived((v: number) => {
282
- const { domainMin, domainMax, plotWidth, plotHeight } = scales;
403
+ const { plotWidth, plotHeight } = scales;
283
404
  return isVertical
284
- ? MARGIN.top + scaleLinear(v, domainMin, domainMax, plotHeight, 0)
285
- : MARGIN.left + scaleLinear(v, domainMin, domainMax, 0, plotWidth);
405
+ ? MARGIN.top + plotHeight * (1 - valueFraction(v))
406
+ : MARGIN.left + plotWidth * valueFraction(v);
286
407
  });
287
408
 
288
409
  const bandRects = $derived(
@@ -354,13 +475,13 @@
354
475
  ]);
355
476
 
356
477
  const valueAxisTicks = $derived.by(() => {
357
- const { ticks, domainMin, domainMax, plotWidth, plotHeight } = scales;
478
+ const { ticks, plotWidth, plotHeight } = scales;
358
479
  if (orientation === "vertical") {
359
480
  return ticks.map((tick) => ({
360
481
  value: tick,
361
482
  x1: MARGIN.left,
362
483
  x2: MARGIN.left + plotWidth,
363
- y: MARGIN.top + scaleLinear(tick, domainMin, domainMax, plotHeight, 0),
484
+ y: MARGIN.top + plotHeight * (1 - valueFraction(tick)),
364
485
  x: undefined,
365
486
  y1: undefined,
366
487
  y2: undefined
@@ -368,7 +489,7 @@
368
489
  }
369
490
  return ticks.map((tick) => ({
370
491
  value: tick,
371
- x: MARGIN.left + scaleLinear(tick, domainMin, domainMax, 0, plotWidth),
492
+ x: MARGIN.left + plotWidth * valueFraction(tick),
372
493
  y1: MARGIN.top,
373
494
  y2: MARGIN.top + plotHeight,
374
495
  x1: undefined,
@@ -29,6 +29,8 @@ export type ChartGoalLine = {
29
29
  value: number;
30
30
  label?: string;
31
31
  };
32
+ /** Value-axis scale type. `log` requires strictly positive values. */
33
+ export type ChartScale = "linear" | "log";
32
34
  type BarChartProps = {
33
35
  data: BarChartDatum[];
34
36
  width?: number;
@@ -64,6 +66,21 @@ type BarChartProps = {
64
66
  bands?: ChartBand[];
65
67
  /** A single goal line, emphasised above the bars. */
66
68
  goalLine?: ChartGoalLine;
69
+ /**
70
+ * Value-axis scale. `"linear"` (default) is unchanged. `"log"` switches the
71
+ * value axis to a base-10 logarithmic scale — values `<= 0` are ignored for
72
+ * domain/ticks and clamped to the lowest tick when positioned, since the log
73
+ * of a non-positive number is undefined.
74
+ */
75
+ scale?: ChartScale;
76
+ /** Inverts the value axis (high values toward the origin). Default false. */
77
+ invertAxis?: boolean;
78
+ /**
79
+ * Toggles the legend if the chart has one. BarChart has no separate legend
80
+ * surface (its filter chips double as one), so this prop is accepted for
81
+ * cross-chart parity and otherwise ignored.
82
+ */
83
+ showLegend?: boolean;
67
84
  class?: string;
68
85
  };
69
86
  declare const BarChart: import("svelte").Component<BarChartProps, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/BarChart.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyaJ,QAAA,MAAM,QAAQ,mDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"BarChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/BarChart.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAM1C,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAghBJ,QAAA,MAAM,QAAQ,mDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,77 @@
1
+ <script lang="ts" module>
2
+ export type DataImageFit = "cover" | "contain";
3
+ </script>
4
+
5
+ <script lang="ts">
6
+ import type { HTMLImgAttributes } from "svelte/elements";
7
+
8
+ type DataImageProps = Omit<HTMLImgAttributes, "class" | "src" | "alt" | "width" | "height"> & {
9
+ /** Image URL (required). */
10
+ src: string;
11
+ /** Alternative text (required for a11y; pass "" only for purely decorative images). */
12
+ alt: string;
13
+ /** Intrinsic / box width (number → px, or any CSS length). */
14
+ width?: number | string;
15
+ /** Intrinsic / box height (number → px, or any CSS length). */
16
+ height?: number | string;
17
+ /** `object-fit` behaviour inside its box. Default `cover`. */
18
+ fit?: DataImageFit;
19
+ /** Border radius (CSS length). */
20
+ radius?: number | string;
21
+ class?: string;
22
+ };
23
+
24
+ let {
25
+ src,
26
+ alt,
27
+ width,
28
+ height,
29
+ fit = "cover",
30
+ radius,
31
+ loading = "lazy",
32
+ decoding = "async",
33
+ style: styleProp,
34
+ class: className,
35
+ ...rest
36
+ }: DataImageProps = $props();
37
+
38
+ const len = (v: number | string | undefined) =>
39
+ v === undefined ? undefined : typeof v === "number" ? `${v}px` : v;
40
+
41
+ const classes = () => ["st-dataImage", `st-dataImage--${fit}`, className].filter(Boolean).join(" ");
42
+
43
+ const dimensionStyle = $derived(
44
+ [len(width) ? `width:${len(width)}` : "", len(height) ? `height:${len(height)}` : "", len(radius) ? `border-radius:${len(radius)}` : ""]
45
+ .filter(Boolean)
46
+ .join(";")
47
+ );
48
+
49
+ const style = $derived(
50
+ [dimensionStyle, styleProp ? String(styleProp).trim().replace(/;?\s*$/, "") : ""].filter(Boolean).join(";") || undefined
51
+ );
52
+ </script>
53
+
54
+ <img
55
+ {...rest}
56
+ class={classes()}
57
+ {src}
58
+ {alt}
59
+ {style}
60
+ {loading}
61
+ {decoding}
62
+ />
63
+
64
+ <style>
65
+ .st-dataImage {
66
+ display: block;
67
+ max-inline-size: 100%;
68
+ }
69
+
70
+ .st-dataImage--cover {
71
+ object-fit: cover;
72
+ }
73
+
74
+ .st-dataImage--contain {
75
+ object-fit: contain;
76
+ }
77
+ </style>
@@ -0,0 +1,21 @@
1
+ export type DataImageFit = "cover" | "contain";
2
+ import type { HTMLImgAttributes } from "svelte/elements";
3
+ type DataImageProps = Omit<HTMLImgAttributes, "class" | "src" | "alt" | "width" | "height"> & {
4
+ /** Image URL (required). */
5
+ src: string;
6
+ /** Alternative text (required for a11y; pass "" only for purely decorative images). */
7
+ alt: string;
8
+ /** Intrinsic / box width (number → px, or any CSS length). */
9
+ width?: number | string;
10
+ /** Intrinsic / box height (number → px, or any CSS length). */
11
+ height?: number | string;
12
+ /** `object-fit` behaviour inside its box. Default `cover`. */
13
+ fit?: DataImageFit;
14
+ /** Border radius (CSS length). */
15
+ radius?: number | string;
16
+ class?: string;
17
+ };
18
+ declare const DataImage: import("svelte").Component<DataImageProps, {}, "">;
19
+ type DataImage = ReturnType<typeof DataImage>;
20
+ export default DataImage;
21
+ //# sourceMappingURL=DataImage.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataImage.svelte.d.ts","sourceRoot":"","sources":["../src/lib/DataImage.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGvD,KAAK,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC,GAAG;IAC5F,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA2CJ,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -0,0 +1,73 @@
1
+ <script lang="ts">
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ import AspectRatio from "./AspectRatio.svelte";
4
+
5
+ type EmbedProps = Omit<HTMLAttributes<HTMLDivElement>, "class" | "title"> & {
6
+ /** URL of the embedded document (required). */
7
+ src: string;
8
+ /**
9
+ * Accessible name of the frame (required for a11y — every iframe must carry
10
+ * a meaningful `title`).
11
+ */
12
+ title: string;
13
+ /**
14
+ * `sandbox` token list. Defaults to `""` for the strictest sandbox. Pass
15
+ * your own token list to relax it deliberately.
16
+ */
17
+ sandbox?: string;
18
+ /** Aspect ratio of the frame container (CSS `aspect-ratio`). Default `16/9`. */
19
+ aspectRatio?: string;
20
+ /** `allow` permissions policy (e.g. `"fullscreen; picture-in-picture"`). */
21
+ allow?: string;
22
+ /** Iframe loading strategy. Default `lazy`; use `eager` for above-the-fold embeds. */
23
+ loading?: "eager" | "lazy";
24
+ class?: string;
25
+ };
26
+
27
+ let {
28
+ src,
29
+ title,
30
+ sandbox = "",
31
+ aspectRatio = "16/9",
32
+ allow,
33
+ loading = "lazy",
34
+ class: className,
35
+ ...rest
36
+ }: EmbedProps = $props();
37
+
38
+ const classes = () => ["st-embed", className].filter(Boolean).join(" ");
39
+ </script>
40
+
41
+ <div {...rest} class={classes()}>
42
+ <AspectRatio ratio={aspectRatio}>
43
+ <iframe
44
+ class="st-embed__frame"
45
+ {src}
46
+ {title}
47
+ {sandbox}
48
+ {allow}
49
+ {loading}
50
+ ></iframe>
51
+ </AspectRatio>
52
+ </div>
53
+
54
+ <style>
55
+ .st-embed {
56
+ display: block;
57
+ width: 100%;
58
+ }
59
+
60
+ .st-embed :global(.st-aspectRatio) {
61
+ background: var(--st-semantic-surface-subtle);
62
+ border: 1px solid var(--st-semantic-border-subtle);
63
+ border-radius: var(--st-radius-md, 0.375rem);
64
+ overflow: hidden;
65
+ }
66
+
67
+ .st-embed__frame {
68
+ block-size: 100%;
69
+ border: 0;
70
+ display: block;
71
+ inline-size: 100%;
72
+ }
73
+ </style>
@@ -0,0 +1,26 @@
1
+ import type { HTMLAttributes } from "svelte/elements";
2
+ type EmbedProps = Omit<HTMLAttributes<HTMLDivElement>, "class" | "title"> & {
3
+ /** URL of the embedded document (required). */
4
+ src: string;
5
+ /**
6
+ * Accessible name of the frame (required for a11y — every iframe must carry
7
+ * a meaningful `title`).
8
+ */
9
+ title: string;
10
+ /**
11
+ * `sandbox` token list. Defaults to `""` for the strictest sandbox. Pass
12
+ * your own token list to relax it deliberately.
13
+ */
14
+ sandbox?: string;
15
+ /** Aspect ratio of the frame container (CSS `aspect-ratio`). Default `16/9`. */
16
+ aspectRatio?: string;
17
+ /** `allow` permissions policy (e.g. `"fullscreen; picture-in-picture"`). */
18
+ allow?: string;
19
+ /** Iframe loading strategy. Default `lazy`; use `eager` for above-the-fold embeds. */
20
+ loading?: "eager" | "lazy";
21
+ class?: string;
22
+ };
23
+ declare const Embed: import("svelte").Component<EmbedProps, {}, "">;
24
+ type Embed = ReturnType<typeof Embed>;
25
+ export default Embed;
26
+ //# sourceMappingURL=Embed.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Embed.svelte.d.ts","sourceRoot":"","sources":["../src/lib/Embed.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIpD,KAAK,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG;IAC1E,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA8BJ,QAAA,MAAM,KAAK,gDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
@@ -38,6 +38,9 @@
38
38
  value: number;
39
39
  label?: string;
40
40
  };
41
+
42
+ /** Value-axis scale type. `log` requires strictly positive values. */
43
+ export type ChartScale = "linear" | "log";
41
44
  </script>
42
45
 
43
46
  <script lang="ts">
@@ -59,6 +62,25 @@
59
62
  goalLine?: ChartGoalLine;
60
63
  /** Least-squares trend line over the data points. */
61
64
  trend?: boolean;
65
+ /**
66
+ * Fixed value-axis (y) domain `[min, max]`. When provided (and finite,
67
+ * min<max) the y scale uses it instead of the data-derived range — letting
68
+ * several LineCharts share one scale. Invalid/absent → auto range (unchanged).
69
+ */
70
+ domain?: [number, number];
71
+ /**
72
+ * Value-axis scale. `"linear"` (default) is unchanged. `"log"` switches the
73
+ * y axis to base-10 logarithmic — values `<= 0` are ignored for domain/ticks
74
+ * and clamped to the lowest tick when positioned.
75
+ */
76
+ scale?: ChartScale;
77
+ /** Inverts the value (y) axis. Default false. */
78
+ invertAxis?: boolean;
79
+ /**
80
+ * Toggles the legend if the chart has one. LineChart is single-series and has
81
+ * no legend surface, so this prop is accepted for parity and otherwise ignored.
82
+ */
83
+ showLegend?: boolean;
62
84
  class?: string;
63
85
  };
64
86
 
@@ -74,9 +96,17 @@
74
96
  bands,
75
97
  goalLine,
76
98
  trend = false,
99
+ domain,
100
+ scale = "linear",
101
+ invertAxis = false,
102
+ showLegend,
77
103
  class: className
78
104
  }: LineChartProps = $props();
79
105
 
106
+ // LineChart is single-series and has no legend surface; `showLegend` is part
107
+ // of the contract for cross-chart parity and is a deliberate no-op here.
108
+ // Intentionally destructured-but-unused.
109
+
80
110
  const MARGIN = { top: 12, right: 16, bottom: 32, left: 44 };
81
111
 
82
112
  function niceTicks(min: number, max: number, target = 5): number[] {
@@ -102,11 +132,57 @@
102
132
  return ticks;
103
133
  }
104
134
 
135
+ const uniqueSortedTicks = (values: number[]) =>
136
+ Array.from(new Set(values.filter(Number.isFinite).map((v) => Number(v.toFixed(10))))).sort((a, b) => a - b);
137
+
138
+ function fixedTicks(min: number, max: number, target = 5): number[] {
139
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min >= max) return niceTicks(min, max, target);
140
+ return uniqueSortedTicks([min, ...niceTicks(min, max, target).filter((tick) => tick > min && tick < max), max]);
141
+ }
142
+
105
143
  function scaleLinear(v: number, d0: number, d1: number, r0: number, r1: number) {
106
144
  if (d1 === d0) return r0;
107
145
  return r0 + ((v - d0) * (r1 - r0)) / (d1 - d0);
108
146
  }
109
147
 
148
+ // Lowest strictly-positive value among the args; floor for a log domain.
149
+ function smallestPositive(...vals: number[]): number {
150
+ let lo = Infinity;
151
+ for (const v of vals) if (Number.isFinite(v) && v > 0 && v < lo) lo = v;
152
+ return Number.isFinite(lo) ? lo : 1;
153
+ }
154
+
155
+ // Power-of-ten ticks spanning [min, max] for a log axis.
156
+ function logTicks(min: number, max: number): number[] {
157
+ const lo = min > 0 ? min : 1;
158
+ const hi = max > lo ? max : lo * 10;
159
+ const startExp = Math.floor(Math.log10(lo));
160
+ const endExp = Math.ceil(Math.log10(hi));
161
+ const ticks: number[] = [];
162
+ for (let e = startExp; e <= endExp; e++) ticks.push(Number(Math.pow(10, e).toFixed(10)));
163
+ return ticks.length ? ticks : [lo];
164
+ }
165
+
166
+ function fixedLogTicks(min: number, max: number): number[] {
167
+ if (!Number.isFinite(min) || !Number.isFinite(max) || min <= 0 || min >= max) return logTicks(min, max);
168
+ return uniqueSortedTicks([min, ...logTicks(min, max).filter((tick) => tick > min && tick < max), max]);
169
+ }
170
+
171
+ function validLinearDomainCandidate(value: [number, number] | undefined): [number, number] | null {
172
+ return value && Number.isFinite(value[0]) && Number.isFinite(value[1]) && value[0] < value[1] ? value : null;
173
+ }
174
+
175
+ function validLogDomainCandidate(value: [number, number] | undefined): [number, number] | null {
176
+ return value && Number.isFinite(value[0]) && Number.isFinite(value[1]) && value[0] > 0 && value[0] < value[1]
177
+ ? value
178
+ : null;
179
+ }
180
+
181
+ function clampFraction(value: number): number {
182
+ if (!Number.isFinite(value)) return 0;
183
+ return Math.min(1, Math.max(0, value));
184
+ }
185
+
110
186
  function formatTick(v: number): string {
111
187
  if (Math.abs(v) >= 1000) return `${(v / 1000).toFixed(v % 1000 === 0 ? 0 : 1)}k`;
112
188
  if (Number.isInteger(v)) return String(v);
@@ -215,8 +291,33 @@
215
291
  // A valid goal line needs a finite value; otherwise it is ignored entirely.
216
292
  const goal = $derived(goalLine && Number.isFinite(goalLine.value) ? goalLine : null);
217
293
 
294
+ const isLog = $derived(scale === "log");
295
+
296
+ // A y domain is honoured only when both bounds are finite and ordered (min<max).
297
+ const validDomain = $derived.by<[number, number] | null>(() => {
298
+ return isLog ? validLogDomainCandidate(domain) : validLinearDomainCandidate(domain);
299
+ });
300
+
218
301
  const yTicks = $derived.by(() => {
219
302
  const ys = data.map((d) => d.y).filter((y) => Number.isFinite(y));
303
+ if (isLog) {
304
+ const posOverlays = [
305
+ ...(referenceLines ?? []).filter((r) => (r.axis ?? "y") === "y").map((r) => r.value),
306
+ ...(bands ?? []).flatMap((b) => [b.from, b.to]),
307
+ ...(goal ? [goal.value] : [])
308
+ ];
309
+ let lo: number;
310
+ let hi: number;
311
+ if (validDomain) {
312
+ lo = validDomain[0];
313
+ hi = validDomain[1];
314
+ } else {
315
+ lo = smallestPositive(...ys, ...posOverlays);
316
+ hi = Math.max(lo, ...ys.filter((y) => y > 0), ...posOverlays.filter((v) => v > 0));
317
+ }
318
+ return validDomain ? fixedLogTicks(lo, hi) : logTicks(lo, hi);
319
+ }
320
+ if (validDomain) return fixedTicks(validDomain[0], validDomain[1], 5);
220
321
  if (ys.length === 0 && !referenceLines?.length && !bands?.length && !goal) return [0];
221
322
  let minRaw = ys.length ? Math.min(...ys) : 0;
222
323
  let maxRaw = ys.length ? Math.max(...ys) : 0;
@@ -231,6 +332,24 @@
231
332
  return { min: yTicks[0], max: yTicks[yTicks.length - 1] };
232
333
  });
233
334
 
335
+ // Maps a y value to a fraction in [0,1] (0 = yDomain.min, 1 = yDomain.max),
336
+ // honouring log scale + axis inversion. Linear + no invert is unchanged.
337
+ const valueFraction = $derived((v: number) => {
338
+ let f: number;
339
+ if (isLog) {
340
+ const lo = Math.log10(yDomain.min);
341
+ const hi = Math.log10(yDomain.max);
342
+ const clamped = v > 0 ? v : yDomain.min;
343
+ f = hi === lo ? 0 : (Math.log10(clamped) - lo) / (hi - lo);
344
+ } else {
345
+ f = yDomain.max === yDomain.min ? 0 : (v - yDomain.min) / (yDomain.max - yDomain.min);
346
+ }
347
+ return clampFraction(invertAxis ? 1 - f : f);
348
+ });
349
+
350
+ // Pixel y for a value (top of plot = fraction 1). Relative to plot, add MARGIN.top.
351
+ const yPixel = $derived((v: number) => plotHeight * (1 - valueFraction(v)));
352
+
234
353
  const points = $derived.by(() => {
235
354
  if (data.length === 0) return [];
236
355
  return data.map((d, i) => {
@@ -242,7 +361,7 @@
242
361
  const denom = Math.max(data.length - 1, 1);
243
362
  x = data.length === 1 ? plotWidth / 2 : (i / denom) * plotWidth;
244
363
  }
245
- const y = scaleLinear(d.y, yDomain.min, yDomain.max, plotHeight, 0);
364
+ const y = yPixel(d.y);
246
365
  return {
247
366
  x: MARGIN.left + x,
248
367
  y: MARGIN.top + y,
@@ -259,8 +378,8 @@
259
378
  (bands ?? [])
260
379
  .filter((b) => Number.isFinite(b.from) && Number.isFinite(b.to))
261
380
  .map((b, i) => {
262
- const y1 = MARGIN.top + scaleLinear(b.from, yDomain.min, yDomain.max, plotHeight, 0);
263
- const y2 = MARGIN.top + scaleLinear(b.to, yDomain.min, yDomain.max, plotHeight, 0);
381
+ const y1 = MARGIN.top + yPixel(b.from);
382
+ const y2 = MARGIN.top + yPixel(b.to);
264
383
  return {
265
384
  key: i,
266
385
  x: MARGIN.left,
@@ -283,7 +402,7 @@
283
402
  const x = MARGIN.left + scaleLinear(r.value, xDomain.min, xDomain.max, 0, plotWidth);
284
403
  return { key: i, axis, x1: x, x2: x, y1: MARGIN.top, y2: MARGIN.top + plotHeight, label: r.label, tone: r.tone };
285
404
  }
286
- const y = MARGIN.top + scaleLinear(r.value, yDomain.min, yDomain.max, plotHeight, 0);
405
+ const y = MARGIN.top + yPixel(r.value);
287
406
  return { key: i, axis, x1: MARGIN.left, x2: MARGIN.left + plotWidth, y1: y, y2: y, label: r.label, tone: r.tone };
288
407
  })
289
408
  .filter((r): r is NonNullable<typeof r> => r !== null)
@@ -292,7 +411,7 @@
292
411
  const goalGeom = $derived(
293
412
  goal
294
413
  ? {
295
- y: MARGIN.top + scaleLinear(goal.value, yDomain.min, yDomain.max, plotHeight, 0),
414
+ y: MARGIN.top + yPixel(goal.value),
296
415
  label: goal.label,
297
416
  value: goal.value
298
417
  }
@@ -308,9 +427,9 @@
308
427
  if (!trendModel || xDomain.kind !== "numeric") return null;
309
428
  return {
310
429
  x1: MARGIN.left + scaleLinear(trendModel.minX, xDomain.min, xDomain.max, 0, plotWidth),
311
- y1: MARGIN.top + scaleLinear(trendModel.slope * trendModel.minX + trendModel.intercept, yDomain.min, yDomain.max, plotHeight, 0),
430
+ y1: MARGIN.top + yPixel(trendModel.slope * trendModel.minX + trendModel.intercept),
312
431
  x2: MARGIN.left + scaleLinear(trendModel.maxX, xDomain.min, xDomain.max, 0, plotWidth),
313
- y2: MARGIN.top + scaleLinear(trendModel.slope * trendModel.maxX + trendModel.intercept, yDomain.min, yDomain.max, plotHeight, 0)
432
+ y2: MARGIN.top + yPixel(trendModel.slope * trendModel.maxX + trendModel.intercept)
314
433
  };
315
434
  });
316
435
 
@@ -356,7 +475,7 @@
356
475
  const gridLines = $derived(
357
476
  yTicks.map((tick) => ({
358
477
  value: tick,
359
- y: MARGIN.top + scaleLinear(tick, yDomain.min, yDomain.max, plotHeight, 0)
478
+ y: MARGIN.top + yPixel(tick)
360
479
  }))
361
480
  );
362
481
 
@@ -24,6 +24,8 @@ export type ChartGoalLine = {
24
24
  value: number;
25
25
  label?: string;
26
26
  };
27
+ /** Value-axis scale type. `log` requires strictly positive values. */
28
+ export type ChartScale = "linear" | "log";
27
29
  type LineChartProps = {
28
30
  data: LineChartDatum[];
29
31
  width?: number;
@@ -40,6 +42,25 @@ type LineChartProps = {
40
42
  goalLine?: ChartGoalLine;
41
43
  /** Least-squares trend line over the data points. */
42
44
  trend?: boolean;
45
+ /**
46
+ * Fixed value-axis (y) domain `[min, max]`. When provided (and finite,
47
+ * min<max) the y scale uses it instead of the data-derived range — letting
48
+ * several LineCharts share one scale. Invalid/absent → auto range (unchanged).
49
+ */
50
+ domain?: [number, number];
51
+ /**
52
+ * Value-axis scale. `"linear"` (default) is unchanged. `"log"` switches the
53
+ * y axis to base-10 logarithmic — values `<= 0` are ignored for domain/ticks
54
+ * and clamped to the lowest tick when positioned.
55
+ */
56
+ scale?: ChartScale;
57
+ /** Inverts the value (y) axis. Default false. */
58
+ invertAxis?: boolean;
59
+ /**
60
+ * Toggles the legend if the chart has one. LineChart is single-series and has
61
+ * no legend surface, so this prop is accepted for parity and otherwise ignored.
62
+ */
63
+ showLegend?: boolean;
43
64
  class?: string;
44
65
  };
45
66
  declare const LineChart: import("svelte").Component<LineChartProps, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/LineChart.svelte.ts"],"names":[],"mappings":"AAGE,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,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAMF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAoaJ,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"LineChart.svelte.d.ts","sourceRoot":"","sources":["../src/lib/LineChart.svelte.ts"],"names":[],"mappings":"AAGE,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,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;AAM1C,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAqgBJ,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -83,9 +83,8 @@
83
83
  if (!target) return;
84
84
  focusedId = target.node.id;
85
85
  queueMicrotask(() => {
86
- document
87
- .querySelector<HTMLElement>(`[data-tree-id="${CSS.escape(target.node.id)}"]`)
88
- ?.focus();
86
+ const rows = Array.from(document.querySelectorAll<HTMLElement>("[data-tree-id]"));
87
+ rows.find((row) => row.dataset.treeId === target.node.id)?.focus();
89
88
  });
90
89
  }
91
90
 
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.svelte.d.ts","sourceRoot":"","sources":["../src/lib/TreeView.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAiHJ,QAAA,MAAM,QAAQ,2DAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TreeView.svelte.d.ts","sourceRoot":"","sources":["../src/lib/TreeView.svelte.ts"],"names":[],"mappings":"AAGE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,CAAC;AAgHJ,QAAA,MAAM,QAAQ,2DAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -52,12 +52,14 @@ export { default as ComboChart } from "./ComboChart.svelte";
52
52
  export { default as Container } from "./Container.svelte";
53
53
  export { default as ContentSwitcher } from "./ContentSwitcher.svelte";
54
54
  export { default as CopyButton } from "./CopyButton.svelte";
55
+ export { default as DataImage } from "./DataImage.svelte";
55
56
  export { default as DataTable } from "./DataTable.svelte";
56
57
  export { default as DatePicker } from "./DatePicker.svelte";
57
58
  export { default as Divider } from "./Divider.svelte";
58
59
  export { default as DonutChart } from "./DonutChart.svelte";
59
60
  export { default as Drawer } from "./Drawer.svelte";
60
61
  export { default as Dropdown } from "./Dropdown.svelte";
62
+ export { default as Embed } from "./Embed.svelte";
61
63
  export { default as EmptyState } from "./EmptyState.svelte";
62
64
  export { default as FileUploader } from "./FileUploader.svelte";
63
65
  export { default as FilterBar } from "./FilterBar.svelte";
@@ -164,7 +166,7 @@ export type { SunburstChartDatum, SunburstChartTone } from "./SunburstChart.svel
164
166
  export type { ScatterPlotDatum, ScatterPlotTone } from "./ScatterPlot.svelte";
165
167
  export type { StackedBarDatum, StackedBarSegment, StackedBarTone } from "./StackedBarChart.svelte";
166
168
  export type { LineChartDatum, LineChartTone } from "./LineChart.svelte";
167
- export type { ChartOverlayTone, ChartReferenceLine, ChartBand, ChartGoalLine } from "./LineChart.svelte";
169
+ export type { ChartOverlayTone, ChartReferenceLine, ChartBand, ChartGoalLine, ChartScale } from "./LineChart.svelte";
168
170
  export type { ComboChartTone, ComboChartBarSeries, ComboChartLineSeries } from "./ComboChart.svelte";
169
171
  export type { GaugeChartTone, GaugeChartThreshold, GaugeChartFormat } from "./GaugeChart.svelte";
170
172
  export type { FunnelChartTone, FunnelChartDatum } from "./FunnelChart.svelte";
@@ -192,6 +194,7 @@ export type { TimePickerFormat } from "./TimePicker.svelte";
192
194
  export type { CalendarValue } from "./Calendar.svelte";
193
195
  export type { SlideIndicatorVariant } from "./SlideIndicator.svelte";
194
196
  export type { AutosaveStatus, AutosaveLabels } from "./Autosave.svelte";
197
+ export type { DataImageFit } from "./DataImage.svelte";
195
198
  export type { DonutChartDatum, DonutChartTone } from "./DonutChart.svelte";
196
199
  export type { ForceGraphNode, ForceGraphEdge, ForceGraphTone, ForceGraphNodeShape, ForceGraphEdgeDash, ForceGraphLegendEntry } from "./ForceGraph.svelte";
197
200
  export { nodeShapePath, edgeDashArray } from "./ForceGraph.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
@@ -45,12 +45,14 @@ export { default as ComboChart } from "./ComboChart.svelte";
45
45
  export { default as Container } from "./Container.svelte";
46
46
  export { default as ContentSwitcher } from "./ContentSwitcher.svelte";
47
47
  export { default as CopyButton } from "./CopyButton.svelte";
48
+ export { default as DataImage } from "./DataImage.svelte";
48
49
  export { default as DataTable } from "./DataTable.svelte";
49
50
  export { default as DatePicker } from "./DatePicker.svelte";
50
51
  export { default as Divider } from "./Divider.svelte";
51
52
  export { default as DonutChart } from "./DonutChart.svelte";
52
53
  export { default as Drawer } from "./Drawer.svelte";
53
54
  export { default as Dropdown } from "./Dropdown.svelte";
55
+ export { default as Embed } from "./Embed.svelte";
54
56
  export { default as EmptyState } from "./EmptyState.svelte";
55
57
  export { default as FileUploader } from "./FileUploader.svelte";
56
58
  export { default as FilterBar } from "./FilterBar.svelte";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-svelte",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"