@schemavaults/ui 0.48.3 → 0.50.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,105 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, KeyboardEvent, MouseEvent, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const barChartSizeIds: ["sm", "md", "lg", "xl"];
4
+ export type BarChartSizeId = (typeof barChartSizeIds)[number];
5
+ export declare const barChartOrientationIds: ["vertical", "horizontal"];
6
+ export type BarChartOrientationId = (typeof barChartOrientationIds)[number];
7
+ export declare const barChartBarColorIds: ["default", "primary", "positive", "warning", "destructive", "muted"];
8
+ export type BarChartBarColorId = (typeof barChartBarColorIds)[number];
9
+ export declare const barChartVariants: (props?: ({
10
+ size?: "sm" | "lg" | "xl" | "md" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ export interface BarChartBar {
13
+ /** Stable identifier for the bar. Used as React key and click payload. */
14
+ id: string;
15
+ /**
16
+ * Bar magnitude. Bar length is `value / max`. Negative and non-finite
17
+ * values are treated as `0`.
18
+ */
19
+ value: number;
20
+ /** Human-readable category label rendered along the axis. */
21
+ label?: string;
22
+ /** Preset color id from the chart palette. Ignored if `fill` is provided. */
23
+ color?: BarChartBarColorId;
24
+ /**
25
+ * Override the fill with a raw CSS color (e.g. `"#ff0080"` or
26
+ * `"hsl(var(--chart-1))"`). Takes precedence over `color`.
27
+ */
28
+ fill?: string;
29
+ /** Extra classes applied to this bar's `<rect>`. */
30
+ className?: string;
31
+ /** Fired when this bar is clicked or activated via keyboard. */
32
+ onClick?: (bar: BarChartBar, event: MouseEvent<SVGRectElement> | KeyboardEvent<SVGRectElement>) => void;
33
+ }
34
+ export interface BarChartValueLabelContext {
35
+ bar: BarChartBar;
36
+ value: number;
37
+ /** Share of the scale max, in the range 0–1. */
38
+ fraction: number;
39
+ /** Share of the scale max, in the range 0–100. */
40
+ percentage: number;
41
+ index: number;
42
+ }
43
+ export interface BarChartProps extends Omit<HTMLAttributes<HTMLDivElement>, "onClick">, VariantProps<typeof barChartVariants> {
44
+ /** Bars to render, in order. */
45
+ bars: ReadonlyArray<BarChartBar>;
46
+ /** Accessible label describing what the chart represents. */
47
+ label: string;
48
+ /** Bar direction. Defaults to `"vertical"` (columns growing upward). */
49
+ orientation?: BarChartOrientationId;
50
+ /**
51
+ * Upper bound of the value scale. Defaults to the largest bar value (or `1`
52
+ * when every bar is `0`). Useful for pinning multiple charts to a shared
53
+ * scale.
54
+ */
55
+ max?: number;
56
+ /** Override the rendered canvas width in pixels (defaults are size-aware). */
57
+ width?: number;
58
+ /** Override the rendered canvas height in pixels (defaults are size-aware). */
59
+ height?: number;
60
+ /**
61
+ * Gap between bars as a fraction of each bar's slot (0–0.9). Defaults to
62
+ * `0.3`.
63
+ */
64
+ barGap?: number;
65
+ /** Corner radius applied to the free end of every bar. Defaults to `4`. */
66
+ cornerRadius?: number;
67
+ /** Render the baseline axis line. Defaults to `true`. */
68
+ showAxis?: boolean;
69
+ /**
70
+ * Number of evenly-spaced gridlines drawn across the value axis. `0`
71
+ * disables gridlines. Defaults to `0`.
72
+ */
73
+ gridLineCount?: number;
74
+ /** Render each bar's category `label` along the axis. Defaults to `true`. */
75
+ showCategoryLabels?: boolean;
76
+ /** Render a value label at the free end of each bar. Defaults to `false`. */
77
+ showValueLabels?: boolean;
78
+ /**
79
+ * Customize the value-label text. Return `null` to skip a bar. Defaults to
80
+ * the raw value (`String(value)`).
81
+ */
82
+ valueLabelFormatter?: (context: BarChartValueLabelContext) => string | null;
83
+ /**
84
+ * Fallback handler invoked for any bar that doesn't have its own `onClick`.
85
+ * Receives the clicked bar.
86
+ */
87
+ onBarClick?: (bar: BarChartBar, event: MouseEvent<SVGRectElement> | KeyboardEvent<SVGRectElement>) => void;
88
+ /** Optional content overlaid on top of the plot area. */
89
+ children?: ReactNode;
90
+ /** Extra classes for the overlay content wrapper. */
91
+ overlayClassName?: string;
92
+ /** Extra classes applied to every value-label `<text>` element. */
93
+ valueLabelClassName?: string;
94
+ /** Extra classes applied to every category-label `<text>` element. */
95
+ categoryLabelClassName?: string;
96
+ /** Extra classes applied to the axis / gridline `<line>` elements. */
97
+ axisClassName?: string;
98
+ /** Optional ref forwarded to the wrapper element. */
99
+ ref?: Ref<HTMLDivElement>;
100
+ }
101
+ declare function BarChart({ bars, label, orientation, max, size, width, height, barGap, cornerRadius, showAxis, gridLineCount, showCategoryLabels, showValueLabels, valueLabelFormatter, onBarClick, children, className, overlayClassName, valueLabelClassName, categoryLabelClassName, axisClassName, ref, ...props }: BarChartProps): ReactElement;
102
+ declare namespace BarChart {
103
+ var displayName: string;
104
+ }
105
+ export { BarChart };
@@ -0,0 +1,202 @@
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 barChartSizeIds = [
7
+ "sm",
8
+ "md",
9
+ "lg",
10
+ "xl",
11
+ ];
12
+ export const barChartOrientationIds = [
13
+ "vertical",
14
+ "horizontal",
15
+ ];
16
+ export const barChartBarColorIds = [
17
+ "default",
18
+ "primary",
19
+ "positive",
20
+ "warning",
21
+ "destructive",
22
+ "muted",
23
+ ];
24
+ /** Default canvas dimensions per size. Either axis can be overridden via the
25
+ * `width` / `height` props. */
26
+ const SIZE_TO_CANVAS = {
27
+ sm: { width: 240, height: 140 },
28
+ md: { width: 360, height: 200 },
29
+ lg: { width: 480, height: 260 },
30
+ xl: { width: 640, height: 340 },
31
+ };
32
+ const BAR_FILL_CLASSES = {
33
+ default: "fill-schemavaults-brand-blue",
34
+ primary: "fill-primary",
35
+ positive: "fill-emerald-500 dark:fill-emerald-400",
36
+ warning: "fill-warning",
37
+ destructive: "fill-destructive",
38
+ muted: "fill-muted-foreground",
39
+ };
40
+ /**
41
+ * Fallback color rotation when a bar doesn't specify its own color. Index is
42
+ * the bar position in the input array, modulo the palette length.
43
+ */
44
+ const DEFAULT_COLOR_ROTATION = [
45
+ "default",
46
+ "positive",
47
+ "warning",
48
+ "destructive",
49
+ "primary",
50
+ "muted",
51
+ ];
52
+ export const barChartVariants = cva("relative inline-flex shrink-0 items-center justify-center", {
53
+ variants: {
54
+ size: {
55
+ sm: "text-[10px]",
56
+ md: "text-[11px]",
57
+ lg: "text-xs",
58
+ xl: "text-sm",
59
+ },
60
+ },
61
+ defaultVariants: {
62
+ size: "md",
63
+ },
64
+ });
65
+ function sanitizeValue(value) {
66
+ if (!Number.isFinite(value) || value < 0)
67
+ return 0;
68
+ return value;
69
+ }
70
+ function BarChart({ bars, label, orientation = "vertical", max, size, width, height, barGap = 0.3, cornerRadius = 4, showAxis = true, gridLineCount = 0, showCategoryLabels = true, showValueLabels = false, valueLabelFormatter, onBarClick, children, className, overlayClassName, valueLabelClassName, categoryLabelClassName, axisClassName, ref, ...props }) {
71
+ const resolvedSize = size ?? "md";
72
+ const canvas = SIZE_TO_CANVAS[resolvedSize];
73
+ const W = width ?? canvas.width;
74
+ const H = height ?? canvas.height;
75
+ const titleId = useId();
76
+ const isHorizontal = orientation === "horizontal";
77
+ const gap = Math.max(0, Math.min(0.9, barGap));
78
+ // Reserve a gutter for category labels (along the axis) and a gutter for
79
+ // value labels (at the free end of the bars).
80
+ const categoryGutter = showCategoryLabels ? 24 : 6;
81
+ const valueGutter = showValueLabels ? 28 : 6;
82
+ const padTop = isHorizontal ? 6 : valueGutter;
83
+ const padBottom = isHorizontal ? categoryGutter : categoryGutter;
84
+ const padLeft = isHorizontal ? categoryGutter + 8 : 6;
85
+ const padRight = isHorizontal ? valueGutter : 6;
86
+ const plotX0 = padLeft;
87
+ const plotY0 = padTop;
88
+ const plotW = Math.max(0, W - padLeft - padRight);
89
+ const plotH = Math.max(0, H - padTop - padBottom);
90
+ const sanitized = bars.map((b) => sanitizeValue(b.value));
91
+ const computedMax = max ?? Math.max(0, ...sanitized);
92
+ const scaleMax = computedMax > 0 ? computedMax : 1;
93
+ const count = bars.length;
94
+ const resolved = (() => {
95
+ if (count === 0)
96
+ return [];
97
+ const axisSpan = isHorizontal ? plotH : plotW;
98
+ const slot = axisSpan / count;
99
+ const thickness = slot * (1 - gap);
100
+ const inset = (slot - thickness) / 2;
101
+ return bars.map((bar, index) => {
102
+ const value = sanitized[index];
103
+ const fraction = value / scaleMax;
104
+ const presetColor = bar.color ??
105
+ DEFAULT_COLOR_ROTATION[index % DEFAULT_COLOR_ROTATION.length];
106
+ const fillClass = bar.fill
107
+ ? undefined
108
+ : BAR_FILL_CLASSES[presetColor];
109
+ if (isHorizontal) {
110
+ const barLength = fraction * plotW;
111
+ const y = plotY0 + index * slot + inset;
112
+ const x = plotX0;
113
+ return {
114
+ bar,
115
+ value,
116
+ x,
117
+ y,
118
+ barWidth: barLength,
119
+ barHeight: thickness,
120
+ valueX: x + barLength + 6,
121
+ valueY: y + thickness / 2,
122
+ categoryX: plotX0 - 8,
123
+ categoryY: y + thickness / 2,
124
+ fillClass,
125
+ fill: bar.fill,
126
+ };
127
+ }
128
+ const barLength = fraction * plotH;
129
+ const x = plotX0 + index * slot + inset;
130
+ const y = plotY0 + plotH - barLength;
131
+ return {
132
+ bar,
133
+ value,
134
+ x,
135
+ y,
136
+ barWidth: thickness,
137
+ barHeight: barLength,
138
+ valueX: x + thickness / 2,
139
+ valueY: y - 6,
140
+ categoryX: x + thickness / 2,
141
+ categoryY: plotY0 + plotH + 14,
142
+ fillClass,
143
+ fill: bar.fill,
144
+ };
145
+ });
146
+ })();
147
+ const gridLines = (() => {
148
+ if (gridLineCount <= 0)
149
+ return [];
150
+ const lines = [];
151
+ for (let i = 1; i <= gridLineCount; i += 1) {
152
+ lines.push(i / (gridLineCount + 1));
153
+ }
154
+ return lines;
155
+ })();
156
+ return (_jsxs("div", { ref: ref, role: "img", "aria-labelledby": titleId, "data-slot": "bar-chart", "data-orientation": orientation, className: cn(barChartVariants({ 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": "bar-chart-gridlines", className: "pointer-events-none", children: gridLines.map((t) => {
157
+ if (isHorizontal) {
158
+ const x = plotX0 + t * plotW;
159
+ return (_jsx("line", { x1: x, y1: plotY0, x2: x, y2: plotY0 + plotH, strokeWidth: 1, className: cn("stroke-border/60", axisClassName) }, `grid-${t}`));
160
+ }
161
+ const y = plotY0 + plotH - t * plotH;
162
+ return (_jsx("line", { x1: plotX0, y1: y, x2: plotX0 + plotW, y2: y, strokeWidth: 1, className: cn("stroke-border/60", axisClassName) }, `grid-${t}`));
163
+ }) })) : null, showAxis ? (_jsx("line", { "data-slot": "bar-chart-axis", x1: plotX0, y1: isHorizontal ? plotY0 : plotY0 + plotH, x2: isHorizontal ? plotX0 : plotX0 + plotW, y2: plotY0 + plotH, strokeWidth: 1, className: cn("stroke-border", axisClassName) })) : null, resolved.length === 0 ? (_jsx("text", { x: W / 2, y: H / 2, textAnchor: "middle", dominantBaseline: "central", className: "fill-muted-foreground", children: "No data" })) : (resolved.map((r) => {
164
+ const handler = r.bar.onClick ?? onBarClick;
165
+ const isInteractive = typeof handler === "function";
166
+ return (_jsx("rect", { x: r.x, y: r.y, width: Math.max(0, r.barWidth), height: Math.max(0, r.barHeight), rx: cornerRadius, ry: cornerRadius, fill: r.fill, "data-bar-id": r.bar.id, role: isInteractive ? "button" : undefined, tabIndex: isInteractive ? 0 : undefined, "aria-label": r.bar.label
167
+ ? `${r.bar.label}: ${r.value}`
168
+ : `${r.bar.id}: ${r.value}`, onClick: isInteractive
169
+ ? (event) => {
170
+ handler(r.bar, event);
171
+ }
172
+ : undefined, onKeyDown: isInteractive
173
+ ? (event) => {
174
+ if (event.key === "Enter" || event.key === " ") {
175
+ event.preventDefault();
176
+ handler(r.bar, event);
177
+ }
178
+ }
179
+ : undefined, className: cn("transition-opacity", r.fillClass, isInteractive &&
180
+ "cursor-pointer hover:opacity-80 focus:outline-none focus-visible:opacity-80", r.bar.className) }, r.bar.id));
181
+ })), showCategoryLabels && resolved.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "bar-chart-category-labels", className: "pointer-events-none select-none", children: resolved.map((r) => {
182
+ const text = r.bar.label ?? r.bar.id;
183
+ return (_jsx("text", { x: r.categoryX, y: r.categoryY, textAnchor: isHorizontal ? "end" : "middle", dominantBaseline: isHorizontal ? "central" : "auto", className: cn("fill-muted-foreground", categoryLabelClassName), children: text }, `${r.bar.id}-cat`));
184
+ }) })) : null, showValueLabels && resolved.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "bar-chart-value-labels", className: "pointer-events-none select-none", children: resolved.map((r, index) => {
185
+ const fraction = r.value / scaleMax;
186
+ const text = valueLabelFormatter
187
+ ? valueLabelFormatter({
188
+ bar: r.bar,
189
+ value: r.value,
190
+ fraction,
191
+ percentage: fraction * 100,
192
+ index,
193
+ })
194
+ : String(r.value);
195
+ if (text === null || text === "")
196
+ return null;
197
+ return (_jsx("text", { x: r.valueX, y: r.valueY, textAnchor: isHorizontal ? "start" : "middle", dominantBaseline: isHorizontal ? "central" : "auto", className: cn("fill-foreground font-medium", valueLabelClassName), children: text }, `${r.bar.id}-val`));
198
+ }) })) : null] }), children ? (_jsx("div", { className: cn("pointer-events-none absolute inset-0 flex items-center justify-center text-center", overlayClassName), children: children })) : null] }));
199
+ }
200
+ BarChart.displayName = "BarChart";
201
+ export { BarChart };
202
+ //# sourceMappingURL=bar-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/bar-chart/bar-chart.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { BarChart, barChartVariants, barChartSizeIds, barChartOrientationIds, barChartBarColorIds, } from "./bar-chart";
2
+ export type * from "./bar-chart";
3
+ export { BarChart as default } from "./bar-chart";
@@ -0,0 +1,3 @@
1
+ export { BarChart, barChartVariants, barChartSizeIds, barChartOrientationIds, barChartBarColorIds, } from "./bar-chart";
2
+ export { BarChart as default } from "./bar-chart";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/bar-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -154,6 +154,8 @@ export * from "./calendar-heatmap";
154
154
  export type * from "./calendar-heatmap";
