@schemavaults/ui 0.107.0 → 0.108.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.
@@ -0,0 +1,135 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, KeyboardEvent, MouseEvent, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const funnelChartSizeIds: ["sm", "md", "lg", "xl"];
4
+ export type FunnelChartSizeId = (typeof funnelChartSizeIds)[number];
5
+ export declare const funnelChartOrientationIds: ["vertical", "horizontal"];
6
+ export type FunnelChartOrientationId = (typeof funnelChartOrientationIds)[number];
7
+ export declare const funnelChartStageColorIds: ["default", "primary", "positive", "warning", "destructive", "muted"];
8
+ export type FunnelChartStageColorId = (typeof funnelChartStageColorIds)[number];
9
+ /**
10
+ * Baseline used when computing each stage's conversion rate.
11
+ *
12
+ * - `"previous"` — share of the immediately preceding stage (step conversion).
13
+ * - `"first"` — share of the first stage (cumulative conversion).
14
+ * - `"none"` — don't compute conversion rates.
15
+ */
16
+ export declare const funnelChartConversionModeIds: ["previous", "first", "none"];
17
+ export type FunnelChartConversionModeId = (typeof funnelChartConversionModeIds)[number];
18
+ export declare const funnelChartVariants: (props?: ({
19
+ size?: "sm" | "lg" | "xl" | "md" | null | undefined;
20
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
21
+ export interface FunnelChartStage {
22
+ /** Stable identifier for the stage. Used as React key and click payload. */
23
+ id: string;
24
+ /**
25
+ * Population that reached this stage. Stage thickness is `value / max`.
26
+ * Negative and non-finite values are treated as `0`.
27
+ */
28
+ value: number;
29
+ /** Human-readable stage name rendered in the label gutter. */
30
+ label?: string;
31
+ /** Preset color id from the chart palette. Ignored if `fill` is provided. */
32
+ color?: FunnelChartStageColorId;
33
+ /**
34
+ * Override the fill with a raw CSS color (e.g. `"#ff0080"` or
35
+ * `"hsl(var(--chart-1))"`). Takes precedence over `color`.
36
+ */
37
+ fill?: string;
38
+ /** Extra classes applied to this stage's `<polygon>`. */
39
+ className?: string;
40
+ /** Fired when this stage is clicked or activated via keyboard. */
41
+ onClick?: (stage: FunnelChartStage, event: MouseEvent<SVGPolygonElement> | KeyboardEvent<SVGPolygonElement>) => void;
42
+ }
43
+ export interface FunnelChartLabelContext {
44
+ stage: FunnelChartStage;
45
+ value: number;
46
+ /** Share of the scale max, in the range 0–1. */
47
+ fraction: number;
48
+ /**
49
+ * Share of the conversion baseline, in the range 0–1, or `null` for the
50
+ * first stage in `"previous"` mode (nothing precedes it) and whenever the
51
+ * baseline is `0`.
52
+ */
53
+ conversion: number | null;
54
+ index: number;
55
+ /** Total number of stages in the funnel. */
56
+ count: number;
57
+ }
58
+ export interface FunnelChartProps extends Omit<HTMLAttributes<HTMLDivElement>, "onClick">, VariantProps<typeof funnelChartVariants> {
59
+ /** Stages to render, in funnel order (widest first, by convention). */
60
+ stages: ReadonlyArray<FunnelChartStage>;
61
+ /** Accessible label describing what the funnel represents. */
62
+ label: string;
63
+ /**
64
+ * Funnel direction. `"vertical"` (default) narrows downward; `"horizontal"`
65
+ * narrows to the right.
66
+ */
67
+ orientation?: FunnelChartOrientationId;
68
+ /**
69
+ * Upper bound of the value scale. Defaults to the largest stage value (or
70
+ * `1` when every stage is `0`). Useful for pinning multiple funnels to a
71
+ * shared scale.
72
+ */
73
+ max?: number;
74
+ /** Override the rendered canvas width in pixels (defaults are size-aware). */
75
+ width?: number;
76
+ /** Override the rendered canvas height in pixels (defaults are size-aware). */
77
+ height?: number;
78
+ /** Gap between stage bands, in pixels. Defaults to `4`. */
79
+ stageGap?: number;
80
+ /**
81
+ * Smallest thickness any non-zero stage may shrink to, as a fraction of the
82
+ * full scale (0–1). Keeps deep-funnel stages visible. Defaults to `0.04`.
83
+ */
84
+ minStageRatio?: number;
85
+ /**
86
+ * Render the final stage as a rectangle (`false`, the default) or taper it
87
+ * to a point (`true`).
88
+ */
89
+ taperLastStage?: boolean;
90
+ /** Which baseline conversion rates are measured against. Defaults to `"previous"`. */
91
+ conversionMode?: FunnelChartConversionModeId;
92
+ /** Render each stage's `label` in the label gutter. Defaults to `true`. */
93
+ showStageLabels?: boolean;
94
+ /** Render each stage's value beneath its label. Defaults to `true`. */
95
+ showValueLabels?: boolean;
96
+ /**
97
+ * Render each stage's conversion rate in the opposite gutter. Defaults to
98
+ * `true`. Ignored when `conversionMode` is `"none"`.
99
+ */
100
+ showConversionLabels?: boolean;
101
+ /** Customize the stage-label text. Return `null` to skip a stage. */
102
+ stageLabelFormatter?: (context: FunnelChartLabelContext) => string | null;
103
+ /**
104
+ * Customize the value text. Return `null` to skip a stage. Defaults to the
105
+ * locale-formatted value.
106
+ */
107
+ valueLabelFormatter?: (context: FunnelChartLabelContext) => string | null;
108
+ /**
109
+ * Customize the conversion text. Return `null` to skip a stage. Defaults to
110
+ * a rounded percentage (e.g. `"62%"`).
111
+ */
112
+ conversionLabelFormatter?: (context: FunnelChartLabelContext) => string | null;
113
+ /**
114
+ * Fallback handler invoked for any stage that doesn't have its own
115
+ * `onClick`. Receives the clicked stage.
116
+ */
117
+ onStageClick?: (stage: FunnelChartStage, event: MouseEvent<SVGPolygonElement> | KeyboardEvent<SVGPolygonElement>) => void;
118
+ /** Optional content overlaid on top of the plot area. */
119
+ children?: ReactNode;
120
+ /** Extra classes for the overlay content wrapper. */
121
+ overlayClassName?: string;
122
+ /** Extra classes applied to every stage-label `<text>` element. */
123
+ stageLabelClassName?: string;
124
+ /** Extra classes applied to every value-label `<text>` element. */
125
+ valueLabelClassName?: string;
126
+ /** Extra classes applied to every conversion-label `<text>` element. */
127
+ conversionLabelClassName?: string;
128
+ /** Optional ref forwarded to the wrapper element. */
129
+ ref?: Ref<HTMLDivElement>;
130
+ }
131
+ declare function FunnelChart({ stages, label, orientation, max, size, width, height, stageGap, minStageRatio, taperLastStage, conversionMode, showStageLabels, showValueLabels, showConversionLabels, stageLabelFormatter, valueLabelFormatter, conversionLabelFormatter, onStageClick, children, className, overlayClassName, stageLabelClassName, valueLabelClassName, conversionLabelClassName, ref, ...props }: FunnelChartProps): ReactElement;
132
+ declare namespace FunnelChart {
133
+ var displayName: string;
134
+ }
135
+ export { FunnelChart };
@@ -0,0 +1,257 @@
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 funnelChartSizeIds = [
7
+ "sm",
8
+ "md",
9
+ "lg",
10
+ "xl",
11
+ ];
12
+ export const funnelChartOrientationIds = [
13
+ "vertical",
14
+ "horizontal",
15
+ ];
16
+ export const funnelChartStageColorIds = [
17
+ "default",
18
+ "primary",
19
+ "positive",
20
+ "warning",
21
+ "destructive",
22
+ "muted",
23
+ ];
24
+ /**
25
+ * Baseline used when computing each stage's conversion rate.
26
+ *
27
+ * - `"previous"` — share of the immediately preceding stage (step conversion).
28
+ * - `"first"` — share of the first stage (cumulative conversion).
29
+ * - `"none"` — don't compute conversion rates.
30
+ */
31
+ export const funnelChartConversionModeIds = [
32
+ "previous",
33
+ "first",
34
+ "none",
35
+ ];
36
+ /** Default canvas dimensions per size. Either axis can be overridden via the
37
+ * `width` / `height` props. */
38
+ const SIZE_TO_CANVAS = {
39
+ sm: { width: 260, height: 160 },
40
+ md: { width: 380, height: 220 },
41
+ lg: { width: 500, height: 300 },
42
+ xl: { width: 660, height: 400 },
43
+ };
44
+ const STAGE_FILL_CLASSES = {
45
+ default: "fill-schemavaults-brand-blue",
46
+ primary: "fill-primary",
47
+ positive: "fill-emerald-500 dark:fill-emerald-400",
48
+ warning: "fill-warning",
49
+ destructive: "fill-destructive",
50
+ muted: "fill-muted-foreground",
51
+ };
52
+ /**
53
+ * Fallback color rotation when a stage doesn't specify its own color. Index is
54
+ * the stage position in the input array, modulo the palette length.
55
+ */
56
+ const DEFAULT_COLOR_ROTATION = [
57
+ "default",
58
+ "positive",
59
+ "warning",
60
+ "destructive",
61
+ "primary",
62
+ "muted",
63
+ ];
64
+ export const funnelChartVariants = cva("relative inline-flex shrink-0 items-center justify-center", {
65
+ variants: {
66
+ size: {
67
+ sm: "text-[10px]",
68
+ md: "text-[11px]",
69
+ lg: "text-xs",
70
+ xl: "text-sm",
71
+ },
72
+ },
73
+ defaultVariants: {
74
+ size: "md",
75
+ },
76
+ });
77
+ function sanitizeValue(value) {
78
+ if (!Number.isFinite(value) || value < 0)
79
+ return 0;
80
+ return value;
81
+ }
82
+ function lerp(from, to, t) {
83
+ return from + (to - from) * t;
84
+ }
85
+ function defaultValueLabel({ value }) {
86
+ return value.toLocaleString();
87
+ }
88
+ function defaultConversionLabel({ conversion, }) {
89
+ if (conversion === null)
90
+ return null;
91
+ return `${Math.round(conversion * 100)}%`;
92
+ }
93
+ function FunnelChart({ stages, label, orientation = "vertical", max, size, width, height, stageGap = 4, minStageRatio = 0.04, taperLastStage = false, conversionMode = "previous", showStageLabels = true, showValueLabels = true, showConversionLabels = true, stageLabelFormatter, valueLabelFormatter, conversionLabelFormatter, onStageClick, children, className, overlayClassName, stageLabelClassName, valueLabelClassName, conversionLabelClassName, ref, ...props }) {
94
+ const resolvedSize = size ?? "md";
95
+ const canvas = SIZE_TO_CANVAS[resolvedSize];
96
+ const W = width ?? canvas.width;
97
+ const H = height ?? canvas.height;
98
+ const titleId = useId();
99
+ const isHorizontal = orientation === "horizontal";
100
+ const showConversion = showConversionLabels && conversionMode !== "none";
101
+ const hasLabelGutter = showStageLabels || showValueLabels;
102
+ // One gutter carries the stage name + value, the opposite one carries the
103
+ // conversion rate. Vertical funnels read left-to-right; horizontal funnels
104
+ // put the names underneath, like a category axis.
105
+ const labelGutter = hasLabelGutter ? (isHorizontal ? 38 : 92) : 6;
106
+ const conversionGutter = showConversion
107
+ ? isHorizontal
108
+ ? 18
109
+ : 54
110
+ : 6;
111
+ const padTop = isHorizontal ? conversionGutter : 6;
112
+ const padBottom = isHorizontal ? labelGutter : 6;
113
+ const padLeft = isHorizontal ? 6 : labelGutter;
114
+ const padRight = isHorizontal ? 6 : conversionGutter;
115
+ const plotX0 = padLeft;
116
+ const plotY0 = padTop;
117
+ const plotW = Math.max(0, W - padLeft - padRight);
118
+ const plotH = Math.max(0, H - padTop - padBottom);
119
+ const count = stages.length;
120
+ const sanitized = stages.map((s) => sanitizeValue(s.value));
121
+ const computedMax = max ?? Math.max(0, ...sanitized);
122
+ const scaleMax = computedMax > 0 ? computedMax : 1;
123
+ const minRatio = Math.max(0, Math.min(1, minStageRatio));
124
+ /** Thickness of the funnel, in SVG units, for a given stage value. */
125
+ function thicknessFor(value) {
126
+ const span = isHorizontal ? plotH : plotW;
127
+ const raw = value / scaleMax;
128
+ const ratio = value > 0 ? Math.max(minRatio, raw) : 0;
129
+ return Math.min(1, ratio) * span;
130
+ }
131
+ function conversionFor(index) {
132
+ if (conversionMode === "none")
133
+ return null;
134
+ if (conversionMode === "first") {
135
+ const baseline = sanitized[0] ?? 0;
136
+ return baseline > 0 ? sanitized[index] / baseline : null;
137
+ }
138
+ if (index === 0)
139
+ return null;
140
+ const baseline = sanitized[index - 1];
141
+ return baseline > 0 ? sanitized[index] / baseline : null;
142
+ }
143
+ const resolved = (() => {
144
+ if (count === 0)
145
+ return [];
146
+ const flowSpan = isHorizontal ? plotW : plotH;
147
+ const band = flowSpan / count;
148
+ const gap = Math.max(0, Math.min(band, stageGap));
149
+ // Center line the funnel is mirrored around.
150
+ const center = isHorizontal
151
+ ? plotY0 + plotH / 2
152
+ : plotX0 + plotW / 2;
153
+ return stages.map((stage, index) => {
154
+ const value = sanitized[index];
155
+ const isLast = index === count - 1;
156
+ const startThickness = thicknessFor(value);
157
+ const endThickness = isLast
158
+ ? taperLastStage
159
+ ? 0
160
+ : startThickness
161
+ : thicknessFor(sanitized[index + 1]);
162
+ // Interpolate the edges across the band, then inset by the gap so the
163
+ // silhouette stays continuous no matter how wide the gap is.
164
+ const bandStart = (isHorizontal ? plotX0 : plotY0) + index * band;
165
+ const a = bandStart + gap / 2;
166
+ const b = bandStart + band - gap / 2;
167
+ const tA = band > 0 ? (a - bandStart) / band : 0;
168
+ const tB = band > 0 ? (b - bandStart) / band : 1;
169
+ const thicknessA = lerp(startThickness, endThickness, tA);
170
+ const thicknessB = lerp(startThickness, endThickness, tB);
171
+ const points = isHorizontal
172
+ ? [
173
+ `${a},${center - thicknessA / 2}`,
174
+ `${b},${center - thicknessB / 2}`,
175
+ `${b},${center + thicknessB / 2}`,
176
+ `${a},${center + thicknessA / 2}`,
177
+ ].join(" ")
178
+ : [
179
+ `${center - thicknessA / 2},${a}`,
180
+ `${center + thicknessA / 2},${a}`,
181
+ `${center + thicknessB / 2},${b}`,
182
+ `${center - thicknessB / 2},${b}`,
183
+ ].join(" ");
184
+ const mid = (a + b) / 2;
185
+ const presetColor = stage.color ??
186
+ DEFAULT_COLOR_ROTATION[index % DEFAULT_COLOR_ROTATION.length];
187
+ const fillClass = stage.fill
188
+ ? undefined
189
+ : STAGE_FILL_CLASSES[presetColor];
190
+ return {
191
+ stage,
192
+ value,
193
+ fraction: value / scaleMax,
194
+ conversion: conversionFor(index),
195
+ points,
196
+ labelX: isHorizontal ? mid : plotX0 - 10,
197
+ labelY: isHorizontal ? plotY0 + plotH + 14 : mid,
198
+ conversionX: isHorizontal ? mid : plotX0 + plotW + 10,
199
+ conversionY: isHorizontal ? plotY0 - 6 : mid,
200
+ fillClass,
201
+ fill: stage.fill,
202
+ };
203
+ });
204
+ })();
205
+ function contextFor(r, index) {
206
+ return {
207
+ stage: r.stage,
208
+ value: r.value,
209
+ fraction: r.fraction,
210
+ conversion: r.conversion,
211
+ index,
212
+ count,
213
+ };
214
+ }
215
+ return (_jsxs("div", { ref: ref, role: "img", "aria-labelledby": titleId, "data-slot": "funnel-chart", "data-orientation": orientation, className: cn(funnelChartVariants({ 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 }), 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) => {
216
+ const handler = r.stage.onClick ?? onStageClick;
217
+ const isInteractive = typeof handler === "function";
218
+ const name = r.stage.label ?? r.stage.id;
219
+ return (_jsx("polygon", { points: r.points, fill: r.fill, "data-stage-id": r.stage.id, role: isInteractive ? "button" : undefined, tabIndex: isInteractive ? 0 : undefined, "aria-label": `${name}: ${r.value}`, onClick: isInteractive
220
+ ? (event) => {
221
+ handler(r.stage, event);
222
+ }
223
+ : undefined, onKeyDown: isInteractive
224
+ ? (event) => {
225
+ if (event.key === "Enter" || event.key === " ") {
226
+ event.preventDefault();
227
+ handler(r.stage, event);
228
+ }
229
+ }
230
+ : undefined, className: cn("transition-opacity", r.fillClass, isInteractive &&
231
+ "cursor-pointer hover:opacity-80 focus:outline-none focus-visible:opacity-80", r.stage.className) }, r.stage.id));
232
+ })), hasLabelGutter && resolved.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "funnel-chart-stage-labels", className: "pointer-events-none select-none", children: resolved.map((r, index) => {
233
+ const context = contextFor(r, index);
234
+ const name = showStageLabels
235
+ ? stageLabelFormatter
236
+ ? stageLabelFormatter(context)
237
+ : (r.stage.label ?? r.stage.id)
238
+ : null;
239
+ const value = showValueLabels
240
+ ? (valueLabelFormatter ?? defaultValueLabel)(context)
241
+ : null;
242
+ if (!name && !value)
243
+ return null;
244
+ // Two stacked lines: the name, then the value underneath it.
245
+ const bothLines = Boolean(name) && Boolean(value);
246
+ const anchor = isHorizontal ? "middle" : "end";
247
+ return (_jsxs("g", { children: [name ? (_jsx("text", { x: r.labelX, y: r.labelY, dy: bothLines && !isHorizontal ? "-0.25em" : 0, textAnchor: anchor, dominantBaseline: isHorizontal ? "auto" : "central", className: cn("fill-foreground font-medium", stageLabelClassName), children: name })) : null, value ? (_jsx("text", { x: r.labelX, y: r.labelY, dy: bothLines ? "1.25em" : isHorizontal ? 0 : "0.35em", textAnchor: anchor, dominantBaseline: isHorizontal ? "auto" : "central", className: cn("fill-muted-foreground tabular-nums", valueLabelClassName), children: value })) : null] }, `${r.stage.id}-label`));
248
+ }) })) : null, showConversion && resolved.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "funnel-chart-conversion-labels", className: "pointer-events-none select-none", children: resolved.map((r, index) => {
249
+ const text = (conversionLabelFormatter ?? defaultConversionLabel)(contextFor(r, index));
250
+ if (text === null || text === "")
251
+ return null;
252
+ return (_jsx("text", { x: r.conversionX, y: r.conversionY, textAnchor: isHorizontal ? "middle" : "start", dominantBaseline: isHorizontal ? "auto" : "central", className: cn("fill-muted-foreground tabular-nums", conversionLabelClassName), children: text }, `${r.stage.id}-conv`));
253
+ }) })) : null] }), children ? (_jsx("div", { className: cn("pointer-events-none absolute inset-0 flex items-center justify-center text-center", overlayClassName), children: children })) : null] }));
254
+ }
255
+ FunnelChart.displayName = "FunnelChart";
256
+ export { FunnelChart };
257
+ //# sourceMappingURL=funnel-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funnel-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/funnel-chart/funnel-chart.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { FunnelChart, funnelChartVariants, funnelChartSizeIds, funnelChartOrientationIds, funnelChartStageColorIds, funnelChartConversionModeIds, } from "./funnel-chart";
2
+ export type * from "./funnel-chart";
3
+ export { FunnelChart as default } from "./funnel-chart";
@@ -0,0 +1,3 @@
1
+ export { FunnelChart, funnelChartVariants, funnelChartSizeIds, funnelChartOrientationIds, funnelChartStageColorIds, funnelChartConversionModeIds, } from "./funnel-chart";
2
+ export { FunnelChart as default } from "./funnel-chart";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/funnel-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -196,6 +196,8 @@ export * from "./line-chart";
196
196
  export type * from "./line-chart";
197
197
  export * from "./radar-chart";
198
198
  export type * from "./radar-chart";
199
+ export * from "./funnel-chart";
200
+ export type * from "./funnel-chart";
199
201
  export * from "./scatter-plot";
200
202
  export type * from "./scatter-plot";
201
203
  export * from "./comparison-slider";
@@ -97,6 +97,7 @@ export * from "./pie-chart";
97
97
  export * from "./bar-chart";
98
98
  export * from "./line-chart";
99
99
  export * from "./radar-chart";
100
+ export * from "./funnel-chart";
100
101
  export * from "./scatter-plot";
101
102
  export * from "./comparison-slider";
102
103
  export * from "./theme-selector";
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemavaults/ui",
3
- "version": "0.107.0",
3
+ "version": "0.108.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "React.js UI components for SchemaVaults frontend applications",