@schemavaults/ui 0.36.0 → 0.38.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.
- package/dist/components/layout/themed-page-container/themed-page-container.js +1 -1
- package/dist/components/layout/themed-page-container/themed-page-container.js.map +1 -1
- package/dist/components/ui/index.d.ts +2 -0
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/index.js.map +1 -1
- package/dist/components/ui/sparkline/index.d.ts +3 -0
- package/dist/components/ui/sparkline/index.js +3 -0
- package/dist/components/ui/sparkline/index.js.map +1 -0
- package/dist/components/ui/sparkline/sparkline.d.ts +50 -0
- package/dist/components/ui/sparkline/sparkline.js +134 -0
- package/dist/components/ui/sparkline/sparkline.js.map +1 -0
- package/dist/components/ui/themed-page-background/themed-page-background.js +1 -1
- package/dist/components/ui/themed-page-background/themed-page-background.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,7 +23,7 @@ export function ThemedPageContainer({ children, ...props }) {
|
|
|
23
23
|
const contentContainerClassName = typeof props.contentContainerClassName === "string"
|
|
24
24
|
? cn(props.contentContainerClassName, props.additionalContentContainerClassName)
|
|
25
25
|
: defaultContentContainerClassName;
|
|
26
|
-
return (_jsx(ThemedPageBackground, { className: cn("grow", "
|
|
26
|
+
return (_jsx(ThemedPageBackground, { className: cn("grow", "flex flex-col items-stretch justify-start", backgroundContentClassName), backgroundClassName: undefined, children: _jsx(PageColumnContainer, { className: contentContainerClassName, children: children }) }));
|
|
27
27
|
}
|
|
28
28
|
export default ThemedPageContainer;
|
|
29
29
|
//# sourceMappingURL=themed-page-container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themed-page-container.js","sourceRoot":"","sources":["../../../../src/components/layout/themed-page-container/themed-page-container.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAE1E,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AASjC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,GAAG,KAAK,EACiB;IACzB,MAAM,0BAA0B,GAAW,EAAE,CAC3C,YAAY,EACZ,mBAAmB,CACpB,CAAC;IAEF,MAAM,gCAAgC,GAAW,EAAE,CACjD,YAAY,EACZ,yBAAyB,EACzB,KAAK,CAAC,mCAAmC,CAC1C,CAAC;IAEF,MAAM,0BAA0B,GAC9B,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;QAC3C,CAAC,CAAC,KAAK,CAAC,mBAAmB;QAC3B,CAAC,CAAC,0BAA0B,CAAC;IACjC,MAAM,yBAAyB,GAC7B,OAAO,KAAK,CAAC,yBAAyB,KAAK,QAAQ;QACjD,CAAC,CAAC,EAAE,CACA,KAAK,CAAC,yBAAyB,EAC/B,KAAK,CAAC,mCAAmC,CAC1C;QACH,CAAC,CAAC,gCAAgC,CAAC;IAEvC,OAAO,CACL,KAAC,oBAAoB,IACnB,SAAS,EAAE,EAAE,CACX,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"themed-page-container.js","sourceRoot":"","sources":["../../../../src/components/layout/themed-page-container/themed-page-container.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAE1E,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AASjC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,GAAG,KAAK,EACiB;IACzB,MAAM,0BAA0B,GAAW,EAAE,CAC3C,YAAY,EACZ,mBAAmB,CACpB,CAAC;IAEF,MAAM,gCAAgC,GAAW,EAAE,CACjD,YAAY,EACZ,yBAAyB,EACzB,KAAK,CAAC,mCAAmC,CAC1C,CAAC;IAEF,MAAM,0BAA0B,GAC9B,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;QAC3C,CAAC,CAAC,KAAK,CAAC,mBAAmB;QAC3B,CAAC,CAAC,0BAA0B,CAAC;IACjC,MAAM,yBAAyB,GAC7B,OAAO,KAAK,CAAC,yBAAyB,KAAK,QAAQ;QACjD,CAAC,CAAC,EAAE,CACA,KAAK,CAAC,yBAAyB,EAC/B,KAAK,CAAC,mCAAmC,CAC1C;QACH,CAAC,CAAC,gCAAgC,CAAC;IAEvC,OAAO,CACL,KAAC,oBAAoB,IACnB,SAAS,EAAE,EAAE,CACX,MAAM,EACN,2CAA2C,EAC3C,0BAA0B,CAC3B,EACD,mBAAmB,EAAE,SAAS,YAE9B,KAAC,mBAAmB,IAAC,SAAS,EAAE,yBAAyB,YACtD,QAAQ,GACW,GACD,CACxB,CAAC;AACJ,CAAC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/sparkline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type { HTMLAttributes, ReactElement, Ref } from "react";
|
|
3
|
+
export declare const sparklineVariantIds: ["line", "area", "bar"];
|
|
4
|
+
export type SparklineVariantId = (typeof sparklineVariantIds)[number];
|
|
5
|
+
export declare const sparklineColorIds: ["default", "primary", "positive", "warning", "destructive", "muted", "auto"];
|
|
6
|
+
export type SparklineColorId = (typeof sparklineColorIds)[number];
|
|
7
|
+
export declare const sparklineSizeIds: ["sm", "md", "lg"];
|
|
8
|
+
export type SparklineSizeId = (typeof sparklineSizeIds)[number];
|
|
9
|
+
export declare const sparklineVariants: (props?: ({
|
|
10
|
+
size?: "sm" | "lg" | "md" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
export interface SparklineProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, VariantProps<typeof sparklineVariants> {
|
|
13
|
+
/** Numeric data points to plot, in order. */
|
|
14
|
+
data: ReadonlyArray<number>;
|
|
15
|
+
/** Visual style: continuous line, filled area, or bars. */
|
|
16
|
+
variant?: SparklineVariantId;
|
|
17
|
+
/**
|
|
18
|
+
* Color for the line/area/bars. `auto` infers from the trend
|
|
19
|
+
* (positive if up, destructive if down, muted if flat).
|
|
20
|
+
*/
|
|
21
|
+
color?: SparklineColorId;
|
|
22
|
+
/** Accessible label describing what the sparkline represents. */
|
|
23
|
+
label: string;
|
|
24
|
+
/** Override the rendered width in pixels (defaults are size-aware). */
|
|
25
|
+
width?: number;
|
|
26
|
+
/** Override the rendered height in pixels (defaults are size-aware). */
|
|
27
|
+
height?: number;
|
|
28
|
+
/** Stroke width for line/area variants. Defaults to 1.5. */
|
|
29
|
+
strokeWidth?: number;
|
|
30
|
+
/** Show a dot at the last data point (line/area only). Defaults to true. */
|
|
31
|
+
showLastPoint?: boolean;
|
|
32
|
+
/** Render a filled gradient under area variant. Defaults to true. */
|
|
33
|
+
gradient?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Show a horizontal baseline at the minimum value of the dataset.
|
|
36
|
+
* Defaults to false.
|
|
37
|
+
*/
|
|
38
|
+
showBaseline?: boolean;
|
|
39
|
+
/** Override the minimum value of the y-axis (defaults to data min). */
|
|
40
|
+
min?: number;
|
|
41
|
+
/** Override the maximum value of the y-axis (defaults to data max). */
|
|
42
|
+
max?: number;
|
|
43
|
+
/** Optional ref forwarded to the wrapper element. */
|
|
44
|
+
ref?: Ref<HTMLDivElement>;
|
|
45
|
+
}
|
|
46
|
+
declare function Sparkline({ data, variant, color, label, size, width, height, strokeWidth, showLastPoint, gradient, showBaseline, min, max, className, ref, ...props }: SparklineProps): ReactElement;
|
|
47
|
+
declare namespace Sparkline {
|
|
48
|
+
var displayName: string;
|
|
49
|
+
}
|
|
50
|
+
export { Sparkline };
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } 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 sparklineVariantIds = ["line", "area", "bar"];
|
|
7
|
+
export const sparklineColorIds = [
|
|
8
|
+
"default",
|
|
9
|
+
"primary",
|
|
10
|
+
"positive",
|
|
11
|
+
"warning",
|
|
12
|
+
"destructive",
|
|
13
|
+
"muted",
|
|
14
|
+
"auto",
|
|
15
|
+
];
|
|
16
|
+
export const sparklineSizeIds = ["sm", "md", "lg"];
|
|
17
|
+
const SIZE_TO_DIMENSIONS = {
|
|
18
|
+
sm: { width: 80, height: 24 },
|
|
19
|
+
md: { width: 120, height: 36 },
|
|
20
|
+
lg: { width: 180, height: 56 },
|
|
21
|
+
};
|
|
22
|
+
export const sparklineVariants = cva("inline-flex shrink-0 items-center align-middle", {
|
|
23
|
+
variants: {
|
|
24
|
+
size: {
|
|
25
|
+
sm: "h-6",
|
|
26
|
+
md: "h-9",
|
|
27
|
+
lg: "h-14",
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
size: "md",
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const SPARKLINE_STROKE_CLASSES = {
|
|
35
|
+
default: "stroke-schemavaults-brand-blue",
|
|
36
|
+
primary: "stroke-primary",
|
|
37
|
+
positive: "stroke-emerald-500 dark:stroke-emerald-400",
|
|
38
|
+
warning: "stroke-warning",
|
|
39
|
+
destructive: "stroke-destructive",
|
|
40
|
+
muted: "stroke-muted-foreground",
|
|
41
|
+
};
|
|
42
|
+
const SPARKLINE_FILL_CLASSES = {
|
|
43
|
+
default: "text-schemavaults-brand-blue",
|
|
44
|
+
primary: "text-primary",
|
|
45
|
+
positive: "text-emerald-500 dark:text-emerald-400",
|
|
46
|
+
warning: "text-warning",
|
|
47
|
+
destructive: "text-destructive",
|
|
48
|
+
muted: "text-muted-foreground",
|
|
49
|
+
};
|
|
50
|
+
const SPARKLINE_BAR_FILL_CLASSES = {
|
|
51
|
+
default: "fill-schemavaults-brand-blue",
|
|
52
|
+
primary: "fill-primary",
|
|
53
|
+
positive: "fill-emerald-500 dark:fill-emerald-400",
|
|
54
|
+
warning: "fill-warning",
|
|
55
|
+
destructive: "fill-destructive",
|
|
56
|
+
muted: "fill-muted-foreground",
|
|
57
|
+
};
|
|
58
|
+
function resolveAutoColor(data) {
|
|
59
|
+
if (data.length < 2)
|
|
60
|
+
return "default";
|
|
61
|
+
const first = data[0];
|
|
62
|
+
const last = data[data.length - 1];
|
|
63
|
+
if (last > first)
|
|
64
|
+
return "positive";
|
|
65
|
+
if (last < first)
|
|
66
|
+
return "destructive";
|
|
67
|
+
return "muted";
|
|
68
|
+
}
|
|
69
|
+
function buildLinePath(points) {
|
|
70
|
+
if (points.length === 0)
|
|
71
|
+
return "";
|
|
72
|
+
const [first, ...rest] = points;
|
|
73
|
+
const [fx, fy] = first;
|
|
74
|
+
let d = `M ${fx.toFixed(2)} ${fy.toFixed(2)}`;
|
|
75
|
+
for (const [x, y] of rest) {
|
|
76
|
+
d += ` L ${x.toFixed(2)} ${y.toFixed(2)}`;
|
|
77
|
+
}
|
|
78
|
+
return d;
|
|
79
|
+
}
|
|
80
|
+
function buildAreaPath(points, height) {
|
|
81
|
+
if (points.length === 0)
|
|
82
|
+
return "";
|
|
83
|
+
const linePath = buildLinePath(points);
|
|
84
|
+
const last = points[points.length - 1];
|
|
85
|
+
const first = points[0];
|
|
86
|
+
return `${linePath} L ${last[0].toFixed(2)} ${height.toFixed(2)} L ${first[0].toFixed(2)} ${height.toFixed(2)} Z`;
|
|
87
|
+
}
|
|
88
|
+
function Sparkline({ data, variant = "line", color = "default", label, size, width, height, strokeWidth = 1.5, showLastPoint = true, gradient = true, showBaseline = false, min, max, className, ref, ...props }) {
|
|
89
|
+
const resolvedSize = size ?? "md";
|
|
90
|
+
const dims = SIZE_TO_DIMENSIONS[resolvedSize];
|
|
91
|
+
const w = width ?? dims.width;
|
|
92
|
+
const h = height ?? dims.height;
|
|
93
|
+
const resolvedColor = color === "auto"
|
|
94
|
+
? resolveAutoColor(data)
|
|
95
|
+
: color;
|
|
96
|
+
const gradientId = useId();
|
|
97
|
+
if (data.length === 0) {
|
|
98
|
+
return (_jsx("div", { ref: ref, role: "img", "aria-label": label, "data-slot": "sparkline", "data-variant": variant, "data-color": resolvedColor, className: cn(sparklineVariants({ size }), className), style: { width: w, height: h }, ...props, children: _jsx("svg", { width: w, height: h, viewBox: `0 0 ${w} ${h}`, "aria-hidden": "true" }) }));
|
|
99
|
+
}
|
|
100
|
+
const dataMin = min ?? Math.min(...data);
|
|
101
|
+
const dataMax = max ?? Math.max(...data);
|
|
102
|
+
const range = dataMax - dataMin || 1;
|
|
103
|
+
// Inset to keep strokes/dots fully visible inside the viewBox.
|
|
104
|
+
const inset = Math.max(strokeWidth, 2);
|
|
105
|
+
const innerWidth = Math.max(0, w - inset * 2);
|
|
106
|
+
const innerHeight = Math.max(0, h - inset * 2);
|
|
107
|
+
const xStep = data.length === 1 ? 0 : innerWidth / (data.length - 1);
|
|
108
|
+
const points = data.map((value, index) => {
|
|
109
|
+
const x = data.length === 1 ? inset + innerWidth / 2 : inset + index * xStep;
|
|
110
|
+
const normalized = (value - dataMin) / range;
|
|
111
|
+
const y = inset + innerHeight * (1 - normalized);
|
|
112
|
+
return [x, y];
|
|
113
|
+
});
|
|
114
|
+
const lastPoint = points[points.length - 1];
|
|
115
|
+
const strokeClass = SPARKLINE_STROKE_CLASSES[resolvedColor];
|
|
116
|
+
const fillClass = SPARKLINE_FILL_CLASSES[resolvedColor];
|
|
117
|
+
const barFillClass = SPARKLINE_BAR_FILL_CLASSES[resolvedColor];
|
|
118
|
+
return (_jsx("div", { ref: ref, role: "img", "aria-label": label, "data-slot": "sparkline", "data-variant": variant, "data-color": resolvedColor, className: cn(sparklineVariants({ size }), className), style: { width: w, height: h }, ...props, children: _jsxs("svg", { width: w, height: h, viewBox: `0 0 ${w} ${h}`, preserveAspectRatio: "none", "aria-hidden": "true", className: "overflow-visible", children: [variant === "area" && gradient ? (_jsx("defs", { children: _jsxs("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", className: fillClass, children: [_jsx("stop", { offset: "0%", stopColor: "currentColor", stopOpacity: "0.35" }), _jsx("stop", { offset: "100%", stopColor: "currentColor", stopOpacity: "0" })] }) })) : null, showBaseline ? (_jsx("line", { x1: inset, x2: w - inset, y1: h - inset, y2: h - inset, className: "stroke-border", strokeWidth: 1, strokeDasharray: "2 2" })) : null, variant === "bar" ? ((() => {
|
|
119
|
+
const gap = data.length > 32 ? 1 : 2;
|
|
120
|
+
const totalGap = gap * Math.max(0, data.length - 1);
|
|
121
|
+
const barWidth = Math.max(1, (innerWidth - totalGap) / Math.max(1, data.length));
|
|
122
|
+
const minHeight = 1;
|
|
123
|
+
return (_jsx("g", { className: barFillClass, children: data.map((value, index) => {
|
|
124
|
+
const normalized = (value - dataMin) / range;
|
|
125
|
+
const barHeight = Math.max(minHeight, innerHeight * normalized);
|
|
126
|
+
const x = inset + index * (barWidth + gap);
|
|
127
|
+
const y = inset + (innerHeight - barHeight);
|
|
128
|
+
return (_jsx("rect", { x: x, y: y, width: barWidth, height: barHeight, rx: Math.min(1.5, barWidth / 2) }, index));
|
|
129
|
+
}) }));
|
|
130
|
+
})()) : null, variant === "area" ? (_jsx("path", { d: buildAreaPath(points, h - inset), fill: gradient ? `url(#${gradientId})` : "currentColor", fillOpacity: gradient ? 1 : 0.2, stroke: "none", className: fillClass })) : null, variant !== "bar" ? (_jsx("path", { d: buildLinePath(points), fill: "none", strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", className: strokeClass })) : null, variant !== "bar" && showLastPoint ? (_jsx("circle", { cx: lastPoint[0], cy: lastPoint[1], r: Math.max(strokeWidth + 0.5, 2), className: cn(fillClass, "fill-current"), stroke: "hsl(var(--background))", strokeWidth: 1 })) : null] }) }));
|
|
131
|
+
}
|
|
132
|
+
Sparkline.displayName = "Sparkline";
|
|
133
|
+
export { Sparkline };
|
|
134
|
+
//# sourceMappingURL=sparkline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparkline.js","sourceRoot":"","sources":["../../../../src/components/ui/sparkline/sparkline.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import { cn } from "../../../lib/utils";
|
|
|
11
11
|
export function ThemedPageBackground({ children, ...props }) {
|
|
12
12
|
const backgroundClassNames = [
|
|
13
13
|
"schemavaults-themed-page-background",
|
|
14
|
-
"relative min-h-full w-full",
|
|
14
|
+
"relative min-h-full w-full shrink-0",
|
|
15
15
|
"bg-schemavaults-brand-blue bg-gradient-to-b from-schemavaults-brand-red to-transparent",
|
|
16
16
|
];
|
|
17
17
|
if (typeof props.backgroundClassName === "string") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themed-page-background.js","sourceRoot":"","sources":["../../../../src/components/ui/themed-page-background/themed-page-background.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AASjC;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,QAAQ,EACR,GAAG,KAAK,EACkB;IAC1B,MAAM,oBAAoB,GAAa;QACrC,qCAAqC;QACrC,
|
|
1
|
+
{"version":3,"file":"themed-page-background.js","sourceRoot":"","sources":["../../../../src/components/ui/themed-page-background/themed-page-background.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AASjC;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,QAAQ,EACR,GAAG,KAAK,EACkB;IAC1B,MAAM,oBAAoB,GAAa;QACrC,qCAAqC;QACrC,qCAAqC;QACrC,wFAAwF;KACzF,CAAC;IACF,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAClD,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,YAC5C,cACE,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,eAAe,EACf,mBAAmB,EACnB,KAAK,CAAC,SAAS,CAChB,YAEA,QAAQ,GACL,GACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,oBAAoB,CAAC"}
|