155
155
  export * from "./pie-chart";
156
156
  export type * from "./pie-chart";
157
+ export * from "./bar-chart";
158
+ export type * from "./bar-chart";
157
159
  export * from "./comparison-slider";
158
160
  export type * from "./comparison-slider";
159
161
  export * from "./theme-selector";
@@ -76,6 +76,7 @@ export * from "./aspect-ratio";
76
76
  export * from "./color-swatch";
77
77
  export * from "./calendar-heatmap";
78
78
  export * from "./pie-chart";
79
+ export * from "./bar-chart";
79
80
  export * from "./comparison-slider";
80
81
  export * from "./theme-selector";
81
82
  //# sourceMappingURL=index.js.map
@@ -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,SAAS,CAAC;AAGxB,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,eAAe,CAAC;AAG9B,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;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAG5B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,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,SAAS,CAAC;AAGxB,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,eAAe,CAAC;AAG9B,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;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAG5B,cAAc,aAAa,CAAC;AAG5B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC"}
@@ -2,6 +2,9 @@ import { type ReactElement } from "react";
2
2
  export interface KeyValueWithSkeletonProps {
3
3
  label: string;
4
4
  value?: string | Promise<string> | null;
5
+ className?: string;
6
+ labelClassName?: string;
7
+ valueClassName?: string;
5
8
  }
