@schemavaults/ui 0.40.0 → 0.42.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,55 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const calendarHeatmapColorIds: ["default", "primary", "positive", "warning", "destructive"];
4
+ export type CalendarHeatmapColorId = (typeof calendarHeatmapColorIds)[number];
5
+ export declare const calendarHeatmapSizeIds: ["sm", "md", "lg"];
6
+ export type CalendarHeatmapSizeId = (typeof calendarHeatmapSizeIds)[number];
7
+ export type CalendarHeatmapWeekStart = 0 | 1;
8
+ export interface CalendarHeatmapValue {
9
+ /** The day this value applies to. May be a Date or an ISO `yyyy-mm-dd` string. */
10
+ date: Date | string;
11
+ /** Numeric activity level for the day. */
12
+ count: number;
13
+ }
14
+ declare const calendarHeatmapVariants: (props?: ({
15
+ size?: "sm" | "lg" | "md" | null | undefined;
16
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
17
+ export interface CalendarHeatmapProps extends Omit<HTMLAttributes<HTMLDivElement>, "color">, VariantProps<typeof calendarHeatmapVariants> {
18
+ /** First day shown (inclusive). */
19
+ startDate: Date | string;
20
+ /** Last day shown (inclusive). */
21
+ endDate: Date | string;
22
+ /** Activity values keyed by date. Days not provided are treated as 0. */
23
+ values?: ReadonlyArray<CalendarHeatmapValue>;
24
+ /** Cell color theme. */
25
+ color?: CalendarHeatmapColorId;
26
+ /** First day of the week (0=Sun, 1=Mon). Defaults to Sunday. */
27
+ weekStart?: CalendarHeatmapWeekStart;
28
+ /** Show short weekday labels along the left edge. Defaults to true. */
29
+ showWeekdayLabels?: boolean;
30
+ /** Show month labels above the grid. Defaults to true. */
31
+ showMonthLabels?: boolean;
32
+ /** Show the "Less / More" intensity legend. Defaults to true. */
33
+ showLegend?: boolean;
34
+ /**
35
+ * Custom thresholds for the four non-zero intensity levels (ascending).
36
+ * If omitted, thresholds are inferred from the dataset's quartiles.
37
+ */
38
+ thresholds?: ReadonlyArray<number>;
39
+ /** Accessible label describing what the heatmap represents. */
40
+ label: string;
41
+ /** Override the per-cell tooltip text. */
42
+ tooltipText?: (date: Date, count: number) => string;
43
+ /**
44
+ * Slot rendered to the right of the legend (e.g. a date range hint).
45
+ * Useful for composing footers.
46
+ */
47
+ legendExtra?: ReactNode;
48
+ ref?: Ref<HTMLDivElement>;
49
+ }
50
+ declare function CalendarHeatmap({ startDate, endDate, values, color, size, weekStart, showWeekdayLabels, showMonthLabels, showLegend, thresholds: thresholdsProp, label, tooltipText, legendExtra, className, ref, ...props }: CalendarHeatmapProps): ReactElement;
51
+ declare namespace CalendarHeatmap {
52
+ var displayName: string;
53
+ }
54
+ export { CalendarHeatmap, calendarHeatmapVariants };
55
+ export default CalendarHeatmap;
@@ -0,0 +1,279 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { useMemo } from "react";
5
+ import { cn } from "../../../lib/utils";
6
+ export const calendarHeatmapColorIds = [
7
+ "default",
8
+ "primary",
9
+ "positive",
10
+ "warning",
11
+ "destructive",
12
+ ];
13
+ export const calendarHeatmapSizeIds = [
14
+ "sm",
15
+ "md",
16
+ "lg",
17
+ ];
18
+ const SIZE_TO_DIMENSIONS = {
19
+ sm: { cell: 9, gap: 2, radius: 1.5, fontSize: 9 },
20
+ md: { cell: 12, gap: 3, radius: 2, fontSize: 10 },
21
+ lg: { cell: 16, gap: 4, radius: 3, fontSize: 11 },
22
+ };
23
+ const calendarHeatmapVariants = cva("inline-flex w-fit min-w-0 max-w-full flex-col gap-2 text-foreground", {
24
+ variants: {
25
+ size: {
26
+ sm: "text-xs",
27
+ md: "text-xs",
28
+ lg: "text-sm",
29
+ },
30
+ },
31
+ defaultVariants: {
32
+ size: "md",
33
+ },
34
+ });
35
+ /**
36
+ * Per-color level → Tailwind class lookup. Classes are written in full so that
37
+ * Tailwind's content scanner picks them up — never build them via interpolation.
38
+ * Level 0 is the empty/no-activity cell.
39
+ */
40
+ const COLOR_LEVEL_CLASSES = {
41
+ default: {
42
+ 0: "bg-muted/40 dark:bg-muted/30",
43
+ 1: "bg-schemavaults-brand-blue/20",
44
+ 2: "bg-schemavaults-brand-blue/40",
45
+ 3: "bg-schemavaults-brand-blue/65",
46
+ 4: "bg-schemavaults-brand-blue",
47
+ },
48
+ primary: {
49
+ 0: "bg-muted/40 dark:bg-muted/30",
50
+ 1: "bg-primary/20",
51
+ 2: "bg-primary/40",
52
+ 3: "bg-primary/65",
53
+ 4: "bg-primary",
54
+ },
55
+ positive: {
56
+ 0: "bg-muted/40 dark:bg-muted/30",
57
+ 1: "bg-emerald-500/20 dark:bg-emerald-400/20",
58
+ 2: "bg-emerald-500/40 dark:bg-emerald-400/40",
59
+ 3: "bg-emerald-500/65 dark:bg-emerald-400/65",
60
+ 4: "bg-emerald-500 dark:bg-emerald-400",
61
+ },
62
+ warning: {
63
+ 0: "bg-muted/40 dark:bg-muted/30",
64
+ 1: "bg-warning/20",
65
+ 2: "bg-warning/40",
66
+ 3: "bg-warning/65",
67
+ 4: "bg-warning",
68
+ },
69
+ destructive: {
70
+ 0: "bg-muted/40 dark:bg-muted/30",
71
+ 1: "bg-destructive/20",
72
+ 2: "bg-destructive/40",
73
+ 3: "bg-destructive/65",
74
+ 4: "bg-destructive",
75
+ },
76
+ };
77
+ const ISO_DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
78
+ function parseToUtcDay(input) {
79
+ if (input instanceof Date) {
80
+ return new Date(Date.UTC(input.getFullYear(), input.getMonth(), input.getDate()));
81
+ }
82
+ if (ISO_DATE_RE.test(input)) {
83
+ const [yStr, mStr, dStr] = input.split("-");
84
+ return new Date(Date.UTC(Number(yStr), Number(mStr) - 1, Number(dStr)));
85
+ }
86
+ const parsed = new Date(input);
87
+ return new Date(Date.UTC(parsed.getUTCFullYear(), parsed.getUTCMonth(), parsed.getUTCDate()));
88
+ }
89
+ function toIsoDay(date) {
90
+ const y = String(date.getUTCFullYear()).padStart(4, "0");
91
+ const m = String(date.getUTCMonth() + 1).padStart(2, "0");
92
+ const d = String(date.getUTCDate()).padStart(2, "0");
93
+ return `${y}-${m}-${d}`;
94
+ }
95
+ function addUtcDays(date, n) {
96
+ const next = new Date(date);
97
+ next.setUTCDate(next.getUTCDate() + n);
98
+ return next;
99
+ }
100
+ function diffInDaysUtc(a, b) {
101
+ const ms = a.getTime() - b.getTime();
102
+ return Math.round(ms / 86_400_000);
103
+ }
104
+ function startOfWeekUtc(date, weekStart) {
105
+ const dow = date.getUTCDay();
106
+ const offset = (dow - weekStart + 7) % 7;
107
+ return addUtcDays(date, -offset);
108
+ }
109
+ function defaultThresholds(values) {
110
+ if (values.length === 0)
111
+ return [1, 2, 3, 4];
112
+ const positives = values.filter((v) => v > 0).sort((a, b) => a - b);
113
+ if (positives.length === 0)
114
+ return [1, 2, 3, 4];
115
+ const max = positives[positives.length - 1];
116
+ if (max <= 4) {
117
+ return [1, 2, 3, 4];
118
+ }
119
+ // Quartile-based thresholds across positive values.
120
+ const q = (p) => {
121
+ const idx = Math.min(positives.length - 1, Math.max(0, Math.floor(p * (positives.length - 1))));
122
+ return Math.max(1, Math.ceil(positives[idx]));
123
+ };
124
+ const t1 = Math.max(1, q(0.25));
125
+ const t2 = Math.max(t1 + 1, q(0.5));
126
+ const t3 = Math.max(t2 + 1, q(0.75));
127
+ const t4 = Math.max(t3 + 1, max);
128
+ return [t1, t2, t3, t4];
129
+ }
130
+ function levelForCount(count, thresholds) {
131
+ if (count <= 0)
132
+ return 0;
133
+ if (count >= thresholds[3])
134
+ return 4;
135
+ if (count >= thresholds[2])
136
+ return 3;
137
+ if (count >= thresholds[1])
138
+ return 2;
139
+ if (count >= thresholds[0])
140
+ return 1;
141
+ return 1;
142
+ }
143
+ const MONTH_LABELS = [
144
+ "Jan",
145
+ "Feb",
146
+ "Mar",
147
+ "Apr",
148
+ "May",
149
+ "Jun",
150
+ "Jul",
151
+ "Aug",
152
+ "Sep",
153
+ "Oct",
154
+ "Nov",
155
+ "Dec",
156
+ ];
157
+ const WEEKDAY_LABELS = [
158
+ "Sun",
159
+ "Mon",
160
+ "Tue",
161
+ "Wed",
162
+ "Thu",
163
+ "Fri",
164
+ "Sat",
165
+ ];
166
+ function defaultTooltipText(date, count) {
167
+ const iso = toIsoDay(date);
168
+ if (count <= 0)
169
+ return `${iso}: No activity`;
170
+ if (count === 1)
171
+ return `${iso}: 1 contribution`;
172
+ return `${iso}: ${count.toLocaleString()} contributions`;
173
+ }
174
+ function CalendarHeatmap({ startDate, endDate, values = [], color = "default", size = "md", weekStart = 0, showWeekdayLabels = true, showMonthLabels = true, showLegend = true, thresholds: thresholdsProp, label, tooltipText = defaultTooltipText, legendExtra, className, ref, ...props }) {
175
+ const resolvedSize = size ?? "md";
176
+ const dims = SIZE_TO_DIMENSIONS[resolvedSize];
177
+ const start = parseToUtcDay(startDate);
178
+ const end = parseToUtcDay(endDate);
179
+ const valueMap = useMemo(() => {
180
+ const map = new Map();
181
+ for (const v of values) {
182
+ const day = parseToUtcDay(v.date);
183
+ map.set(toIsoDay(day), (map.get(toIsoDay(day)) ?? 0) + v.count);
184
+ }
185
+ return map;
186
+ }, [values]);
187
+ const thresholds = useMemo(() => {
188
+ if (thresholdsProp && thresholdsProp.length === 4) {
189
+ return [...thresholdsProp].sort((a, b) => a - b);
190
+ }
191
+ return defaultThresholds(Array.from(valueMap.values()));
192
+ }, [thresholdsProp, valueMap]);
193
+ const weeks = useMemo(() => {
194
+ if (end.getTime() < start.getTime())
195
+ return [];
196
+ const gridStart = startOfWeekUtc(start, weekStart);
197
+ const gridEnd = addUtcDays(startOfWeekUtc(end, weekStart), 6);
198
+ const totalDays = diffInDaysUtc(gridEnd, gridStart) + 1;
199
+ const totalWeeks = Math.ceil(totalDays / 7);
200
+ let lastMonthSeen = -1;
201
+ const out = [];
202
+ for (let w = 0; w < totalWeeks; w += 1) {
203
+ const days = [];
204
+ let firstInRangeMonth = null;
205
+ for (let d = 0; d < 7; d += 1) {
206
+ const cellDate = addUtcDays(gridStart, w * 7 + d);
207
+ const inRange = cellDate.getTime() >= start.getTime() &&
208
+ cellDate.getTime() <= end.getTime();
209
+ const iso = toIsoDay(cellDate);
210
+ const count = inRange ? (valueMap.get(iso) ?? 0) : 0;
211
+ const level = inRange
212
+ ? levelForCount(count, thresholds)
213
+ : 0;
214
+ days.push({ date: cellDate, inRange, count, level });
215
+ if (inRange && firstInRangeMonth === null) {
216
+ firstInRangeMonth = cellDate.getUTCMonth();
217
+ }
218
+ }
219
+ let monthLabel = null;
220
+ if (firstInRangeMonth !== null && firstInRangeMonth !== lastMonthSeen) {
221
+ monthLabel = MONTH_LABELS[firstInRangeMonth] ?? null;
222
+ lastMonthSeen = firstInRangeMonth;
223
+ }
224
+ out.push({ days, monthLabel });
225
+ }
226
+ return out;
227
+ }, [start, end, weekStart, valueMap, thresholds]);
228
+ const orderedWeekdayLabels = useMemo(() => {
229
+ const out = [];
230
+ for (let i = 0; i < 7; i += 1) {
231
+ out.push(WEEKDAY_LABELS[(weekStart + i) % 7]);
232
+ }
233
+ return out;
234
+ }, [weekStart]);
235
+ const colorLevels = COLOR_LEVEL_CLASSES[color];
236
+ const cellPx = dims.cell;
237
+ const gapPx = dims.gap;
238
+ const radiusPx = dims.radius;
239
+ const monthRowHeight = showMonthLabels ? dims.fontSize + 6 : 0;
240
+ const weekdayLabelWidth = showWeekdayLabels ? 28 : 0;
241
+ return (_jsxs("div", { ref: ref, role: "figure", "aria-label": label, "data-slot": "calendar-heatmap", "data-color": color, "data-size": resolvedSize, className: cn(calendarHeatmapVariants({ size }), className), ...props, children: [_jsxs("div", { className: "flex max-w-full min-w-0 overflow-x-auto", style: { gap: gapPx }, "data-slot": "calendar-heatmap-scroll", children: [showWeekdayLabels ? (_jsx("div", { "aria-hidden": "true", className: "flex flex-col text-muted-foreground tabular-nums", style: {
242
+ width: weekdayLabelWidth,
243
+ gap: gapPx,
244
+ paddingTop: monthRowHeight,
245
+ fontSize: dims.fontSize,
246
+ lineHeight: `${cellPx}px`,
247
+ }, children: orderedWeekdayLabels.map((dayLabel, idx) => (_jsx("div", { style: { height: cellPx }, className: cn(
248
+ // GitHub convention: only show labels for alternating rows
249
+ // (Mon, Wed, Fri) to avoid visual noise.
250
+ idx % 2 === 0 ? "opacity-0" : "opacity-100"), children: dayLabel }, `${dayLabel}-${idx}`))) })) : null, _jsx("div", { className: "flex", style: { gap: gapPx }, "data-slot": "calendar-heatmap-grid", children: weeks.map((week, wIdx) => (_jsxs("div", { className: "flex flex-col", style: { gap: gapPx }, "data-slot": "calendar-heatmap-week", children: [showMonthLabels ? (_jsx("div", { "aria-hidden": "true", className: "text-muted-foreground", style: {
251
+ height: monthRowHeight,
252
+ fontSize: dims.fontSize,
253
+ lineHeight: `${monthRowHeight}px`,
254
+ minWidth: cellPx,
255
+ }, children: week.monthLabel ?? "" })) : null, week.days.map((day, dIdx) => {
256
+ if (!day.inRange) {
257
+ return (_jsx("div", { "aria-hidden": "true", style: {
258
+ width: cellPx,
259
+ height: cellPx,
260
+ borderRadius: radiusPx,
261
+ } }, dIdx));
262
+ }
263
+ const cellClass = colorLevels[day.level];
264
+ const tooltip = tooltipText(day.date, day.count);
265
+ return (_jsx("div", { role: "gridcell", "aria-label": tooltip, title: tooltip, "data-slot": "calendar-heatmap-cell", "data-date": toIsoDay(day.date), "data-count": day.count, "data-level": day.level, className: cn("transition-colors", "ring-1 ring-inset ring-border/40", cellClass), style: {
266
+ width: cellPx,
267
+ height: cellPx,
268
+ borderRadius: radiusPx,
269
+ } }, dIdx));
270
+ })] }, wIdx))) })] }), showLegend ? (_jsxs("div", { className: "flex items-center justify-end gap-2 text-muted-foreground", style: { fontSize: dims.fontSize }, "data-slot": "calendar-heatmap-legend", children: [legendExtra ? (_jsx("span", { className: "mr-auto", children: legendExtra })) : null, _jsx("span", { children: "Less" }), _jsx("div", { className: "flex", style: { gap: gapPx }, children: [0, 1, 2, 3, 4].map((lvl) => (_jsx("div", { "aria-hidden": "true", className: cn("ring-1 ring-inset ring-border/40", colorLevels[lvl]), style: {
271
+ width: cellPx,
272
+ height: cellPx,
273
+ borderRadius: radiusPx,
274
+ } }, lvl))) }), _jsx("span", { children: "More" })] })) : null] }));
275
+ }
276
+ CalendarHeatmap.displayName = "CalendarHeatmap";
277
+ export { CalendarHeatmap, calendarHeatmapVariants };
278
+ export default CalendarHeatmap;
279
+ //# sourceMappingURL=calendar-heatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-heatmap.js","sourceRoot":"","sources":["../../../../src/components/ui/calendar-heatmap/calendar-heatmap.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { CalendarHeatmap, CalendarHeatmap as default, calendarHeatmapVariants, calendarHeatmapColorIds, calendarHeatmapSizeIds, } from "./calendar-heatmap";
2
+ export type { CalendarHeatmapProps, CalendarHeatmapValue, CalendarHeatmapColorId, CalendarHeatmapSizeId, CalendarHeatmapWeekStart, } from "./calendar-heatmap";
@@ -0,0 +1,2 @@
1
+ export { CalendarHeatmap, CalendarHeatmap as default, calendarHeatmapVariants, calendarHeatmapColorIds, calendarHeatmapSizeIds, } from "./calendar-heatmap";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/calendar-heatmap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,IAAI,OAAO,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC"}
@@ -146,3 +146,7 @@ export * from "./aspect-ratio";
146
146
  export type * from "./aspect-ratio";
147
147
  export * from "./color-swatch";
148
148
  export type * from "./color-swatch";
149
+ export * from "./calendar-heatmap";
150
+ export type * from "./calendar-heatmap";
151
+ export * from "./pie-chart";
152
+ export type * from "./pie-chart";
@@ -72,4 +72,6 @@ export * from "./number-ticker";
72
72
  export * from "./sparkline";
73
73
  export * from "./aspect-ratio";
74
74
  export * from "./color-swatch";
75
+ export * from "./calendar-heatmap";
76
+ export * from "./pie-chart";
75
77
  //# 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,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;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,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;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { PieChart, pieChartVariants, pieChartSizeIds, pieChartSegmentColorIds, } from "./pie-chart";
2
+ export type * from "./pie-chart";
3
+ export { PieChart as default } from "./pie-chart";
@@ -0,0 +1,3 @@
1
+ export { PieChart, pieChartVariants, pieChartSizeIds, pieChartSegmentColorIds, } from "./pie-chart";
2
+ export { PieChart as default } from "./pie-chart";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/pie-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, KeyboardEvent, MouseEvent, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const pieChartSizeIds: ["sm", "md", "lg", "xl"];
4
+ export type PieChartSizeId = (typeof pieChartSizeIds)[number];
5
+ export declare const pieChartSegmentColorIds: ["default", "primary", "positive", "warning", "destructive", "muted"];
6
+ export type PieChartSegmentColorId = (typeof pieChartSegmentColorIds)[number];
7
+ export declare const pieChartVariants: (props?: ({
8
+ size?: "sm" | "lg" | "xl" | "md" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ export interface PieChartSegment {
11
+ /** Stable identifier for the segment. Used as React key and click payload. */
12
+ id: string;
13
+ /**
14
+ * Relative size of the segment. Segment angle is `value / sum(values)`.
15
+ * Non-positive values are skipped.
16
+ */
17
+ value: number;
18
+ /** Optional human-readable label exposed via `aria-label` and tooltips. */
19
+ label?: string;
20
+ /** Preset color id from the chart palette. Ignored if `fill` is provided. */
21
+ color?: PieChartSegmentColorId;
22
+ /**
23
+ * Override the fill with a raw CSS color (e.g. `"#ff0080"` or
24
+ * `"hsl(var(--chart-1))"`). Takes precedence over `color`.
25
+ */
26
+ fill?: string;
27
+ /** Extra classes applied to this segment's `<path>`. */
28
+ className?: string;
29
+ /** Fired when this segment is clicked or activated via keyboard. */
30
+ onClick?: (segment: PieChartSegment, event: MouseEvent<SVGPathElement> | KeyboardEvent<SVGPathElement>) => void;
31
+ }
32
+ export interface PieChartProps extends Omit<HTMLAttributes<HTMLDivElement>, "onClick">, VariantProps<typeof pieChartVariants> {
33
+ /** Segments to render, in order (clockwise from 12 o'clock). */
34
+ segments: ReadonlyArray<PieChartSegment>;
35
+ /** Accessible label describing what the chart represents. */
36
+ label: string;
37
+ /**
38
+ * Inner radius as a fraction of the outer radius (0–1). `0` is a solid pie,
39
+ * values like `0.55` produce a donut. Defaults to `0`.
40
+ */
41
+ innerRadius?: number;
42
+ /** Override the rendered diameter in pixels (defaults are size-aware). */
43
+ diameter?: number;
44
+ /**
45
+ * Width of the divider stroke between segments. Defaults to `1`. Set to `0`
46
+ * to remove the divider.
47
+ */
48
+ segmentGap?: number;
49
+ /**
50
+ * Fallback handler invoked for any segment that doesn't have its own
51
+ * `onClick`. Receives the clicked segment.
52
+ */
53
+ onSegmentClick?: (segment: PieChartSegment, event: MouseEvent<SVGPathElement> | KeyboardEvent<SVGPathElement>) => void;
54
+ /** Optional content rendered in the center of the chart (useful for donuts). */
55
+ children?: ReactNode;
56
+ /** Extra classes for the centered content wrapper. */
57
+ centerClassName?: string;
58
+ /**
59
+ * When true, renders each segment's `label` inside the slice. Use
60
+ * `segmentLabelFormatter` to customize the displayed string (e.g. show a
61
+ * percentage instead of the raw label).
62
+ */
63
+ showSegmentLabels?: boolean;
64
+ /**
65
+ * Customize the in-segment label text. Return `null` to skip a segment.
66
+ * Defaults to `segment.label ?? segment.id`.
67
+ */
68
+ segmentLabelFormatter?: (params: {
69
+ segment: PieChartSegment;
70
+ value: number;
71
+ /** Share of the total, in the range 0–1. */
72
+ fraction: number;
73
+ /** Share of the total, in the range 0–100. */
74
+ percentage: number;
75
+ index: number;
76
+ }) => string | null;
77
+ /**
78
+ * Minimum segment sweep (in radians) required to render its label. Smaller
79
+ * segments are skipped to avoid overlap. Defaults to ~11.5° (0.2 rad).
80
+ */
81
+ minSegmentLabelAngle?: number;
82
+ /** Extra classes applied to every segment-label `<text>` element. */
83
+ segmentLabelClassName?: string;
84
+ /** Optional ref forwarded to the wrapper element. */
85
+ ref?: Ref<HTMLDivElement>;
86
+ }
87
+ declare function PieChart({ segments, label, size, innerRadius, diameter, segmentGap, onSegmentClick, children, className, centerClassName, showSegmentLabels, segmentLabelFormatter, minSegmentLabelAngle, segmentLabelClassName, ref, ...props }: PieChartProps): ReactElement;
88
+ declare namespace PieChart {
89
+ var displayName: string;
90
+ }
91
+ export { PieChart };
@@ -0,0 +1,192 @@
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 pieChartSizeIds = [
7
+ "sm",
8
+ "md",
9
+ "lg",
10
+ "xl",
11
+ ];
12
+ export const pieChartSegmentColorIds = [
13
+ "default",
14
+ "primary",
15
+ "positive",
16
+ "warning",
17
+ "destructive",
18
+ "muted",
19
+ ];
20
+ const SIZE_TO_PIXELS = {
21
+ sm: 96,
22
+ md: 160,
23
+ lg: 224,
24
+ xl: 320,
25
+ };
26
+ const SEGMENT_FILL_CLASSES = {
27
+ default: "fill-schemavaults-brand-blue",
28
+ primary: "fill-primary",
29
+ positive: "fill-emerald-500 dark:fill-emerald-400",
30
+ warning: "fill-warning",
31
+ destructive: "fill-destructive",
32
+ muted: "fill-muted-foreground",
33
+ };
34
+ /**
35
+ * Fallback color rotation when a segment doesn't specify its own color. Index
36
+ * is the segment position in the input array, modulo the palette length.
37
+ */
38
+ const DEFAULT_COLOR_ROTATION = [
39
+ "default",
40
+ "positive",
41
+ "warning",
42
+ "destructive",
43
+ "primary",
44
+ "muted",
45
+ ];
46
+ export const pieChartVariants = cva("relative inline-flex shrink-0 items-center justify-center", {
47
+ variants: {
48
+ size: {
49
+ sm: "h-24 w-24",
50
+ md: "h-40 w-40",
51
+ lg: "h-56 w-56",
52
+ xl: "h-80 w-80",
53
+ },
54
+ },
55
+ defaultVariants: {
56
+ size: "md",
57
+ },
58
+ });
59
+ /** Convert a polar coordinate (angle in radians, measured from 12 o'clock,
60
+ * clockwise) into an SVG cartesian point. */
61
+ function polarToCartesian(cx, cy, radius, angle) {
62
+ // -π/2 rotates so 0 rad sits at the top of the circle.
63
+ const a = angle - Math.PI / 2;
64
+ return [cx + radius * Math.cos(a), cy + radius * Math.sin(a)];
65
+ }
66
+ function buildSegmentPath(cx, cy, outerRadius, innerRadius, startAngle, endAngle) {
67
+ const sweep = endAngle - startAngle;
68
+ const largeArc = sweep > Math.PI ? 1 : 0;
69
+ // Full-circle case: SVG arcs can't span 360°, so render as two half-arcs
70
+ // (or two annular halves for the donut case).
71
+ if (sweep >= Math.PI * 2 - 1e-6) {
72
+ const [oTopX, oTopY] = polarToCartesian(cx, cy, outerRadius, 0);
73
+ const [oBotX, oBotY] = polarToCartesian(cx, cy, outerRadius, Math.PI);
74
+ if (innerRadius <= 0) {
75
+ return [
76
+ `M ${oTopX} ${oTopY}`,
77
+ `A ${outerRadius} ${outerRadius} 0 1 1 ${oBotX} ${oBotY}`,
78
+ `A ${outerRadius} ${outerRadius} 0 1 1 ${oTopX} ${oTopY}`,
79
+ "Z",
80
+ ].join(" ");
81
+ }
82
+ const [iTopX, iTopY] = polarToCartesian(cx, cy, innerRadius, 0);
83
+ const [iBotX, iBotY] = polarToCartesian(cx, cy, innerRadius, Math.PI);
84
+ return [
85
+ `M ${oTopX} ${oTopY}`,
86
+ `A ${outerRadius} ${outerRadius} 0 1 1 ${oBotX} ${oBotY}`,
87
+ `A ${outerRadius} ${outerRadius} 0 1 1 ${oTopX} ${oTopY}`,
88
+ `M ${iTopX} ${iTopY}`,
89
+ `A ${innerRadius} ${innerRadius} 0 1 0 ${iBotX} ${iBotY}`,
90
+ `A ${innerRadius} ${innerRadius} 0 1 0 ${iTopX} ${iTopY}`,
91
+ "Z",
92
+ ].join(" ");
93
+ }
94
+ const [oStartX, oStartY] = polarToCartesian(cx, cy, outerRadius, startAngle);
95
+ const [oEndX, oEndY] = polarToCartesian(cx, cy, outerRadius, endAngle);
96
+ if (innerRadius <= 0) {
97
+ return [
98
+ `M ${cx} ${cy}`,
99
+ `L ${oStartX} ${oStartY}`,
100
+ `A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${oEndX} ${oEndY}`,
101
+ "Z",
102
+ ].join(" ");
103
+ }
104
+ const [iStartX, iStartY] = polarToCartesian(cx, cy, innerRadius, endAngle);
105
+ const [iEndX, iEndY] = polarToCartesian(cx, cy, innerRadius, startAngle);
106
+ return [
107
+ `M ${oStartX} ${oStartY}`,
108
+ `A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${oEndX} ${oEndY}`,
109
+ `L ${iStartX} ${iStartY}`,
110
+ `A ${innerRadius} ${innerRadius} 0 ${largeArc} 0 ${iEndX} ${iEndY}`,
111
+ "Z",
112
+ ].join(" ");
113
+ }
114
+ function PieChart({ segments, label, size, innerRadius, diameter, segmentGap = 1, onSegmentClick, children, className, centerClassName, showSegmentLabels = false, segmentLabelFormatter, minSegmentLabelAngle = 0.2, segmentLabelClassName, ref, ...props }) {
115
+ const resolvedSize = size ?? "md";
116
+ const pixelSize = diameter ?? SIZE_TO_PIXELS[resolvedSize];
117
+ const cx = pixelSize / 2;
118
+ const cy = pixelSize / 2;
119
+ const outerRadius = pixelSize / 2;
120
+ const innerR = Math.max(0, Math.min(0.95, innerRadius ?? 0) * outerRadius);
121
+ const titleId = useId();
122
+ const validSegments = segments.filter((s) => s.value > 0 && Number.isFinite(s.value));
123
+ const total = validSegments.reduce((acc, s) => acc + s.value, 0);
124
+ const resolved = (() => {
125
+ if (total <= 0)
126
+ return [];
127
+ let angle = 0;
128
+ return validSegments.map((segment, index) => {
129
+ const sweep = (segment.value / total) * Math.PI * 2;
130
+ const startAngle = angle;
131
+ const endAngle = angle + sweep;
132
+ angle = endAngle;
133
+ const presetColor = segment.color ??
134
+ DEFAULT_COLOR_ROTATION[index % DEFAULT_COLOR_ROTATION.length];
135
+ const fillClass = segment.fill
136
+ ? undefined
137
+ : SEGMENT_FILL_CLASSES[presetColor];
138
+ return {
139
+ segment,
140
+ startAngle,
141
+ endAngle,
142
+ fillClass,
143
+ fill: segment.fill,
144
+ };
145
+ });
146
+ })();
147
+ return (_jsxs("div", { ref: ref, role: "img", "aria-labelledby": titleId, "data-slot": "pie-chart", className: cn(pieChartVariants({ size }), className), style: { width: pixelSize, height: pixelSize }, ...props, children: [_jsxs("svg", { width: pixelSize, height: pixelSize, viewBox: `0 0 ${pixelSize} ${pixelSize}`, "aria-hidden": children ? "true" : undefined, className: "h-full w-full overflow-visible", children: [_jsx("title", { id: titleId, children: label }), resolved.length === 0 ? (_jsx("circle", { cx: cx, cy: cy, r: outerRadius, className: "fill-muted/40 dark:fill-muted/30" })) : (resolved.map(({ segment, startAngle, endAngle, fillClass, fill }) => {
148
+ const d = buildSegmentPath(cx, cy, outerRadius, innerR, startAngle, endAngle);
149
+ const handler = segment.onClick ?? onSegmentClick;
150
+ const isInteractive = typeof handler === "function";
151
+ return (_jsx("path", { d: d, fill: fill, stroke: "hsl(var(--background))", strokeWidth: segmentGap, strokeLinejoin: "round", "data-segment-id": segment.id, role: isInteractive ? "button" : undefined, tabIndex: isInteractive ? 0 : undefined, "aria-label": segment.label ?? segment.id, onClick: isInteractive
152
+ ? (event) => {
153
+ handler(segment, event);
154
+ }
155
+ : undefined, onKeyDown: isInteractive
156
+ ? (event) => {
157
+ if (event.key === "Enter" || event.key === " ") {
158
+ event.preventDefault();
159
+ handler(segment, event);
160
+ }
161
+ }
162
+ : undefined, className: cn("transition-opacity", fillClass, isInteractive &&
163
+ "cursor-pointer hover:opacity-80 focus:outline-none focus-visible:opacity-80", segment.className) }, segment.id));
164
+ })), showSegmentLabels && resolved.length > 0 ? (_jsx("g", { "aria-hidden": "true", "data-slot": "pie-chart-segment-labels", className: "pointer-events-none select-none", children: resolved.map(({ segment, startAngle, endAngle }, index) => {
165
+ const sweep = endAngle - startAngle;
166
+ if (sweep < minSegmentLabelAngle)
167
+ return null;
168
+ const value = segment.value;
169
+ const fraction = value / total;
170
+ const percentage = fraction * 100;
171
+ const text = segmentLabelFormatter
172
+ ? segmentLabelFormatter({
173
+ segment,
174
+ value,
175
+ fraction,
176
+ percentage,
177
+ index,
178
+ })
179
+ : (segment.label ?? segment.id);
180
+ if (text === null || text === "")
181
+ return null;
182
+ const midAngle = (startAngle + endAngle) / 2;
183
+ const labelRadius = innerR > 0
184
+ ? (innerR + outerRadius) / 2
185
+ : outerRadius * 0.65;
186
+ const [lx, ly] = polarToCartesian(cx, cy, labelRadius, midAngle);
187
+ return (_jsx("text", { x: lx, y: ly, textAnchor: "middle", dominantBaseline: "central", className: cn("fill-white text-[11px] font-medium [paint-order:stroke] [stroke:rgba(0,0,0,0.35)] [stroke-width:2px]", segmentLabelClassName), children: text }, `${segment.id}-label`));
188
+ }) })) : null] }), children ? (_jsx("div", { className: cn("pointer-events-none absolute inset-0 flex items-center justify-center text-center", centerClassName), children: children })) : null] }));
189
+ }
190
+ PieChart.displayName = "PieChart";
191
+ export { PieChart };
192
+ //# sourceMappingURL=pie-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pie-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/pie-chart/pie-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.40.0",
3
+ "version": "0.42.2",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "description": "React.js UI components for SchemaVaults frontend applications",