@schemavaults/ui 0.78.3 → 0.79.1

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.
@@ -178,6 +178,8 @@ export * from "./pie-chart";
178
178
  export type * from "./pie-chart";
179
179
  export * from "./bar-chart";
180
180
  export type * from "./bar-chart";
181
+ export * from "./line-chart";
182
+ export type * from "./line-chart";
181
183
  export * from "./comparison-slider";
182
184
  export type * from "./comparison-slider";
183
185
  export * from "./theme-selector";
@@ -88,6 +88,7 @@ export * from "./color-swatch";
88
88
  export * from "./calendar-heatmap";
89
89
  export * from "./pie-chart";
90
90
  export * from "./bar-chart";
91
+ export * from "./line-chart";
91
92
  export * from "./comparison-slider";
92
93
  export * from "./theme-selector";
93
94
  export * from "./tree-view";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { LineChart, lineChartVariants, lineChartSizeIds, lineChartColorIds, lineChartCurveIds, } from "./line-chart";
2
+ export type * from "./line-chart";
3
+ export { LineChart as default } from "./line-chart";
@@ -0,0 +1,3 @@
1
+ export { LineChart, lineChartVariants, lineChartSizeIds, lineChartColorIds, lineChartCurveIds, } from "./line-chart";
2
+ export { LineChart as default } from "./line-chart";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/line-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,167 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, KeyboardEvent, MouseEvent, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const lineChartSizeIds: ["sm", "md", "lg", "xl"];
4
+ export type LineChartSizeId = (typeof lineChartSizeIds)[number];
5
+ export declare const lineChartColorIds: ["default", "primary", "positive", "warning", "destructive", "muted"];
6
+ export type LineChartColorId = (typeof lineChartColorIds)[number];
7
+ export declare const lineChartCurveIds: ["linear", "smooth"];
8
+ export type LineChartCurveId = (typeof lineChartCurveIds)[number];
9
+ export declare const lineChartVariants: (props?: ({
10
+ size?: "sm" | "lg" | "xl" | "md" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ export interface LineChartPoint {
13
+ /**
14
+ * Optional explicit x-coordinate in domain units. When omitted, the point's
15
+ * index in the series is used (categorical mode).
16
+ */
17
+ x?: number;
18
+ /**
19
+ * Y value. Non-finite values (NaN / Infinity) create a gap in the line and
20
+ * are not rendered as point markers.
21
+ */
22
+ y: number;
23
+ /** Human-readable label for the point (used in aria-labels and tooltips). */
24
+ label?: string;
25
+ /** Stable identifier for the point. Defaults to the index. */
26
+ id?: string;
27
+ }
28
+ export interface LineChartSeries {
29
+ /** Stable identifier for the series. Used as React key and click payload. */
30
+ id: string;
31
+ /** Display name for the series. */
32
+ label?: string;
33
+ /** Points in plot order. */
34
+ points: ReadonlyArray<LineChartPoint>;
35
+ /** Preset color id from the chart palette. Ignored if `stroke` is provided. */
36
+ color?: LineChartColorId;
37
+ /**
38
+ * Override the stroke with a raw CSS color (e.g. `"#ff0080"` or
39
+ * `"hsl(var(--chart-1))"`). Takes precedence over `color`.
40
+ */
41
+ stroke?: string;
42
+ /** Fill the area between this series' line and the baseline. */
43
+ area?: boolean;
44
+ /** Override the chart-level `curve` for this series. */
45
+ curve?: LineChartCurveId;
46
+ /** Override the chart-level `showPoints` for this series. */
47
+ showPoints?: boolean;
48
+ /** Stroke dash pattern, e.g. `"4 3"`. Defaults to a solid line. */
49
+ strokeDasharray?: string;
50
+ /** Stroke width in user units. Defaults to 2. */
51
+ strokeWidth?: number;
52
+ /** Extra classes applied to this series' line path. */
53
+ className?: string;
54
+ /** Fired when a point in this series is clicked or activated via keyboard. */
55
+ onPointClick?: (point: LineChartPoint, series: LineChartSeries, event: MouseEvent<SVGCircleElement> | KeyboardEvent<SVGCircleElement>) => void;
56
+ }
57
+ export interface LineChartValueLabelContext {
58
+ series: LineChartSeries;
59
+ point: LineChartPoint;
60
+ value: number;
61
+ index: number;
62
+ }
63
+ export interface LineChartProps extends Omit<HTMLAttributes<HTMLDivElement>, "onClick">, VariantProps<typeof lineChartVariants> {
64
+ /** Series to render, in order (later series are drawn on top). */
65
+ series: ReadonlyArray<LineChartSeries>;
66
+ /** Accessible label describing what the chart represents. */
67
+ label: string;
68
+ /**
69
+ * Override the rendered canvas width in pixels (defaults are size-aware).
70
+ */
71
+ width?: number;
72
+ /**
73
+ * Override the rendered canvas height in pixels (defaults are size-aware).
74
+ */
75
+ height?: number;
76
+ /** Lower bound of the y-axis. Defaults to the smallest value across series. */
77
+ yMin?: number;
78
+ /** Upper bound of the y-axis. Defaults to the largest value across series. */
79
+ yMax?: number;
80
+ /** Lower bound of the x-axis (numeric mode). Defaults to the smallest x. */
81
+ xMin?: number;
82
+ /** Upper bound of the x-axis (numeric mode). Defaults to the largest x. */
83
+ xMax?: number;
84
+ /** Default interpolation for every series. Defaults to `"linear"`. */
85
+ curve?: LineChartCurveId;
86
+ /** Render point markers for every series. Defaults to `false`. */
87
+ showPoints?: boolean;
88
+ /** Render the baseline / left-axis lines. Defaults to `true`. */
89
+ showAxis?: boolean;
90
+ /**
91
+ * Number of evenly-spaced horizontal gridlines drawn across the value axis.
92
+ * `0` disables gridlines. Defaults to `0`.
93
+ */
94
+ gridLineCount?: number;
95
+ /**
96
+ * Optional x-axis tick labels indexed by point position. When the chart is
97
+ * in categorical mode (no explicit `x` on points), labels are shown at each
98
+ * index. Pass `null` for an entry to skip it.
99
+ */
100
+ categories?: ReadonlyArray<string | null>;
101
+ /**
102
+ * Format an x-tick label from its numeric value. Used when explicit numeric
103
+ * x-values are provided on points. Return `null` to skip the tick.
104
+ */
105
+ xTickFormatter?: (x: number, index: number) => string | null;
106
+ /**
107
+ * Number of evenly-spaced x-axis ticks to render when `xTickFormatter` is
108
+ * provided. Defaults to `5`.
109
+ */
110
+ xTickCount?: number;
111
+ /**
112
+ * Format a y-axis tick label from its numeric value. When provided, tick
113
+ * labels are rendered to the left of the y-axis and a left gutter is
114
+ * reserved automatically. Return `null` to skip a tick. The default
115
+ * formatter (when `showYAxisLabels` is `true` without a custom formatter)
116
+ * renders the raw value.
117
+ */
118
+ yTickFormatter?: (y: number, index: number) => string | null;
119
+ /**
120
+ * Number of evenly-spaced y-axis ticks. Ticks include both endpoints
121
+ * (`yMin` and `yMax`). Defaults to `5`. Has no effect unless
122
+ * `yTickFormatter` is provided or `showYAxisLabels` is `true`.
123
+ */
124
+ yTickCount?: number;
125
+ /**
126
+ * Render y-axis tick labels using a default raw-value formatter. Useful as
127
+ * a one-line opt-in when you don't need a custom formatter. Defaults to
128
+ * `false`. Ignored when `yTickFormatter` is provided.
129
+ */
130
+ showYAxisLabels?: boolean;
131
+ /**
132
+ * Width in pixels reserved for y-axis tick labels (the left gutter).
133
+ * Defaults to `36`. Only applied when y-axis labels are visible.
134
+ */
135
+ yTickLabelWidth?: number;
136
+ /** Render a value label above every point. Defaults to `false`. */
137
+ showValueLabels?: boolean;
138
+ /**
139
+ * Customize the value-label text. Return `null` to skip a point. Defaults
140
+ * to the raw value (`String(value)`).
141
+ */
142
+ valueLabelFormatter?: (context: LineChartValueLabelContext) => string | null;
143
+ /**
144
+ * Fallback handler invoked for any point that doesn't have its own series-
145
+ * level `onPointClick`. Receives the clicked point and its series.
146
+ */
147
+ onPointClick?: (point: LineChartPoint, series: LineChartSeries, event: MouseEvent<SVGCircleElement> | KeyboardEvent<SVGCircleElement>) => void;
148
+ /** Optional content overlaid on top of the plot area. */
149
+ children?: ReactNode;
150
+ /** Extra classes for the overlay content wrapper. */
151
+ overlayClassName?: string;
152
+ /** Extra classes applied to every value-label `<text>` element. */
153
+ valueLabelClassName?: string;
154
+ /** Extra classes applied to every x-axis tick `<text>` element. */
155
+ categoryLabelClassName?: string;
156
+ /** Extra classes applied to every y-axis tick `<text>` element. */
157
+ yAxisLabelClassName?: string;
158
+ /** Extra classes applied to the axis / gridline `<line>` elements. */
159
+ axisClassName?: string;
160
+ /** Optional ref forwarded to the wrapper element. */
161
+ ref?: Ref<HTMLDivElement>;
162
+ }
163
+ declare function LineChart({ series, label, size, width, height, yMin, yMax, xMin, xMax, curve, showPoints, showAxis, gridLineCount, categories, xTickFormatter, xTickCount, yTickFormatter, yTickCount, showYAxisLabels, yTickLabelWidth, showValueLabels, valueLabelFormatter, onPointClick, children, className, overlayClassName, valueLabelClassName, categoryLabelClassName, yAxisLabelClassName, axisClassName, ref, ...props }: LineChartProps): ReactElement;
164
+ declare namespace LineChart {
165
+ var displayName: string;
166
+ }
167
+ export { LineChart };
@@ -0,0 +1,404 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { useId } from "react";
5
+ import { cn } from "../../../lib/utils";
6
+ export const lineChartSizeIds = [
7
+ "sm",
8
+ "md",
9
+ "lg",
10
+ "xl",
11
+ ];
12
+ export const lineChartColorIds = [
13
+ "default",
14
+ "primary",
15
+ "positive",
16
+ "warning",
17
+ "destructive",
18
+ "muted",
19
+ ];
20
+ export const lineChartCurveIds = ["linear", "smooth"];
21
+ /** Default canvas dimensions per size. Either axis can be overridden via the
22
+ * `width` / `height` props. */
23
+ const SIZE_TO_CANVAS = {
24
+ sm: { width: 240, height: 140 },
25
+ md: { width: 360, height: 200 },
26
+ lg: { width: 480, height: 260 },
27
+ xl: { width: 640, height: 340 },
28
+ };
29
+ const STROKE_CLASSES = {
30
+ default: "stroke-schemavaults-brand-blue",
31
+ primary: "stroke-primary",
32
+ positive: "stroke-emerald-500 dark:stroke-emerald-400",
33
+ warning: "stroke-warning",
34
+ destructive: "stroke-destructive",
35
+ muted: "stroke-muted-foreground",
36
+ };
37
+ const FILL_CLASSES = {
38
+ default: "fill-schemavaults-brand-blue",
39
+ primary: "fill-primary",
40
+ positive: "fill-emerald-500 dark:fill-emerald-400",
41
+ warning: "fill-warning",
42
+ destructive: "fill-destructive",
43
+ muted: "fill-muted-foreground",
44
+ };
45
+ const TEXT_CLASSES = {
46
+ default: "text-schemavaults-brand-blue",
47
+ primary: "text-primary",
48
+ positive: "text-emerald-500 dark:text-emerald-400",
49
+ warning: "text-warning",
50
+ destructive: "text-destructive",
51
+ muted: "text-muted-foreground",
52
+ };
53
+ /**
54
+ * Fallback color rotation when a series doesn't specify its own color. Index
55
+ * is the series position in the input array, modulo the palette length.
56
+ */
57
+ const DEFAULT_COLOR_ROTATION = [
58
+ "default",
59
+ "positive",
60
+ "warning",
61
+ "destructive",
62
+ "primary",
63
+ "muted",
64
+ ];
65
+ export const lineChartVariants = cva("relative inline-flex shrink-0 items-center justify-center", {
66
+ variants: {
67
+ size: {
68
+ sm: "text-[10px]",
69
+ md: "text-[11px]",
70
+ lg: "text-xs",
71
+ xl: "text-sm",
72
+ },
73
+ },
74
+ defaultVariants: {
75
+ size: "md",
76
+ },
77
+ });
78
+ function isFiniteNumber(value) {
79
+ return typeof value === "number" && Number.isFinite(value);
80
+ }
81
+ function buildLinePath(points) {
82
+ // Skip gaps by breaking the path into separate sub-paths.
83
+ let d = "";
84
+ let needMove = true;
85
+ for (const p of points) {
86
+ if (p.isGap) {
87
+ needMove = true;
88
+ continue;
89
+ }
90
+ if (needMove) {
91
+ d += `${d ? " " : ""}M ${p.x.toFixed(2)} ${p.y.toFixed(2)}`;
92
+ needMove = false;
93
+ }
94
+ else {
95
+ d += ` L ${p.x.toFixed(2)} ${p.y.toFixed(2)}`;
96
+ }
97
+ }
98
+ return d;
99
+ }
100
+ /**
101
+ * Catmull-Rom-to-Bezier smoothing. Produces a path that passes through every
102
+ * non-gap point with no overshoot beyond the data range.
103
+ */
104
+ function buildSmoothPath(points) {
105
+ // Smooth across contiguous runs of non-gap points.
106
+ const segments = [];
107
+ let current = [];
108
+ for (const p of points) {
109
+ if (p.isGap) {
110
+ if (current.length > 0)
111
+ segments.push(current);
112
+ current = [];
113
+ }
114
+ else {
115
+ current.push(p);
116
+ }
117
+ }
118
+ if (current.length > 0)
119
+ segments.push(current);
120
+ const tension = 0.5;
121
+ let d = "";
122
+ for (const seg of segments) {
123
+ if (seg.length === 0)
124
+ continue;
125
+ if (seg.length === 1) {
126
+ const p = seg[0];
127
+ d += `${d ? " " : ""}M ${p.x.toFixed(2)} ${p.y.toFixed(2)}`;
128
+ continue;
129
+ }
130
+ const first = seg[0];
131
+ d += `${d ? " " : ""}M ${first.x.toFixed(2)} ${first.y.toFixed(2)}`;
132
+ for (let i = 0; i < seg.length - 1; i += 1) {
133
+ const p0 = seg[i === 0 ? 0 : i - 1];
134
+ const p1 = seg[i];
135
+ const p2 = seg[i + 1];
136
+ const p3 = seg[i + 2 < seg.length ? i + 2 : i + 1];
137
+ const c1x = p1.x + ((p2.x - p0.x) / 6) * tension * 2;
138
+ const c1y = p1.y + ((p2.y - p0.y) / 6) * tension * 2;
139
+ const c2x = p2.x - ((p3.x - p1.x) / 6) * tension * 2;
140
+ const c2y = p2.y - ((p3.y - p1.y) / 6) * tension * 2;
141
+ d += ` C ${c1x.toFixed(2)} ${c1y.toFixed(2)}, ${c2x.toFixed(2)} ${c2y.toFixed(2)}, ${p2.x.toFixed(2)} ${p2.y.toFixed(2)}`;
142
+ }
143
+ }
144
+ return d;
145
+ }
146
+ function buildAreaPath(linePath, points, baselineY) {
147
+ if (linePath === "")
148
+ return "";
149
+ // Close each sub-path of the line back down to the baseline.
150
+ const segments = [];
151
+ let current = [];
152
+ for (const p of points) {
153
+ if (p.isGap) {
154
+ if (current.length > 0)
155
+ segments.push(current);
156
+ current = [];
157
+ }
158
+ else {
159
+ current.push(p);
160
+ }
161
+ }
162
+ if (current.length > 0)
163
+ segments.push(current);
164
+ // Strategy: re-emit the line path per segment and close it. This keeps the
165
+ // smoothing/segmentation logic in one place (the original line builder).
166
+ let d = "";
167
+ for (const seg of segments) {
168
+ if (seg.length === 0)
169
+ continue;
170
+ const first = seg[0];
171
+ const last = seg[seg.length - 1];
172
+ // Sub-path of just this segment.
173
+ const subPoints = seg;
174
+ const subLine = subPoints.length > 1
175
+ ? buildLinePath(subPoints)
176
+ : `M ${first.x.toFixed(2)} ${first.y.toFixed(2)}`;
177
+ d += `${d ? " " : ""}${subLine} L ${last.x.toFixed(2)} ${baselineY.toFixed(2)} L ${first.x.toFixed(2)} ${baselineY.toFixed(2)} Z`;
178
+ }
179
+ return d;
180
+ }
181
+ function LineChart({ series, label, size, width, height, yMin, yMax, xMin, xMax, curve = "linear", showPoints = false, showAxis = true, gridLineCount = 0, categories, xTickFormatter, xTickCount = 5, yTickFormatter, yTickCount = 5, showYAxisLabels = false, yTickLabelWidth = 36, showValueLabels = false, valueLabelFormatter, onPointClick, children, className, overlayClassName, valueLabelClassName, categoryLabelClassName, yAxisLabelClassName, axisClassName, ref, ...props }) {
182
+ const resolvedSize = size ?? "md";
183
+ const canvas = SIZE_TO_CANVAS[resolvedSize];
184
+ const W = width ?? canvas.width;
185
+ const H = height ?? canvas.height;
186
+ const titleId = useId();
187
+ const gradientIdPrefix = useId();
188
+ // Reserve gutters for axis labels.
189
+ const hasCategoryLabels = (categories !== undefined && categories.length > 0) ||
190
+ typeof xTickFormatter === "function";
191
+ const hasYAxisLabels = typeof yTickFormatter === "function" || showYAxisLabels;
192
+ const categoryGutter = hasCategoryLabels ? 22 : 6;
193
+ const valueGutter = showValueLabels ? 18 : 6;
194
+ const padTop = valueGutter;
195
+ const padBottom = categoryGutter;
196
+ const padLeft = hasYAxisLabels ? Math.max(8, yTickLabelWidth) : 6;
197
+ const padRight = 6;
198
+ const plotX0 = padLeft;
199
+ const plotY0 = padTop;
200
+ const plotW = Math.max(0, W - padLeft - padRight);
201
+ const plotH = Math.max(0, H - padTop - padBottom);
202
+ // Determine the domain across all series.
203
+ let domainXMin = Number.POSITIVE_INFINITY;
204
+ let domainXMax = Number.NEGATIVE_INFINITY;
205
+ let domainYMin = Number.POSITIVE_INFINITY;
206
+ let domainYMax = Number.NEGATIVE_INFINITY;
207
+ let totalFinitePoints = 0;
208
+ for (const s of series) {
209
+ s.points.forEach((p, idx) => {
210
+ const x = isFiniteNumber(p.x) ? p.x : idx;
211
+ if (x < domainXMin)
212
+ domainXMin = x;
213
+ if (x > domainXMax)
214
+ domainXMax = x;
215
+ if (isFiniteNumber(p.y)) {
216
+ if (p.y < domainYMin)
217
+ domainYMin = p.y;
218
+ if (p.y > domainYMax)
219
+ domainYMax = p.y;
220
+ totalFinitePoints += 1;
221
+ }
222
+ });
223
+ }
224
+ const hasData = totalFinitePoints > 0;
225
+ const effectiveXMin = isFiniteNumber(xMin)
226
+ ? xMin
227
+ : hasData && Number.isFinite(domainXMin)
228
+ ? domainXMin
229
+ : 0;
230
+ const effectiveXMax = isFiniteNumber(xMax)
231
+ ? xMax
232
+ : hasData && Number.isFinite(domainXMax)
233
+ ? domainXMax
234
+ : 1;
235
+ const effectiveYMin = isFiniteNumber(yMin)
236
+ ? yMin
237
+ : hasData && Number.isFinite(domainYMin)
238
+ ? domainYMin
239
+ : 0;
240
+ const effectiveYMax = isFiniteNumber(yMax)
241
+ ? yMax
242
+ : hasData && Number.isFinite(domainYMax)
243
+ ? domainYMax
244
+ : 1;
245
+ const xSpan = effectiveXMax > effectiveXMin ? effectiveXMax - effectiveXMin : 1;
246
+ const ySpan = effectiveYMax > effectiveYMin ? effectiveYMax - effectiveYMin : 1;
247
+ const projectX = (x) => plotX0 + ((x - effectiveXMin) / xSpan) * plotW;
248
+ const projectY = (y) => plotY0 + plotH - ((y - effectiveYMin) / ySpan) * plotH;
249
+ const resolved = series.map((s, seriesIndex) => {
250
+ const color = s.color ??
251
+ DEFAULT_COLOR_ROTATION[seriesIndex % DEFAULT_COLOR_ROTATION.length];
252
+ const seriesCurve = s.curve ?? curve;
253
+ const seriesShowPoints = s.showPoints ?? showPoints;
254
+ const points = s.points.map((p, idx) => {
255
+ const domainX = isFiniteNumber(p.x) ? p.x : idx;
256
+ const domainY = isFiniteNumber(p.y) ? p.y : 0;
257
+ const isGap = !isFiniteNumber(p.y);
258
+ return {
259
+ point: p,
260
+ domainX,
261
+ domainY,
262
+ x: projectX(domainX),
263
+ y: isGap ? projectY(effectiveYMin) : projectY(domainY),
264
+ isGap,
265
+ index: idx,
266
+ };
267
+ });
268
+ return {
269
+ series: s,
270
+ points,
271
+ color,
272
+ curve: seriesCurve,
273
+ showPoints: seriesShowPoints,
274
+ };
275
+ });
276
+ const baselineYClamped = effectiveYMin <= 0 && effectiveYMax >= 0
277
+ ? projectY(0)
278
+ : projectY(effectiveYMin);
279
+ const gridLines = (() => {
280
+ if (gridLineCount <= 0)
281
+ return [];
282
+ const lines = [];
283
+ for (let i = 1; i <= gridLineCount; i += 1) {
284
+ lines.push(i / (gridLineCount + 1));
285
+ }
286
+ return lines;
287
+ })();
288
+ // X-axis tick set.
289
+ const xTicks = (() => {
290
+ if (categories && categories.length > 0) {
291
+ const ticks = [];
292
+ categories.forEach((text, idx) => {
293
+ if (text === null)
294
+ return;
295
+ const domainX = idx;
296
+ if (domainX < effectiveXMin || domainX > effectiveXMax)
297
+ return;
298
+ ticks.push({ x: projectX(domainX), text });
299
+ });
300
+ return ticks;
301
+ }
302
+ if (typeof xTickFormatter === "function" && xTickCount > 0 && hasData) {
303
+ const ticks = [];
304
+ const count = Math.max(2, xTickCount);
305
+ for (let i = 0; i < count; i += 1) {
306
+ const t = count === 1 ? 0 : i / (count - 1);
307
+ const domainX = effectiveXMin + t * xSpan;
308
+ const text = xTickFormatter(domainX, i);
309
+ if (text === null || text === "")
310
+ continue;
311
+ ticks.push({ x: projectX(domainX), text });
312
+ }
313
+ return ticks;
314
+ }
315
+ return [];
316
+ })();
317
+ // Y-axis tick set. Always includes both endpoints when active.
318
+ const yTicks = (() => {
319
+ if (!hasYAxisLabels || !hasData)
320
+ return [];
321
+ const count = Math.max(2, yTickCount);
322
+ const ticks = [];
323
+ for (let i = 0; i < count; i += 1) {
324
+ // Iterate top-down (i = 0 -> yMax, i = count - 1 -> yMin) so the first
325
+ // call to a custom formatter receives the largest value -- the order
326
+ // most consumers expect.
327
+ const t = i / (count - 1);
328
+ const value = effectiveYMax - t * ySpan;
329
+ const text = typeof yTickFormatter === "function"
330
+ ? yTickFormatter(value, i)
331
+ : String(value);
332
+ if (text === null || text === "")
333
+ continue;
334
+ ticks.push({ y: projectY(value), value, text });
335
+ }
336
+ return ticks;
337
+ })();
338
+ return (_jsxs("div", { ref: ref, role: "img", "aria-labelledby": titleId, "data-slot": "line-chart", className: cn(lineChartVariants({ size }), className), style: { width: W, height: H }, ...props, children: [_jsxs("svg", { width: W, height: H, viewBox: `0 0 ${W} ${H}`, "aria-hidden": children ? "true" : undefined, className: "h-full w-full overflow-visible", children: [_jsx("title", { id: titleId, children: label }), gridLines.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "line-chart-gridlines", className: "pointer-events-none", children: gridLines.map((t) => {
339
+ const y = plotY0 + plotH - t * plotH;
340
+ return (_jsx("line", { x1: plotX0, y1: y, x2: plotX0 + plotW, y2: y, strokeWidth: 1, className: cn("stroke-border/60", axisClassName) }, `grid-${t}`));
341
+ }) })) : null, showAxis ? (_jsxs("g", { "aria-hidden": "true", "data-slot": "line-chart-axis", className: "pointer-events-none", children: [_jsx("line", { x1: plotX0, y1: plotY0, x2: plotX0, y2: plotY0 + plotH, strokeWidth: 1, className: cn("stroke-border", axisClassName) }), _jsx("line", { x1: plotX0, y1: plotY0 + plotH, x2: plotX0 + plotW, y2: plotY0 + plotH, strokeWidth: 1, className: cn("stroke-border", axisClassName) })] })) : null, !hasData ? (_jsx("text", { x: W / 2, y: H / 2, textAnchor: "middle", dominantBaseline: "central", className: "fill-muted-foreground", children: "No data" })) : (resolved.map((rs, seriesIndex) => {
342
+ const strokeWidth = rs.series.strokeWidth ?? 2;
343
+ const linePath = rs.curve === "smooth"
344
+ ? buildSmoothPath(rs.points)
345
+ : buildLinePath(rs.points);
346
+ const areaPath = rs.series.area
347
+ ? buildAreaPath(linePath, rs.points, baselineYClamped)
348
+ : "";
349
+ const strokeClass = rs.series.stroke
350
+ ? undefined
351
+ : STROKE_CLASSES[rs.color];
352
+ const fillClass = rs.series.stroke
353
+ ? undefined
354
+ : TEXT_CLASSES[rs.color];
355
+ const gradientId = `${gradientIdPrefix}-grad-${seriesIndex}`;
356
+ return (_jsxs("g", { "data-slot": "line-chart-series", "data-series-id": rs.series.id, children: [rs.series.area && areaPath !== "" ? (_jsxs(_Fragment, { children: [_jsx("defs", { children: _jsxs("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", className: fillClass, children: [_jsx("stop", { offset: "0%", stopColor: rs.series.stroke ?? "currentColor", stopOpacity: "0.35" }), _jsx("stop", { offset: "100%", stopColor: rs.series.stroke ?? "currentColor", stopOpacity: "0" })] }) }), _jsx("path", { d: areaPath, fill: `url(#${gradientId})`, stroke: "none" })] })) : null, _jsx("path", { d: linePath, fill: "none", stroke: rs.series.stroke, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", strokeDasharray: rs.series.strokeDasharray, className: cn(strokeClass, rs.series.className) }), rs.showPoints
357
+ ? rs.points.map((rp) => {
358
+ if (rp.isGap)
359
+ return null;
360
+ const handler = rs.series.onPointClick ?? onPointClick;
361
+ const isInteractive = typeof handler === "function";
362
+ const ariaLabel = rp.point.label
363
+ ? `${rs.series.label ?? rs.series.id} – ${rp.point.label}: ${rp.point.y}`
364
+ : `${rs.series.label ?? rs.series.id} at ${rp.domainX}: ${rp.point.y}`;
365
+ const pointKey = rp.point.id ?? `${rs.series.id}-${rp.index}`;
366
+ return (_jsx("circle", { cx: rp.x, cy: rp.y, r: Math.max(strokeWidth + 1, 3), fill: rs.series.stroke ?? "currentColor", stroke: "hsl(var(--background))", strokeWidth: 1.5, "data-point-index": rp.index, role: isInteractive ? "button" : undefined, tabIndex: isInteractive ? 0 : undefined, "aria-label": ariaLabel, onClick: isInteractive
367
+ ? (event) => {
368
+ handler(rp.point, rs.series, event);
369
+ }
370
+ : undefined, onKeyDown: isInteractive
371
+ ? (event) => {
372
+ if (event.key === "Enter" ||
373
+ event.key === " ") {
374
+ event.preventDefault();
375
+ handler(rp.point, rs.series, event);
376
+ }
377
+ }
378
+ : undefined, className: cn("transition-opacity", rs.series.stroke ? undefined : FILL_CLASSES[rs.color], isInteractive &&
379
+ "cursor-pointer hover:opacity-80 focus:outline-none focus-visible:opacity-80") }, pointKey));
380
+ })
381
+ : null, showValueLabels
382
+ ? rs.points.map((rp) => {
383
+ if (rp.isGap)
384
+ return null;
385
+ const text = valueLabelFormatter
386
+ ? valueLabelFormatter({
387
+ series: rs.series,
388
+ point: rp.point,
389
+ value: rp.point.y,
390
+ index: rp.index,
391
+ })
392
+ : String(rp.point.y);
393
+ if (text === null || text === "")
394
+ return null;
395
+ const labelKey = (rp.point.id ?? `${rs.series.id}-${rp.index}`) +
396
+ "-val";
397
+ return (_jsx("text", { x: rp.x, y: rp.y - 8, textAnchor: "middle", className: cn("pointer-events-none select-none fill-foreground font-medium", valueLabelClassName), children: text }, labelKey));
398
+ })
399
+ : null] }, rs.series.id));
400
+ })), xTicks.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "line-chart-x-ticks", className: "pointer-events-none select-none", children: xTicks.map((tick, idx) => (_jsx("text", { x: tick.x, y: plotY0 + plotH + 14, textAnchor: "middle", className: cn("fill-muted-foreground", categoryLabelClassName), children: tick.text }, `xtick-${idx}-${tick.text}`))) })) : null, yTicks.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "line-chart-y-ticks", className: "pointer-events-none select-none", children: yTicks.map((tick, idx) => (_jsxs("g", { children: [_jsx("line", { x1: plotX0 - 3, x2: plotX0, y1: tick.y, y2: tick.y, strokeWidth: 1, className: cn("stroke-border", axisClassName) }), _jsx("text", { x: plotX0 - 6, y: tick.y, textAnchor: "end", dominantBaseline: "central", className: cn("fill-muted-foreground", yAxisLabelClassName), children: tick.text })] }, `ytick-${idx}-${tick.text}`))) })) : null] }), children ? (_jsx("div", { className: cn("pointer-events-none absolute inset-0 flex items-center justify-center text-center", overlayClassName), children: children })) : null] }));
401
+ }
402
+ LineChart.displayName = "LineChart";
403
+ export { LineChart };
404
+ //# sourceMappingURL=line-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/line-chart/line-chart.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemavaults/ui",
3
- "version": "0.78.3",
3
+ "version": "0.79.1",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "description": "React.js UI components for SchemaVaults frontend applications",