6
- export declare function KeyValueWithSkeleton({ label, value, }: KeyValueWithSkeletonProps): ReactElement;
9
+ export declare function KeyValueWithSkeleton({ label, value, className, labelClassName, valueClassName, }: KeyValueWithSkeletonProps): ReactElement;
7
10
  export default KeyValueWithSkeleton;
@@ -1,15 +1,15 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Skeleton } from "../../ui/skeleton";
4
+ import { cn } from "../../../lib/utils";
4
5
  import { useState, useEffect, useRef, } from "react";
5
6
  function KeyValueFallbackSkeleton() {
6
7
  return (_jsx(Skeleton, { className: "min-w-[100px] md:min-w-[140px] lg:min-w-[200px] min-h-[12px]" }));
7
8
  }
8
- function DisplayValueText({ value }) {
9
- const displayValueClassName = "text-gray-400 grow";
10
- return _jsx("p", { className: displayValueClassName, children: value });
9
+ function DisplayValueText({ value, className, }) {
10
+ return _jsx("p", { className: cn("text-gray-400 grow", className), children: value });
11
11
  }
12
- function DisplayValue({ value, }) {
12
+ function DisplayValue({ value, className, }) {
13
13
  const [loaded, setLoaded] = useState(false);
14
14
  const cancelSetValueRef = useRef(false);
15
15
  useEffect(() => {
@@ -34,22 +34,20 @@ function DisplayValue({ value, }) {
34
34
  return _jsx(KeyValueFallbackSkeleton, {});
35
35
  }
36
36
  else if (typeof value === "string") {
37
- return _jsx(DisplayValueText, { value: value });
37
+ return _jsx(DisplayValueText, { value: value, className: className });
38
38
  }
39
39
  else if (!loaded) {
40
40
  return _jsx(KeyValueFallbackSkeleton, {});
41
41
  }
42
42
  else {
43
- return _jsx(DisplayValueText, { value: loaded });
43
+ return _jsx(DisplayValueText, { value: loaded, className: className });
44
44
  }
45
45
  }
46
- export function KeyValueWithSkeleton({ label, value, }) {
47
- const itemContainerDivClassName = "grow w-full flex flex-row items-center justify-start gap-4";
48
- const displayValueLabelClassName = "text-lg font-bold";
49
- function ValueWithLabel({ children }) {
50
- return (_jsxs("div", { className: itemContainerDivClassName, children: [_jsxs("p", { className: displayValueLabelClassName, children: [label, ":"] }), children] }));
51
- }
52
- return (_jsx(ValueWithLabel, { children: _jsx(DisplayValue, { value: value }) }));
46
+ function ValueWithLabel({ label, className, labelClassName, children, }) {
47
+ return (_jsxs("div", { className: cn("grow w-full flex flex-row items-center justify-start gap-4", className), children: [_jsxs("p", { className: cn("text-lg font-bold", labelClassName), children: [label, ":"] }), children] }));
48
+ }
49
+ export function KeyValueWithSkeleton({ label, value, className, labelClassName, valueClassName, }) {
50
+ return (_jsx(ValueWithLabel, { label: label, className: className, labelClassName: labelClassName, children: _jsx(DisplayValue, { value: value, className: valueClassName }) }));
53
51
  }
54
52
  export default KeyValueWithSkeleton;
55
53
  //# sourceMappingURL=key-value-with-skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-with-skeleton.js","sourceRoot":"","sources":["../../../../src/components/ui/key-value-with-skeleton/key-value-with-skeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAIL,QAAQ,EACR,SAAS,EACT,MAAM,GACP,MAAM,OAAO,CAAC;AAOf,SAAS,wBAAwB;IAC/B,OAAO,CACL,KAAC,QAAQ,IAAC,SAAS,EAAC,8DAA8D,GAAG,CACtF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,KAAK,EAAqB;IACpD,MAAM,qBAAqB,GAAG,oBAA6B,CAAC;IAE5D,OAAO,YAAG,SAAS,EAAE,qBAAqB,YAAG,KAAK,GAAK,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,KAAK,GAGN;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAiB,KAAK,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzC,KAAK,UAAU,0BAA0B;gBACvC,OAAO,MAAO,KAAyB,CAAC;YAC1C,CAAC;YACD,0BAA0B,EAAE,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;gBAChD,MAAM,iBAAiB,GAAY,iBAAiB,CAAC,OAAO,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,SAAS,WAAW;gBACzB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,KAAC,wBAAwB,KAAG,CAAC;IACtC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAC5C,CAAC;SAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,KAAC,wBAAwB,KAAG,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,KAAC,gBAAgB,IAAC,KAAK,EAAE,MAAM,GAAI,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,GACqB;IAC1B,MAAM,yBAAyB,GAC7B,4DAAqE,CAAC;IACxE,MAAM,0BAA0B,GAAG,mBAA4B,CAAC;IAEhE,SAAS,cAAc,CAAC,EAAE,QAAQ,EAAqB;QACrD,OAAO,CACL,eAAK,SAAS,EAAE,yBAAyB,aACvC,aAAG,SAAS,EAAE,0BAA0B,aAAG,KAAK,SAAM,EACrD,QAAQ,IACL,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,cAAc,cACb,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,GACf,CAClB,CAAC;AACJ,CAAC;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"key-value-with-skeleton.js","sourceRoot":"","sources":["../../../../src/components/ui/key-value-with-skeleton/key-value-with-skeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAIL,QAAQ,EACR,SAAS,EACT,MAAM,GACP,MAAM,OAAO,CAAC;AAUf,SAAS,wBAAwB;IAC/B,OAAO,CACL,KAAC,QAAQ,IAAC,SAAS,EAAC,8DAA8D,GAAG,CACtF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,SAAS,GAIV;IACC,OAAO,YAAG,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,YAAG,KAAK,GAAK,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,KAAK,EACL,SAAS,GAIV;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAiB,KAAK,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzC,KAAK,UAAU,0BAA0B;gBACvC,OAAO,MAAO,KAAyB,CAAC;YAC1C,CAAC;YACD,0BAA0B,EAAE,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;gBAChD,MAAM,iBAAiB,GAAY,iBAAiB,CAAC,OAAO,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,SAAS,WAAW;gBACzB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,KAAC,wBAAwB,KAAG,CAAC;IACtC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IAClE,CAAC;SAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,KAAC,wBAAwB,KAAG,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,KAAC,gBAAgB,IAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,SAAS,EACT,cAAc,EACd,QAAQ,GAKR;IACA,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,SAAS,CACV,aAED,aAAG,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,aAAG,KAAK,SAAM,EAClE,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,GACY;IAC1B,OAAO,CACL,KAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,YAE9B,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,GAAI,GAC1C,CAClB,CAAC;AACJ,CAAC;AAED,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemavaults/ui",
3
- "version": "0.48.3",
3
+ "version": "0.50.2",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "description": "React.js UI components for SchemaVaults frontend applications",