@alpic-ai/ui 0.0.0-staging.gcd4957c → 0.0.0-staging.gcd7c19c
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/accordion-card.d.mts +6 -28
- package/dist/components/accordion.d.mts +5 -20
- package/dist/components/alert.d.mts +9 -30
- package/dist/components/area-chart.d.mts +43 -0
- package/dist/components/area-chart.mjs +182 -0
- package/dist/components/attachment-tile.d.mts +1 -10
- package/dist/components/avatar.d.mts +8 -33
- package/dist/components/badge.d.mts +2 -11
- package/dist/components/bar-chart.d.mts +34 -0
- package/dist/components/bar-chart.mjs +238 -0
- package/dist/components/bar-list.d.mts +19 -0
- package/dist/components/bar-list.mjs +104 -0
- package/dist/components/breadcrumb.d.mts +10 -38
- package/dist/components/button.d.mts +6 -21
- package/dist/components/card.d.mts +9 -33
- package/dist/components/chart-card.d.mts +14 -0
- package/dist/components/chart-card.mjs +48 -0
- package/dist/components/chart-container.d.mts +15 -0
- package/dist/components/chart-container.mjs +37 -0
- package/dist/components/chart-legend.d.mts +14 -0
- package/dist/components/chart-legend.mjs +35 -0
- package/dist/components/chart-primitives.d.mts +69 -0
- package/dist/components/chart-primitives.mjs +134 -0
- package/dist/components/chart-tooltip.d.mts +23 -0
- package/dist/components/chart-tooltip.mjs +79 -0
- package/dist/components/checkbox.d.mts +2 -7
- package/dist/components/collapsible.d.mts +4 -12
- package/dist/components/combobox.d.mts +10 -47
- package/dist/components/command.d.mts +9 -34
- package/dist/components/copyable.d.mts +2 -10
- package/dist/components/description-list.d.mts +5 -19
- package/dist/components/dialog.d.mts +15 -49
- package/dist/components/donut-chart.d.mts +31 -0
- package/dist/components/donut-chart.mjs +187 -0
- package/dist/components/dropdown-menu.d.mts +18 -62
- package/dist/components/field.d.mts +14 -0
- package/dist/components/field.mjs +41 -0
- package/dist/components/form.d.mts +19 -102
- package/dist/components/form.mjs +9 -7
- package/dist/components/github-button.d.mts +1 -7
- package/dist/components/heatmap-chart.d.mts +32 -0
- package/dist/components/heatmap-chart.mjs +259 -0
- package/dist/components/input-group.d.mts +5 -19
- package/dist/components/input.d.mts +4 -18
- package/dist/components/input.mjs +27 -51
- package/dist/components/label.d.mts +2 -7
- package/dist/components/line-chart.d.mts +37 -0
- package/dist/components/line-chart.mjs +132 -0
- package/dist/components/page-loader.d.mts +1 -5
- package/dist/components/pagination.d.mts +3 -11
- package/dist/components/popover.d.mts +5 -18
- package/dist/components/radio-group.d.mts +3 -11
- package/dist/components/scroll-area.d.mts +3 -13
- package/dist/components/select-trigger-variants.d.mts +1 -3
- package/dist/components/select.d.mts +9 -37
- package/dist/components/separator.d.mts +2 -9
- package/dist/components/sheet.d.mts +11 -38
- package/dist/components/shimmer-text.d.mts +3 -7
- package/dist/components/sidebar.d.mts +34 -127
- package/dist/components/sidebar.mjs +11 -11
- package/dist/components/skeleton.d.mts +2 -9
- package/dist/components/skeleton.mjs +1 -1
- package/dist/components/sonner.d.mts +5 -13
- package/dist/components/spinner.d.mts +3 -17
- package/dist/components/stat.d.mts +28 -0
- package/dist/components/stat.mjs +124 -0
- package/dist/components/status-dot.d.mts +2 -10
- package/dist/components/switch.d.mts +2 -7
- package/dist/components/table.d.mts +13 -37
- package/dist/components/table.mjs +2 -2
- package/dist/components/tabs.d.mts +12 -43
- package/dist/components/tag.d.mts +3 -22
- package/dist/components/task-progress.d.mts +1 -9
- package/dist/components/textarea.d.mts +3 -14
- package/dist/components/textarea.mjs +19 -43
- package/dist/components/toggle-group.d.mts +4 -19
- package/dist/components/toggle-group.mjs +3 -3
- package/dist/components/tooltip-icon-button.d.mts +1 -3
- package/dist/components/tooltip.d.mts +5 -19
- package/dist/components/typography.d.mts +8 -22
- package/dist/components/wizard.d.mts +4 -29
- package/dist/components/wizard.mjs +1 -19
- package/dist/hooks/use-chart-theme.d.mts +18 -0
- package/dist/hooks/use-chart-theme.mjs +57 -0
- package/dist/hooks/use-copy-to-clipboard.d.mts +1 -3
- package/dist/hooks/use-mobile.mjs +3 -3
- package/dist/lib/chart-palette.d.mts +38 -0
- package/dist/lib/chart-palette.mjs +116 -0
- package/dist/lib/chart.d.mts +19 -0
- package/dist/lib/chart.mjs +42 -0
- package/dist/lib/cn.d.mts +0 -1
- package/package.json +35 -30
- package/src/components/area-chart.tsx +228 -0
- package/src/components/bar-chart.tsx +297 -0
- package/src/components/bar-list.tsx +158 -0
- package/src/components/chart-card.tsx +65 -0
- package/src/components/chart-container.tsx +51 -0
- package/src/components/chart-legend.tsx +49 -0
- package/src/components/chart-primitives.tsx +188 -0
- package/src/components/chart-tooltip.tsx +109 -0
- package/src/components/donut-chart.tsx +214 -0
- package/src/components/field.tsx +57 -0
- package/src/components/form.tsx +4 -2
- package/src/components/heatmap-chart.tsx +375 -0
- package/src/components/input.tsx +3 -33
- package/src/components/line-chart.tsx +167 -0
- package/src/components/skeleton.tsx +1 -1
- package/src/components/stat.tsx +141 -0
- package/src/components/table.tsx +11 -2
- package/src/components/textarea.tsx +4 -34
- package/src/components/wizard.tsx +1 -35
- package/src/hooks/use-chart-theme.ts +75 -0
- package/src/lib/chart-palette.ts +113 -0
- package/src/lib/chart.ts +90 -0
- package/src/stories/area-chart.stories.tsx +200 -0
- package/src/stories/bar-chart.stories.tsx +169 -0
- package/src/stories/bar-list.stories.tsx +83 -0
- package/src/stories/donut-chart.stories.tsx +112 -0
- package/src/stories/heatmap-chart.stories.tsx +105 -0
- package/src/stories/line-chart.stories.tsx +146 -0
- package/src/stories/stat.stories.tsx +66 -0
- package/src/stories/textarea.stories.tsx +7 -0
- package/src/stories/wizard.stories.tsx +23 -5
- package/src/styles/tokens.css +18 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChartTheme } from "../hooks/use-chart-theme.mjs";
|
|
2
|
+
import { ChartSeries, ResolvedSeries } from "../lib/chart.mjs";
|
|
3
|
+
import { ChartMarker } from "./area-chart.mjs";
|
|
4
|
+
//#region src/components/chart-primitives.d.ts
|
|
5
|
+
type ReferenceLineConfig = {
|
|
6
|
+
y: number;
|
|
7
|
+
label?: string;
|
|
8
|
+
band?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type ChartData = ReadonlyArray<Record<string, string | number | null | undefined>>;
|
|
11
|
+
declare function makeChartAxis(theme: ChartTheme): {
|
|
12
|
+
stroke: string;
|
|
13
|
+
tick: {
|
|
14
|
+
fill: string;
|
|
15
|
+
fontSize: number;
|
|
16
|
+
fontFamily: string;
|
|
17
|
+
};
|
|
18
|
+
tickLine: false;
|
|
19
|
+
axisLine: {
|
|
20
|
+
stroke: string;
|
|
21
|
+
strokeOpacity: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
declare function makeLegendItems(resolved: ResolvedSeries[]): {
|
|
25
|
+
name: string;
|
|
26
|
+
color: string;
|
|
27
|
+
dashed: boolean | undefined;
|
|
28
|
+
}[];
|
|
29
|
+
/**
|
|
30
|
+
* Stacked series must reach the stack height (sum per x-point), not the tallest
|
|
31
|
+
* single series, or reference bands and explicit Y domains clip a tall stack short.
|
|
32
|
+
*/
|
|
33
|
+
declare function computeNumericMax(data: ChartData, series: ChartSeries[], stacked: boolean): number;
|
|
34
|
+
declare function makeActiveDot(entry: ResolvedSeries, { valueFlags, theme, valueFormatter }: {
|
|
35
|
+
valueFlags: boolean;
|
|
36
|
+
theme: ChartTheme;
|
|
37
|
+
valueFormatter: (value: number) => string;
|
|
38
|
+
}): ((dotProps: {
|
|
39
|
+
cx?: number;
|
|
40
|
+
cy?: number;
|
|
41
|
+
value?: number | string;
|
|
42
|
+
}) => import("react").JSX.Element) | {
|
|
43
|
+
r: number;
|
|
44
|
+
fill: string;
|
|
45
|
+
stroke: string;
|
|
46
|
+
strokeWidth: number;
|
|
47
|
+
};
|
|
48
|
+
declare function makeLastValueLabel(color: string, { dataLength, theme, valueFormatter }: {
|
|
49
|
+
dataLength: number;
|
|
50
|
+
theme: ChartTheme;
|
|
51
|
+
valueFormatter: (value: number) => string;
|
|
52
|
+
}): (props: {
|
|
53
|
+
x?: string | number;
|
|
54
|
+
y?: string | number;
|
|
55
|
+
value?: string | number | boolean | Array<string | number | boolean> | null;
|
|
56
|
+
index?: number;
|
|
57
|
+
}) => import("react").JSX.Element | null;
|
|
58
|
+
/**
|
|
59
|
+
* Returns recharts elements (not a wrapper component) so recharts still detects
|
|
60
|
+
* them as direct children when spread into a chart via `{renderReferenceLine(...)}`.
|
|
61
|
+
*/
|
|
62
|
+
declare function renderReferenceLine({ referenceLine, numericMax, theme }: {
|
|
63
|
+
referenceLine: ReferenceLineConfig | undefined;
|
|
64
|
+
numericMax: number;
|
|
65
|
+
theme: ChartTheme;
|
|
66
|
+
}): (import("react").JSX.Element | null)[] | null;
|
|
67
|
+
declare function renderMarkers(markers: ChartMarker[] | undefined, theme: ChartTheme): import("react").JSX.Element[] | undefined;
|
|
68
|
+
//#endregion
|
|
69
|
+
export { ReferenceLineConfig, computeNumericMax, makeActiveDot, makeChartAxis, makeLastValueLabel, makeLegendItems, renderMarkers, renderReferenceLine };
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ReferenceArea, ReferenceDot, ReferenceLine } from "recharts";
|
|
4
|
+
//#region src/components/chart-primitives.tsx
|
|
5
|
+
function makeChartAxis(theme) {
|
|
6
|
+
return {
|
|
7
|
+
stroke: theme.border,
|
|
8
|
+
tick: {
|
|
9
|
+
fill: theme.axisForeground,
|
|
10
|
+
fontSize: 10,
|
|
11
|
+
fontFamily: theme.fontMono
|
|
12
|
+
},
|
|
13
|
+
tickLine: false,
|
|
14
|
+
axisLine: {
|
|
15
|
+
stroke: theme.border,
|
|
16
|
+
strokeOpacity: .6
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function makeLegendItems(resolved) {
|
|
21
|
+
return resolved.map((entry) => ({
|
|
22
|
+
name: entry.name,
|
|
23
|
+
color: entry.color,
|
|
24
|
+
dashed: entry.dashed
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Stacked series must reach the stack height (sum per x-point), not the tallest
|
|
29
|
+
* single series, or reference bands and explicit Y domains clip a tall stack short.
|
|
30
|
+
*/
|
|
31
|
+
function computeNumericMax(data, series, stacked) {
|
|
32
|
+
let max = 0;
|
|
33
|
+
for (const row of data) {
|
|
34
|
+
let rowTotal = 0;
|
|
35
|
+
for (const entry of series) {
|
|
36
|
+
const value = Number(row[entry.key]);
|
|
37
|
+
if (Number.isFinite(value)) {
|
|
38
|
+
rowTotal += value;
|
|
39
|
+
if (!stacked && value > max) max = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (stacked && rowTotal > max) max = rowTotal;
|
|
43
|
+
}
|
|
44
|
+
return max;
|
|
45
|
+
}
|
|
46
|
+
function makeActiveDot(entry, { valueFlags, theme, valueFormatter }) {
|
|
47
|
+
if (!valueFlags) return {
|
|
48
|
+
r: 3.5,
|
|
49
|
+
fill: entry.color,
|
|
50
|
+
stroke: theme.card,
|
|
51
|
+
strokeWidth: 2
|
|
52
|
+
};
|
|
53
|
+
return (dotProps) => {
|
|
54
|
+
if (dotProps.cx == null || dotProps.cy == null) return /* @__PURE__ */ jsx("g", {});
|
|
55
|
+
return /* @__PURE__ */ jsxs("g", { children: [/* @__PURE__ */ jsx("circle", {
|
|
56
|
+
cx: dotProps.cx,
|
|
57
|
+
cy: dotProps.cy,
|
|
58
|
+
r: 3.5,
|
|
59
|
+
fill: entry.color,
|
|
60
|
+
stroke: theme.card,
|
|
61
|
+
strokeWidth: 2
|
|
62
|
+
}), /* @__PURE__ */ jsx("text", {
|
|
63
|
+
x: dotProps.cx,
|
|
64
|
+
y: dotProps.cy - 8,
|
|
65
|
+
textAnchor: "middle",
|
|
66
|
+
fill: entry.color,
|
|
67
|
+
fontFamily: theme.fontMono,
|
|
68
|
+
fontSize: 10,
|
|
69
|
+
style: { fontVariantNumeric: "tabular-nums" },
|
|
70
|
+
children: valueFormatter(Number(dotProps.value ?? 0))
|
|
71
|
+
})] });
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function makeLastValueLabel(color, { dataLength, theme, valueFormatter }) {
|
|
75
|
+
return (props) => {
|
|
76
|
+
if (props.index !== dataLength - 1 || props.x == null || props.y == null) return null;
|
|
77
|
+
return /* @__PURE__ */ jsx("text", {
|
|
78
|
+
x: Number(props.x) + 6,
|
|
79
|
+
y: Number(props.y),
|
|
80
|
+
dy: 3,
|
|
81
|
+
fill: color,
|
|
82
|
+
fontFamily: theme.fontMono,
|
|
83
|
+
fontSize: 10,
|
|
84
|
+
textAnchor: "start",
|
|
85
|
+
style: { fontVariantNumeric: "tabular-nums" },
|
|
86
|
+
children: valueFormatter(Number(props.value ?? 0))
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Returns recharts elements (not a wrapper component) so recharts still detects
|
|
92
|
+
* them as direct children when spread into a chart via `{renderReferenceLine(...)}`.
|
|
93
|
+
*/
|
|
94
|
+
function renderReferenceLine({ referenceLine, numericMax, theme }) {
|
|
95
|
+
if (!referenceLine) return null;
|
|
96
|
+
return [referenceLine.band ? /* @__PURE__ */ jsx(ReferenceArea, {
|
|
97
|
+
y1: referenceLine.y,
|
|
98
|
+
y2: numericMax,
|
|
99
|
+
fill: theme.warning,
|
|
100
|
+
fillOpacity: .06,
|
|
101
|
+
ifOverflow: "extendDomain"
|
|
102
|
+
}, "reference-band") : null, /* @__PURE__ */ jsx(ReferenceLine, {
|
|
103
|
+
y: referenceLine.y,
|
|
104
|
+
stroke: theme.warning,
|
|
105
|
+
strokeDasharray: "4 4",
|
|
106
|
+
strokeOpacity: .6,
|
|
107
|
+
label: referenceLine.label ? {
|
|
108
|
+
value: referenceLine.label,
|
|
109
|
+
fill: theme.warning,
|
|
110
|
+
fontSize: 9,
|
|
111
|
+
fontFamily: theme.fontMono,
|
|
112
|
+
position: "insideBottomRight"
|
|
113
|
+
} : void 0
|
|
114
|
+
}, "reference-line")];
|
|
115
|
+
}
|
|
116
|
+
function renderMarkers(markers, theme) {
|
|
117
|
+
return markers?.map((marker) => /* @__PURE__ */ jsx(ReferenceDot, {
|
|
118
|
+
x: marker.x,
|
|
119
|
+
y: marker.y,
|
|
120
|
+
r: 3.5,
|
|
121
|
+
fill: marker.color ?? theme.foreground,
|
|
122
|
+
stroke: theme.card,
|
|
123
|
+
strokeWidth: 2,
|
|
124
|
+
label: marker.label ? {
|
|
125
|
+
value: marker.label,
|
|
126
|
+
fill: marker.color ?? theme.foreground,
|
|
127
|
+
fontSize: 9,
|
|
128
|
+
fontFamily: theme.fontMono,
|
|
129
|
+
position: "top"
|
|
130
|
+
} : void 0
|
|
131
|
+
}, `${marker.x}-${marker.y}`));
|
|
132
|
+
}
|
|
133
|
+
//#endregion
|
|
134
|
+
export { computeNumericMax, makeActiveDot, makeChartAxis, makeLastValueLabel, makeLegendItems, renderMarkers, renderReferenceLine };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/components/chart-tooltip.d.ts
|
|
2
|
+
interface ChartTooltipItem {
|
|
3
|
+
name?: string | number;
|
|
4
|
+
value?: number | string;
|
|
5
|
+
color?: string;
|
|
6
|
+
stroke?: string;
|
|
7
|
+
fill?: string;
|
|
8
|
+
dataKey?: string | number;
|
|
9
|
+
}
|
|
10
|
+
interface ChartTooltipContentProps {
|
|
11
|
+
active?: boolean;
|
|
12
|
+
payload?: ChartTooltipItem[];
|
|
13
|
+
label?: string | number;
|
|
14
|
+
valueFormatter?: (value: number) => string;
|
|
15
|
+
labelFormatter?: (label: string | number) => string;
|
|
16
|
+
hideLabel?: boolean;
|
|
17
|
+
showTotal?: boolean;
|
|
18
|
+
totalLabel?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
declare function ChartTooltipContent({ active, payload, label, valueFormatter, labelFormatter, hideLabel, showTotal, totalLabel, className }: ChartTooltipContentProps): import("react").JSX.Element | null;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ChartTooltipContent, ChartTooltipContentProps, ChartTooltipItem };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../lib/cn.mjs";
|
|
3
|
+
import { useChartContext } from "./chart-container.mjs";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/chart-tooltip.tsx
|
|
6
|
+
const MAX_TOOLTIP_ROWS = 8;
|
|
7
|
+
function ChartTooltipContent({ active, payload, label, valueFormatter = (value) => value.toLocaleString("en-US"), labelFormatter, hideLabel, showTotal, totalLabel = "Total", className }) {
|
|
8
|
+
const { theme } = useChartContext();
|
|
9
|
+
if (!active || !payload?.length) return null;
|
|
10
|
+
const toNumber = (value) => typeof value === "number" ? value : Number(value ?? 0);
|
|
11
|
+
const total = payload.reduce((sum, item) => sum + toNumber(item.value), 0);
|
|
12
|
+
const sorted = [...payload].sort((lower, upper) => toNumber(upper.value) - toNumber(lower.value));
|
|
13
|
+
const rows = sorted.slice(0, MAX_TOOLTIP_ROWS);
|
|
14
|
+
const overflow = sorted.slice(MAX_TOOLTIP_ROWS);
|
|
15
|
+
const overflowTotal = overflow.reduce((sum, item) => sum + toNumber(item.value), 0);
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
17
|
+
className: cn("min-w-[130px] rounded-lg border px-3 py-2.5 shadow-lg", "border-border bg-popover text-popover-foreground", className),
|
|
18
|
+
children: [!hideLabel && label !== void 0 && /* @__PURE__ */ jsx("p", {
|
|
19
|
+
className: "font-mono text-[10px] uppercase tracking-wider text-quaternary-foreground mb-1.5",
|
|
20
|
+
children: labelFormatter ? labelFormatter(label) : label
|
|
21
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
22
|
+
className: "flex flex-col gap-1",
|
|
23
|
+
children: [
|
|
24
|
+
rows.map((item, index) => {
|
|
25
|
+
const swatch = [
|
|
26
|
+
item.color,
|
|
27
|
+
item.stroke,
|
|
28
|
+
item.fill
|
|
29
|
+
].find((candidate) => typeof candidate === "string" && candidate.length > 0 && !candidate.startsWith("url(")) ?? theme.mutedForeground;
|
|
30
|
+
const numeric = toNumber(item.value);
|
|
31
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
32
|
+
className: "flex items-center justify-between gap-4 text-text-xs",
|
|
33
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
34
|
+
className: "inline-flex items-center gap-2 text-muted-foreground",
|
|
35
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
36
|
+
"aria-hidden": true,
|
|
37
|
+
className: "size-2 shrink-0 rounded-[2px]",
|
|
38
|
+
style: { background: swatch }
|
|
39
|
+
}), item.name]
|
|
40
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
41
|
+
className: "font-mono font-semibold tabular-nums text-foreground",
|
|
42
|
+
children: valueFormatter(numeric)
|
|
43
|
+
})]
|
|
44
|
+
}, `${item.dataKey ?? index}`);
|
|
45
|
+
}),
|
|
46
|
+
overflow.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
47
|
+
className: "flex items-center justify-between gap-4 text-text-xs",
|
|
48
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
49
|
+
className: "inline-flex items-center gap-2 text-quaternary-foreground",
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ jsx("span", {
|
|
52
|
+
"aria-hidden": true,
|
|
53
|
+
className: "size-2 shrink-0"
|
|
54
|
+
}),
|
|
55
|
+
"+",
|
|
56
|
+
overflow.length,
|
|
57
|
+
" more"
|
|
58
|
+
]
|
|
59
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
60
|
+
className: "font-mono font-semibold tabular-nums text-quaternary-foreground",
|
|
61
|
+
children: valueFormatter(overflowTotal)
|
|
62
|
+
})]
|
|
63
|
+
}),
|
|
64
|
+
showTotal && /* @__PURE__ */ jsxs("div", {
|
|
65
|
+
className: "mt-1 flex items-center justify-between gap-4 border-border border-t pt-1.5 text-text-xs",
|
|
66
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
67
|
+
className: "font-mono text-quaternary-foreground uppercase tracking-wider text-[10px]",
|
|
68
|
+
children: totalLabel
|
|
69
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
70
|
+
className: "font-mono font-semibold tabular-nums text-foreground",
|
|
71
|
+
children: valueFormatter(total)
|
|
72
|
+
})]
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
})]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
79
|
+
export { ChartTooltipContent };
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as React from "react";
|
|
1
|
+
import * as React$1 from "react";
|
|
3
2
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
4
|
-
|
|
5
3
|
//#region src/components/checkbox.d.ts
|
|
6
|
-
declare function Checkbox({
|
|
7
|
-
className,
|
|
8
|
-
...props
|
|
9
|
-
}: React.ComponentProps<typeof CheckboxPrimitive.Root>): _$react_jsx_runtime0.JSX.Element;
|
|
4
|
+
declare function Checkbox({ className, ...props }: React$1.ComponentProps<typeof CheckboxPrimitive.Root>): React$1.JSX.Element;
|
|
10
5
|
//#endregion
|
|
11
6
|
export { Checkbox };
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as React from "react";
|
|
1
|
+
import * as React$1 from "react";
|
|
3
2
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
4
|
-
|
|
5
3
|
//#region src/components/collapsible.d.ts
|
|
6
|
-
declare function Collapsible({
|
|
7
|
-
|
|
8
|
-
}: React.ComponentProps<typeof CollapsiblePrimitive.
|
|
9
|
-
declare function CollapsibleTrigger({
|
|
10
|
-
...props
|
|
11
|
-
}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): _$react_jsx_runtime0.JSX.Element;
|
|
12
|
-
declare function CollapsibleContent({
|
|
13
|
-
...props
|
|
14
|
-
}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): _$react_jsx_runtime0.JSX.Element;
|
|
4
|
+
declare function Collapsible({ ...props }: React$1.ComponentProps<typeof CollapsiblePrimitive.Root>): React$1.JSX.Element;
|
|
5
|
+
declare function CollapsibleTrigger({ ...props }: React$1.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): React$1.JSX.Element;
|
|
6
|
+
declare function CollapsibleContent({ ...props }: React$1.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): React$1.JSX.Element;
|
|
15
7
|
//#endregion
|
|
16
8
|
export { Collapsible, CollapsibleContent, CollapsibleTrigger };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { PopoverContent } from "./popover.mjs";
|
|
2
2
|
import { selectTriggerVariants } from "./select-trigger-variants.mjs";
|
|
3
|
-
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
3
|
import { VariantProps } from "class-variance-authority";
|
|
5
4
|
import { ReactNode } from "react";
|
|
6
5
|
import { Command } from "cmdk";
|
|
7
|
-
|
|
8
6
|
//#region src/components/combobox.d.ts
|
|
9
7
|
interface ComboboxBaseProps {
|
|
10
8
|
children: ReactNode;
|
|
@@ -27,62 +25,27 @@ interface ComboboxMultipleProps extends ComboboxBaseProps {
|
|
|
27
25
|
onValueChange?: (value: string[]) => void;
|
|
28
26
|
}
|
|
29
27
|
type ComboboxProps = ComboboxSingleProps | ComboboxMultipleProps;
|
|
30
|
-
declare function Combobox(props: ComboboxProps):
|
|
28
|
+
declare function Combobox(props: ComboboxProps): import("react").JSX.Element;
|
|
31
29
|
interface ComboboxTriggerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size">, VariantProps<typeof selectTriggerVariants> {
|
|
32
30
|
placeholder?: string;
|
|
33
31
|
}
|
|
34
|
-
declare function ComboboxTrigger({
|
|
35
|
-
className,
|
|
36
|
-
size,
|
|
37
|
-
placeholder,
|
|
38
|
-
children,
|
|
39
|
-
...props
|
|
40
|
-
}: ComboboxTriggerProps): _$react_jsx_runtime0.JSX.Element;
|
|
32
|
+
declare function ComboboxTrigger({ className, size, placeholder, children, ...props }: ComboboxTriggerProps): import("react").JSX.Element;
|
|
41
33
|
interface ComboboxContentProps extends React.ComponentProps<typeof PopoverContent> {
|
|
42
34
|
className?: string;
|
|
43
35
|
children?: ReactNode;
|
|
44
36
|
filter?: React.ComponentProps<typeof Command>["filter"];
|
|
45
37
|
}
|
|
46
|
-
declare function ComboboxContent({
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}:
|
|
52
|
-
declare function ComboboxSearch({
|
|
53
|
-
className,
|
|
54
|
-
...props
|
|
55
|
-
}: React.ComponentProps<typeof Command.Input>): _$react_jsx_runtime0.JSX.Element;
|
|
56
|
-
declare function ComboboxList({
|
|
57
|
-
className,
|
|
58
|
-
...props
|
|
59
|
-
}: React.ComponentProps<typeof Command.List>): _$react_jsx_runtime0.JSX.Element;
|
|
60
|
-
declare function ComboboxEmpty({
|
|
61
|
-
className,
|
|
62
|
-
...props
|
|
63
|
-
}: React.ComponentProps<typeof Command.Empty>): _$react_jsx_runtime0.JSX.Element;
|
|
64
|
-
declare function ComboboxGroup({
|
|
65
|
-
className,
|
|
66
|
-
...props
|
|
67
|
-
}: React.ComponentProps<typeof Command.Group>): _$react_jsx_runtime0.JSX.Element;
|
|
68
|
-
declare function ComboboxSeparator({
|
|
69
|
-
className,
|
|
70
|
-
...props
|
|
71
|
-
}: React.ComponentProps<typeof Command.Separator>): _$react_jsx_runtime0.JSX.Element;
|
|
38
|
+
declare function ComboboxContent({ className, children, filter, ...props }: ComboboxContentProps): import("react").JSX.Element;
|
|
39
|
+
declare function ComboboxSearch({ className, ...props }: React.ComponentProps<typeof Command.Input>): import("react").JSX.Element;
|
|
40
|
+
declare function ComboboxList({ className, ...props }: React.ComponentProps<typeof Command.List>): import("react").JSX.Element;
|
|
41
|
+
declare function ComboboxEmpty({ className, ...props }: React.ComponentProps<typeof Command.Empty>): import("react").JSX.Element;
|
|
42
|
+
declare function ComboboxGroup({ className, ...props }: React.ComponentProps<typeof Command.Group>): import("react").JSX.Element;
|
|
43
|
+
declare function ComboboxSeparator({ className, ...props }: React.ComponentProps<typeof Command.Separator>): import("react").JSX.Element;
|
|
72
44
|
interface ComboboxItemProps extends Omit<React.ComponentProps<typeof Command.Item>, "onSelect"> {
|
|
73
45
|
/** The value stored when this item is selected */
|
|
74
46
|
itemValue: string;
|
|
75
47
|
}
|
|
76
|
-
declare function ComboboxItem({
|
|
77
|
-
|
|
78
|
-
children,
|
|
79
|
-
itemValue,
|
|
80
|
-
...props
|
|
81
|
-
}: ComboboxItemProps): _$react_jsx_runtime0.JSX.Element;
|
|
82
|
-
declare function ComboboxItemText({
|
|
83
|
-
className,
|
|
84
|
-
children,
|
|
85
|
-
...props
|
|
86
|
-
}: React.HTMLAttributes<HTMLSpanElement>): _$react_jsx_runtime0.JSX.Element;
|
|
48
|
+
declare function ComboboxItem({ className, children, itemValue, ...props }: ComboboxItemProps): import("react").JSX.Element;
|
|
49
|
+
declare function ComboboxItemText({ className, children, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react").JSX.Element;
|
|
87
50
|
//#endregion
|
|
88
51
|
export { Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxItem, ComboboxItemText, ComboboxList, ComboboxSearch, ComboboxSeparator, ComboboxTrigger };
|
|
@@ -1,38 +1,13 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as React from "react";
|
|
1
|
+
import * as React$1 from "react";
|
|
3
2
|
import { Command as Command$1 } from "cmdk";
|
|
4
|
-
|
|
5
3
|
//#region src/components/command.d.ts
|
|
6
|
-
declare function Command({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}: React.ComponentProps<typeof Command$1>):
|
|
10
|
-
declare function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}: React.ComponentProps<
|
|
14
|
-
declare function CommandList({
|
|
15
|
-
className,
|
|
16
|
-
...props
|
|
17
|
-
}: React.ComponentProps<typeof Command$1.List>): _$react_jsx_runtime0.JSX.Element;
|
|
18
|
-
declare function CommandEmpty({
|
|
19
|
-
...props
|
|
20
|
-
}: React.ComponentProps<typeof Command$1.Empty>): _$react_jsx_runtime0.JSX.Element;
|
|
21
|
-
declare function CommandGroup({
|
|
22
|
-
className,
|
|
23
|
-
...props
|
|
24
|
-
}: React.ComponentProps<typeof Command$1.Group>): _$react_jsx_runtime0.JSX.Element;
|
|
25
|
-
declare function CommandSeparator({
|
|
26
|
-
className,
|
|
27
|
-
...props
|
|
28
|
-
}: React.ComponentProps<typeof Command$1.Separator>): _$react_jsx_runtime0.JSX.Element;
|
|
29
|
-
declare function CommandItem({
|
|
30
|
-
className,
|
|
31
|
-
...props
|
|
32
|
-
}: React.ComponentProps<typeof Command$1.Item>): _$react_jsx_runtime0.JSX.Element;
|
|
33
|
-
declare function CommandShortcut({
|
|
34
|
-
className,
|
|
35
|
-
...props
|
|
36
|
-
}: React.ComponentProps<"span">): _$react_jsx_runtime0.JSX.Element;
|
|
4
|
+
declare function Command({ className, ...props }: React$1.ComponentProps<typeof Command$1>): React$1.JSX.Element;
|
|
5
|
+
declare function CommandInput({ className, ...props }: React$1.ComponentProps<typeof Command$1.Input>): React$1.JSX.Element;
|
|
6
|
+
declare function CommandList({ className, ...props }: React$1.ComponentProps<typeof Command$1.List>): React$1.JSX.Element;
|
|
7
|
+
declare function CommandEmpty({ ...props }: React$1.ComponentProps<typeof Command$1.Empty>): React$1.JSX.Element;
|
|
8
|
+
declare function CommandGroup({ className, ...props }: React$1.ComponentProps<typeof Command$1.Group>): React$1.JSX.Element;
|
|
9
|
+
declare function CommandSeparator({ className, ...props }: React$1.ComponentProps<typeof Command$1.Separator>): React$1.JSX.Element;
|
|
10
|
+
declare function CommandItem({ className, ...props }: React$1.ComponentProps<typeof Command$1.Item>): React$1.JSX.Element;
|
|
11
|
+
declare function CommandShortcut({ className, ...props }: React$1.ComponentProps<"span">): React$1.JSX.Element;
|
|
37
12
|
//#endregion
|
|
38
13
|
export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
|
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
1
|
import { ReactNode } from "react";
|
|
3
|
-
|
|
4
2
|
//#region src/components/copyable.d.ts
|
|
5
3
|
interface CopyableProps {
|
|
6
4
|
content: string;
|
|
7
5
|
children: ReactNode;
|
|
8
6
|
className?: string;
|
|
9
7
|
}
|
|
10
|
-
declare function Copyable({
|
|
11
|
-
content,
|
|
12
|
-
children,
|
|
13
|
-
className
|
|
14
|
-
}: CopyableProps): _$react_jsx_runtime0.JSX.Element;
|
|
8
|
+
declare function Copyable({ content, children, className }: CopyableProps): import("react").JSX.Element;
|
|
15
9
|
interface CopyableUrlProps {
|
|
16
10
|
url: URL;
|
|
17
11
|
}
|
|
18
|
-
declare function CopyableUrl({
|
|
19
|
-
url
|
|
20
|
-
}: CopyableUrlProps): _$react_jsx_runtime0.JSX.Element;
|
|
12
|
+
declare function CopyableUrl({ url }: CopyableUrlProps): import("react").JSX.Element;
|
|
21
13
|
//#endregion
|
|
22
14
|
export { Copyable, type CopyableProps, CopyableUrl, type CopyableUrlProps };
|
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
|
|
1
|
+
import * as React$1 from "react";
|
|
4
2
|
//#region src/components/description-list.d.ts
|
|
5
|
-
declare function DescriptionList({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}: React.ComponentProps<"
|
|
9
|
-
declare function DescriptionItem({
|
|
10
|
-
className,
|
|
11
|
-
...props
|
|
12
|
-
}: React.ComponentProps<"div">): _$react_jsx_runtime0.JSX.Element;
|
|
13
|
-
declare function DescriptionTitle({
|
|
14
|
-
className,
|
|
15
|
-
...props
|
|
16
|
-
}: React.ComponentProps<"dt">): _$react_jsx_runtime0.JSX.Element;
|
|
17
|
-
declare function DescriptionValue({
|
|
18
|
-
className,
|
|
19
|
-
...props
|
|
20
|
-
}: React.ComponentProps<"dd">): _$react_jsx_runtime0.JSX.Element;
|
|
3
|
+
declare function DescriptionList({ className, ...props }: React$1.ComponentProps<"dl">): React$1.JSX.Element;
|
|
4
|
+
declare function DescriptionItem({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
|
|
5
|
+
declare function DescriptionTitle({ className, ...props }: React$1.ComponentProps<"dt">): React$1.JSX.Element;
|
|
6
|
+
declare function DescriptionValue({ className, ...props }: React$1.ComponentProps<"dd">): React$1.JSX.Element;
|
|
21
7
|
//#endregion
|
|
22
8
|
export { DescriptionItem, DescriptionList, DescriptionTitle, DescriptionValue };
|
|
@@ -1,61 +1,27 @@
|
|
|
1
1
|
import { ButtonProps } from "./button.mjs";
|
|
2
|
-
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
2
|
import { VariantProps } from "class-variance-authority";
|
|
4
|
-
import * as React from "react";
|
|
3
|
+
import * as React$1 from "react";
|
|
5
4
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
6
|
-
import * as _$class_variance_authority_types0 from "class-variance-authority/types";
|
|
7
|
-
|
|
8
5
|
//#region src/components/dialog.d.ts
|
|
9
|
-
declare function Dialog({
|
|
10
|
-
|
|
11
|
-
}: React.ComponentProps<typeof DialogPrimitive.
|
|
12
|
-
declare function
|
|
13
|
-
...props
|
|
14
|
-
}: React.ComponentProps<typeof DialogPrimitive.Trigger>): _$react_jsx_runtime0.JSX.Element;
|
|
15
|
-
declare function DialogPortal({
|
|
16
|
-
...props
|
|
17
|
-
}: React.ComponentProps<typeof DialogPrimitive.Portal>): _$react_jsx_runtime0.JSX.Element;
|
|
18
|
-
declare function DialogOverlay({
|
|
19
|
-
className,
|
|
20
|
-
...props
|
|
21
|
-
}: React.ComponentProps<typeof DialogPrimitive.Overlay>): _$react_jsx_runtime0.JSX.Element;
|
|
6
|
+
declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): React$1.JSX.Element;
|
|
7
|
+
declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): React$1.JSX.Element;
|
|
8
|
+
declare function DialogPortal({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): React$1.JSX.Element;
|
|
9
|
+
declare function DialogOverlay({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): React$1.JSX.Element;
|
|
22
10
|
declare const dialogContentVariants: (props?: ({
|
|
23
11
|
size?: "sm" | "lg" | null | undefined;
|
|
24
|
-
} &
|
|
25
|
-
interface DialogContentProps extends React.ComponentProps<typeof DialogPrimitive.Content>, VariantProps<typeof dialogContentVariants> {
|
|
12
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
|
+
interface DialogContentProps extends React$1.ComponentProps<typeof DialogPrimitive.Content>, VariantProps<typeof dialogContentVariants> {
|
|
26
14
|
showCloseButton?: boolean;
|
|
27
15
|
}
|
|
28
|
-
declare function DialogContent({
|
|
29
|
-
|
|
30
|
-
children,
|
|
31
|
-
size,
|
|
32
|
-
showCloseButton,
|
|
33
|
-
...props
|
|
34
|
-
}: DialogContentProps): _$react_jsx_runtime0.JSX.Element;
|
|
35
|
-
declare function DialogHeader({
|
|
36
|
-
className,
|
|
37
|
-
...props
|
|
38
|
-
}: React.ComponentProps<"div">): _$react_jsx_runtime0.JSX.Element;
|
|
16
|
+
declare function DialogContent({ className, children, size, showCloseButton, ...props }: DialogContentProps): React$1.JSX.Element;
|
|
17
|
+
declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): React$1.JSX.Element;
|
|
39
18
|
declare const dialogFooterVariants: (props?: ({
|
|
40
19
|
layout?: "horizontal" | "vertical" | null | undefined;
|
|
41
|
-
} &
|
|
42
|
-
interface DialogFooterProps extends React.ComponentProps<"div">, VariantProps<typeof dialogFooterVariants> {}
|
|
43
|
-
declare function DialogFooter({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}: DialogFooterProps): _$react_jsx_runtime0.JSX.Element;
|
|
48
|
-
declare function DialogTitle({
|
|
49
|
-
className,
|
|
50
|
-
...props
|
|
51
|
-
}: React.ComponentProps<typeof DialogPrimitive.Title>): _$react_jsx_runtime0.JSX.Element;
|
|
52
|
-
declare function DialogClose({
|
|
53
|
-
children,
|
|
54
|
-
...props
|
|
55
|
-
}: Omit<ButtonProps, "variant" | "asChild">): _$react_jsx_runtime0.JSX.Element;
|
|
56
|
-
declare function DialogDescription({
|
|
57
|
-
className,
|
|
58
|
-
...props
|
|
59
|
-
}: React.ComponentProps<typeof DialogPrimitive.Description>): _$react_jsx_runtime0.JSX.Element;
|
|
20
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
21
|
+
interface DialogFooterProps extends React$1.ComponentProps<"div">, VariantProps<typeof dialogFooterVariants> {}
|
|
22
|
+
declare function DialogFooter({ className, layout, ...props }: DialogFooterProps): React$1.JSX.Element;
|
|
23
|
+
declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): React$1.JSX.Element;
|
|
24
|
+
declare function DialogClose({ children, ...props }: Omit<ButtonProps, "variant" | "asChild">): React$1.JSX.Element;
|
|
25
|
+
declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): React$1.JSX.Element;
|
|
60
26
|
//#endregion
|
|
61
27
|
export { Dialog, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, type DialogFooterProps, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, dialogContentVariants, dialogFooterVariants };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ChartPaletteName } from "../lib/chart-palette.mjs";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
//#region src/components/donut-chart.d.ts
|
|
4
|
+
declare const GEOMETRY: {
|
|
5
|
+
readonly donut: {
|
|
6
|
+
readonly inner: "64%";
|
|
7
|
+
readonly outer: "92%";
|
|
8
|
+
};
|
|
9
|
+
readonly ring: {
|
|
10
|
+
readonly inner: "78%";
|
|
11
|
+
readonly outer: "92%";
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
interface DonutChartProps {
|
|
15
|
+
data: ReadonlyArray<Record<string, string | number | null | undefined>>;
|
|
16
|
+
index: string;
|
|
17
|
+
dataKey?: string;
|
|
18
|
+
variant?: keyof typeof GEOMETRY;
|
|
19
|
+
legend?: boolean;
|
|
20
|
+
paddingAngle?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
palette?: ChartPaletteName;
|
|
23
|
+
centerLabel?: string;
|
|
24
|
+
loading?: boolean;
|
|
25
|
+
valueFormatter?: (value: number) => string;
|
|
26
|
+
labelFormatter?: (label: string | number) => string;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
declare function DonutChart({ data, index, dataKey, variant, legend, paddingAngle, height, palette, centerLabel, loading, valueFormatter, labelFormatter, className }: DonutChartProps): React$1.JSX.Element;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { DonutChart, DonutChartProps };
|