@camunda/design-system 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/carbon-compat/switch.d.ts.map +1 -1
- package/dist/carbon-compat/switch.js +11 -1
- package/dist/carbon-compat/switch.js.map +1 -1
- package/dist/src/components/ui/card.d.ts +3 -1
- package/dist/src/components/ui/card.d.ts.map +1 -1
- package/dist/src/components/ui/card.js +11 -3
- package/dist/src/components/ui/card.js.map +1 -1
- package/dist/src/components/ui/chart.d.ts +3 -1
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/chart.js +10 -4
- package/dist/src/components/ui/chart.js.map +1 -1
- package/dist/src/components/ui/line-chart.d.ts +25 -0
- package/dist/src/components/ui/line-chart.d.ts.map +1 -0
- package/dist/src/components/ui/line-chart.js +37 -0
- package/dist/src/components/ui/line-chart.js.map +1 -0
- package/dist/src/components/ui/meter.d.ts +24 -0
- package/dist/src/components/ui/meter.d.ts.map +1 -0
- package/dist/src/components/ui/meter.js +50 -0
- package/dist/src/components/ui/meter.js.map +1 -0
- package/dist/src/components/ui/scorecard.d.ts +27 -0
- package/dist/src/components/ui/scorecard.d.ts.map +1 -0
- package/dist/src/components/ui/scorecard.js +39 -0
- package/dist/src/components/ui/scorecard.js.map +1 -0
- package/dist/src/components/ui/sparkline.d.ts +11 -0
- package/dist/src/components/ui/sparkline.d.ts.map +1 -0
- package/dist/src/components/ui/sparkline.js +19 -0
- package/dist/src/components/ui/sparkline.js.map +1 -0
- package/dist/src/components/ui/time-range-selector.d.ts +19 -0
- package/dist/src/components/ui/time-range-selector.d.ts.map +1 -0
- package/dist/src/components/ui/time-range-selector.js +54 -0
- package/dist/src/components/ui/time-range-selector.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/styles.css +18 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../carbon-compat/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKtE,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,iBAAS,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,WAAW,+
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../carbon-compat/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKtE,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,iBAAS,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,WAAW,+BAoBzE;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -13,7 +13,17 @@ import { cn } from "../src/lib/utils.js";
|
|
|
13
13
|
* Carbon-shaped event payload from the selected value.
|
|
14
14
|
*/
|
|
15
15
|
function Switch({ name, text, children, className, disabled }) {
|
|
16
|
-
|
|
16
|
+
const label = text ?? children;
|
|
17
|
+
return (_jsx(ToggleGroupItem, { value: String(name ?? ""), disabled: disabled,
|
|
18
|
+
// `ToggleGroupItem` defaults to `flex-1` (equal-width fill). Inside the
|
|
19
|
+
// content-sized (`w-fit`) switcher that starves the widest label, whose
|
|
20
|
+
// `whitespace-nowrap` text then spilled onto the next switch. Size each
|
|
21
|
+
// switch to its own label instead (`flex-initial`), and re-enable shrink
|
|
22
|
+
// so labels ellipsis-truncate (via the span below) when a parent
|
|
23
|
+
// constrains the width rather than overflowing again.
|
|
24
|
+
className: cn("flex-initial shrink", className), "data-slot": "carbon-compat-switch",
|
|
25
|
+
// Surface the full string when the label is plain text and truncated.
|
|
26
|
+
title: typeof label === "string" ? label : undefined, children: _jsx("span", { className: "min-w-0 truncate", children: label }) }));
|
|
17
27
|
}
|
|
18
28
|
export { Switch };
|
|
19
29
|
//# sourceMappingURL=switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../carbon-compat/switch.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAMtC;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAe;IACxE,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EACzB,QAAQ,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../carbon-compat/switch.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAMtC;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAe;IACxE,MAAM,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC;IAC/B,OAAO,CACL,KAAC,eAAe,IACd,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EACzB,QAAQ,EAAE,QAAQ;QAClB,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,iEAAiE;QACjE,sDAAsD;QACtD,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,eACrC,sBAAsB;QAChC,sEAAsE;QACtE,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,YAEpD,eAAM,SAAS,EAAC,kBAAkB,YAAE,KAAK,GAAQ,GACjC,CACnB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -3,7 +3,9 @@ declare function Card({ className, size, ...props }: React.ComponentProps<"div">
|
|
|
3
3
|
size?: "default" | "sm";
|
|
4
4
|
}): React.JSX.Element;
|
|
5
5
|
declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
6
|
-
declare function CardTitle({ className, ...props }: React.ComponentProps<"div">
|
|
6
|
+
declare function CardTitle({ className, tooltip, children, ...props }: React.ComponentProps<"div"> & {
|
|
7
|
+
tooltip?: React.ReactNode;
|
|
8
|
+
}): React.JSX.Element;
|
|
7
9
|
declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
8
10
|
declare function CardAction({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
9
11
|
declare function CardContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,qBAY3D;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAkC7D;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
+
import { Info } from "lucide-react";
|
|
3
4
|
import { cn } from "../../lib/utils.js";
|
|
5
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
|
|
4
6
|
function Card({ className, size = "default", ...props }) {
|
|
5
7
|
return (_jsx("div", { "data-slot": "card", "data-size": size, className: cn("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-neutral-background-subtle py-4 text-sm text-neutral-foreground-strong ring-1 ring-border has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className), ...props }));
|
|
6
8
|
}
|
|
7
9
|
function CardHeader({ className, ...props }) {
|
|
8
10
|
return (_jsx("div", { "data-slot": "card-header", className: cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3", className), ...props }));
|
|
9
11
|
}
|
|
10
|
-
function CardTitle({ className, ...props }) {
|
|
11
|
-
return (_jsx("div", { "data-slot": "card-title", className: cn(
|
|
12
|
+
function CardTitle({ className, tooltip, children, ...props }) {
|
|
13
|
+
return (_jsx("div", { "data-slot": "card-title", className: cn(
|
|
14
|
+
// min-w-0: without it, this grid item's flex-in-grid content (below)
|
|
15
|
+
// reports its unwrapped text as the item's min-content size, so
|
|
16
|
+
// CardHeader's grid track grows to fit it instead of the header's
|
|
17
|
+
// actual width — the classic CSS "grid blowout" — and `truncate`
|
|
18
|
+
// never gets a bounded box to ellipsis within.
|
|
19
|
+
"min-w-0 font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm", className), ...props, children: _jsxs("span", { className: "flex min-w-0 items-center gap-[0.3125rem]", children: [_jsx("span", { className: "min-w-0 truncate", children: children }), tooltip != null && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "inline-flex size-3.5 shrink-0 cursor-help items-center justify-center", "aria-label": "More information", children: _jsx(Info, { className: "size-3.5" }) }) }), _jsx(TooltipContent, { children: tooltip })] }))] }) }));
|
|
12
20
|
}
|
|
13
21
|
function CardDescription({ className, ...props }) {
|
|
14
22
|
return (_jsx("div", { "data-slot": "card-description", className: cn("text-sm text-neutral-foreground-subtle", className), ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpE,SAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,2BACY,MAAM,eACL,IAAI,EACf,SAAS,EAAE,EAAE,CACX,8WAA8W,EAC9W,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,oSAAoS,EACpS,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACoD;IAC5D,OAAO,CACL,2BACY,YAAY,EACtB,SAAS,EAAE,EAAE;QACX,qEAAqE;QACrE,gEAAgE;QAChE,kEAAkE;QAClE,iEAAiE;QACjE,+CAA+C;QAC/C,2FAA2F,EAC3F,SAAS,CACV,KACG,KAAK,YAET,gBAAM,SAAS,EAAC,2CAA2C,aACzD,eAAM,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAQ,EACnD,OAAO,IAAI,IAAI,IAAI,CAClB,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uEAAuE,gBACtE,kBAAkB,YAE7B,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,GAAG,GACtB,GACM,EACjB,KAAC,cAAc,cAAE,OAAO,GAAkB,IAClC,CACX,IACI,GACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC3E,OAAO,CACL,2BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,wCAAwC,EAAE,SAAS,CAAC,KAC9D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACvE,OAAO,CACL,2BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAC3D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -22,11 +22,13 @@ declare function ChartTooltipContent({ active, payload, className, indicator, hi
|
|
|
22
22
|
labelClassName?: string;
|
|
23
23
|
}): React.JSX.Element | null;
|
|
24
24
|
declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
|
|
25
|
-
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, }: {
|
|
25
|
+
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, inactiveKeys, onToggleKey, }: {
|
|
26
26
|
className?: string;
|
|
27
27
|
payload?: readonly RechartsPrimitive.LegendPayload[];
|
|
28
28
|
verticalAlign?: RechartsPrimitive.LegendProps["verticalAlign"];
|
|
29
29
|
hideIcon?: boolean;
|
|
30
|
+
inactiveKeys?: Set<string>;
|
|
31
|
+
onToggleKey?: (key: string) => void;
|
|
30
32
|
}): React.JSX.Element | null;
|
|
31
33
|
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, };
|
|
32
34
|
//# sourceMappingURL=chart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,MAAM,MAAM,WAAW,GAAG,MAAM,CAC9B,MAAM,EACN;IACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAgBF,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAe,EACf,KAAa,EACb,
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,MAAM,MAAM,WAAW,GAAG,MAAM,CAC9B,MAAM,EACN;IACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAgBF,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAe,EACf,KAAa,EACb,YAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC,CAAC;CACf,qBAgCA;AAoBD,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,KAAK,EACL,cAAc,EACd,SAAS,EACT,KAAK,EACL,cAAc,GACf,EAAE,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,4BAkHA;AAED,QAAA,MAAM,WAAW,sGAA2B,CAAC;AAE7C,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,aAAwB,EACxB,YAAY,EACZ,WAAW,GACZ,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACrD,aAAa,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,4BAmEA;AAED,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,GACnB,CAAC"}
|
|
@@ -11,7 +11,7 @@ function useChart() {
|
|
|
11
11
|
}
|
|
12
12
|
return context;
|
|
13
13
|
}
|
|
14
|
-
function ChartContainer({ id, className, children, config, loading = false, empty = false, emptyMessage = "No data
|
|
14
|
+
function ChartContainer({ id, className, children, config, loading = false, empty = false, emptyMessage = "No data", ...props }) {
|
|
15
15
|
const generatedId = React.useId();
|
|
16
16
|
const chartId = `chart-${generatedId.replace(/:/g, "")}`;
|
|
17
17
|
return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { id: id, "data-slot": "chart", "data-chart": chartId, "aria-busy": loading || undefined, className: cn("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-neutral-foreground-subtle [&_.recharts-cartesian-grid_line]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-radial-bar-background-sector]:fill-neutral-background-strong [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-neutral-background-strong [&_.recharts-reference-line-line]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden", className), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), loading ? (_jsx(Skeleton, { className: "h-full w-full" })) : empty ? (_jsx("div", { className: "flex h-full w-full items-center justify-center text-neutral-foreground-subtle", children: emptyMessage })) : (_jsx(RechartsPrimitive.ResponsiveContainer, { children: children }))] }) }));
|
|
@@ -67,7 +67,7 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
|
|
|
67
67
|
}) })] }));
|
|
68
68
|
}
|
|
69
69
|
const ChartLegend = RechartsPrimitive.Legend;
|
|
70
|
-
function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", }) {
|
|
70
|
+
function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", inactiveKeys, onToggleKey, }) {
|
|
71
71
|
const { config } = useChart();
|
|
72
72
|
if (!payload?.length) {
|
|
73
73
|
return null;
|
|
@@ -75,9 +75,15 @@ function ChartLegendContent({ className, hideIcon = false, payload, verticalAlig
|
|
|
75
75
|
return (_jsx("div", { "data-slot": "chart-legend-content", className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className), children: payload.map((item, index) => {
|
|
76
76
|
const lookupKey = `${item.dataKey ?? "value"}`;
|
|
77
77
|
const itemConfig = config[lookupKey];
|
|
78
|
-
|
|
78
|
+
const isInactive = inactiveKeys?.has(lookupKey) ?? false;
|
|
79
|
+
const itemContent = (_jsxs(_Fragment, { children: [itemConfig?.icon && !hideIcon ? (_jsx(itemConfig.icon, { "aria-hidden": "true" })) : (_jsx("div", { "aria-hidden": "true", className: "h-2 w-2 shrink-0 rounded-[2px] bg-(--color-indicator-legend)", style: {
|
|
79
80
|
"--color-indicator-legend": item.color,
|
|
80
|
-
} })), itemConfig?.label] }
|
|
81
|
+
} })), itemConfig?.label] }));
|
|
82
|
+
const itemClassName = cn("flex items-center gap-1.5 text-neutral-foreground-subtle [&>svg]:size-3 [&>svg]:text-neutral-foreground-subtle", isInactive && "opacity-50");
|
|
83
|
+
if (onToggleKey && inactiveKeys) {
|
|
84
|
+
return (_jsx("button", { type: "button", "aria-pressed": !isInactive, onClick: () => onToggleKey(lookupKey), className: cn(itemClassName, "cursor-pointer"), children: itemContent }, `${lookupKey}-${index}`));
|
|
85
|
+
}
|
|
86
|
+
return (_jsx("div", { className: itemClassName, children: itemContent }, `${lookupKey}-${index}`));
|
|
81
87
|
}) }));
|
|
82
88
|
}
|
|
83
89
|
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAetC,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAA2B,IAAI,CAAC,CAAC;AAEzE,SAAS,QAAQ;IACf,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ChartConfig } from "./chart.js";
|
|
2
|
+
interface ReferenceLineConfig {
|
|
3
|
+
value: number;
|
|
4
|
+
label?: string;
|
|
5
|
+
axis?: "x" | "y";
|
|
6
|
+
}
|
|
7
|
+
interface LineChartProps {
|
|
8
|
+
data: Record<string, unknown>[];
|
|
9
|
+
categoryKey: string;
|
|
10
|
+
config: ChartConfig;
|
|
11
|
+
curve?: "linear" | "monotone" | "step";
|
|
12
|
+
dots?: boolean;
|
|
13
|
+
connectNulls?: boolean;
|
|
14
|
+
strokeWidth?: number;
|
|
15
|
+
referenceLines?: ReferenceLineConfig[];
|
|
16
|
+
legend?: boolean;
|
|
17
|
+
loading?: boolean;
|
|
18
|
+
empty?: boolean;
|
|
19
|
+
tickFormatter?: (value: unknown) => string;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare function LineChart({ data, categoryKey, config, curve, dots, connectNulls, strokeWidth, referenceLines, legend, loading, empty, tickFormatter, className, }: LineChartProps): import("react").JSX.Element;
|
|
23
|
+
export { LineChart };
|
|
24
|
+
export type { LineChartProps };
|
|
25
|
+
//# sourceMappingURL=line-chart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/line-chart.tsx"],"names":[],"mappings":"AAUA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,SAAS,CAAC,EACjB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,KAAkB,EAClB,IAAY,EACZ,YAAoB,EACpB,WAAe,EACf,cAAc,EACd,MAAM,EACN,OAAe,EACf,KAAa,EACb,aAAa,EACb,SAAS,GACV,EAAE,cAAc,+BAmFhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { CartesianGrid, Line, LineChart as RechartsLineChart, ReferenceLine, XAxis, YAxis, } from "recharts";
|
|
4
|
+
import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, } from "./chart.js";
|
|
5
|
+
function LineChart({ data, categoryKey, config, curve = "monotone", dots = false, connectNulls = false, strokeWidth = 2, referenceLines, legend, loading = false, empty = false, tickFormatter, className, }) {
|
|
6
|
+
const seriesKeys = Object.keys(config);
|
|
7
|
+
const showLegend = legend ?? seriesKeys.length > 1;
|
|
8
|
+
const [inactiveKeys, setInactiveKeys] = useState(new Set());
|
|
9
|
+
const toggleKey = (key) => setInactiveKeys((prev) => {
|
|
10
|
+
const next = new Set(prev);
|
|
11
|
+
if (next.has(key)) {
|
|
12
|
+
next.delete(key);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
next.add(key);
|
|
16
|
+
}
|
|
17
|
+
return next;
|
|
18
|
+
});
|
|
19
|
+
return (_jsx(ChartContainer, { config: config, loading: loading, empty: empty, className: className, children: _jsxs(RechartsLineChart, { data: data, accessibilityLayer: true, children: [_jsx(CartesianGrid, { vertical: false, stroke: "var(--border)" }), _jsx(XAxis, { dataKey: categoryKey, tickLine: false, axisLine: false, minTickGap: 32, tickFormatter: tickFormatter }), _jsx(YAxis, { tickLine: false, axisLine: false }), _jsx(ChartTooltip, { content: _jsx(ChartTooltipContent, {}) }), showLegend && (_jsx(ChartLegend, { content: _jsx(ChartLegendContent, { inactiveKeys: inactiveKeys, onToggleKey: toggleKey }) })), referenceLines?.map((referenceLine, index) => (_jsx(ReferenceLine, { ...(referenceLine.axis
|
|
20
|
+
? { [referenceLine.axis]: referenceLine.value }
|
|
21
|
+
: { y: referenceLine.value }), ...(referenceLine.label
|
|
22
|
+
? {
|
|
23
|
+
label: {
|
|
24
|
+
value: referenceLine.label,
|
|
25
|
+
position: "insideTopRight",
|
|
26
|
+
},
|
|
27
|
+
}
|
|
28
|
+
: {}), strokeDasharray: "4 4",
|
|
29
|
+
// chart.tsx's global style forces `.recharts-reference-line-line` to
|
|
30
|
+
// `stroke-border` via a Tailwind arbitrary-variant class, which beats
|
|
31
|
+
// the `stroke` SVG presentation attribute (lowest CSS priority). Set
|
|
32
|
+
// the color via inline `style` instead so it wins over that class —
|
|
33
|
+
// see bar-chart.tsx's identical reference-line handling.
|
|
34
|
+
style: { stroke: "var(--neutral-foreground-subtle)" } }, index))), seriesKeys.map((key) => (_jsx(Line, { dataKey: key, type: curve, stroke: `var(--color-${key})`, strokeWidth: strokeWidth, dot: dots, connectNulls: connectNulls, hide: inactiveKeys.has(key), isAnimationActive: false }, key)))] }) }));
|
|
35
|
+
}
|
|
36
|
+
export { LineChart };
|
|
37
|
+
//# sourceMappingURL=line-chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/line-chart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface MeterRange {
|
|
3
|
+
range: [number, number];
|
|
4
|
+
status: "success" | "warning" | "danger";
|
|
5
|
+
}
|
|
6
|
+
interface MeterProps {
|
|
7
|
+
value: number;
|
|
8
|
+
min?: number;
|
|
9
|
+
max: number;
|
|
10
|
+
ranges?: MeterRange[];
|
|
11
|
+
peak?: number;
|
|
12
|
+
label?: React.ReactNode;
|
|
13
|
+
unit?: string;
|
|
14
|
+
valueFormatter?: (value: number, max: number) => string;
|
|
15
|
+
showValue?: boolean;
|
|
16
|
+
loading?: boolean;
|
|
17
|
+
empty?: boolean;
|
|
18
|
+
emptyMessage?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
declare function Meter({ value, min, max, ranges, peak, label, unit, valueFormatter, showValue, loading, empty, emptyMessage, className, }: MeterProps): React.JSX.Element;
|
|
22
|
+
export { Meter };
|
|
23
|
+
export type { MeterProps, MeterRange };
|
|
24
|
+
//# sourceMappingURL=meter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/meter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,UAAU,UAAU;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC1C;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD,iBAAS,KAAK,CAAC,EACb,KAAK,EACL,GAAO,EACP,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,cAAsC,EACtC,SAAgB,EAChB,OAAe,EACf,KAAa,EACb,YAAwB,EACxB,SAAS,GACV,EAAE,UAAU,qBAqFZ;AAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Skeleton } from "./skeleton.js";
|
|
5
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
|
|
6
|
+
const STATUS_FILL = {
|
|
7
|
+
success: "var(--success-action-default)",
|
|
8
|
+
warning: "var(--warning-action-default)",
|
|
9
|
+
danger: "var(--danger-action-default)",
|
|
10
|
+
};
|
|
11
|
+
const STATUS_BACKGROUND = {
|
|
12
|
+
success: "var(--success-background-subtle)",
|
|
13
|
+
warning: "var(--warning-background-subtle)",
|
|
14
|
+
danger: "var(--danger-background-subtle)",
|
|
15
|
+
};
|
|
16
|
+
function toPercent(value, min, max) {
|
|
17
|
+
if (max === min) {
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
return Math.max(0, Math.min(100, ((value - min) / (max - min)) * 100));
|
|
21
|
+
}
|
|
22
|
+
function statusAt(value, ranges) {
|
|
23
|
+
return ranges?.find(({ range: [start, end] }) => value >= start && value <= end)?.status;
|
|
24
|
+
}
|
|
25
|
+
function defaultValueFormatter(value, max) {
|
|
26
|
+
if (max === 0) {
|
|
27
|
+
return "0%";
|
|
28
|
+
}
|
|
29
|
+
return `${Math.round((value / max) * 100)}%`;
|
|
30
|
+
}
|
|
31
|
+
function Meter({ value, min = 0, max, ranges, peak, label, unit, valueFormatter = defaultValueFormatter, showValue = true, loading = false, empty = false, emptyMessage = "No data", className, }) {
|
|
32
|
+
const generatedId = React.useId();
|
|
33
|
+
const labelId = `meter-label-${generatedId.replace(/:/g, "")}`;
|
|
34
|
+
const status = statusAt(value, ranges);
|
|
35
|
+
const fillColor = status
|
|
36
|
+
? STATUS_FILL[status]
|
|
37
|
+
: "var(--primary-action-default)";
|
|
38
|
+
const fillPercent = toPercent(value, min, max);
|
|
39
|
+
const peakPercent = peak !== undefined ? toPercent(peak, min, max) : undefined;
|
|
40
|
+
const displayValue = `${valueFormatter(value, max)}${unit ? ` ${unit}` : ""}`;
|
|
41
|
+
const valueText = `${displayValue}${status ? `, ${status}` : ""}${peak !== undefined ? `, target ${valueFormatter(peak, max)}` : ""}`;
|
|
42
|
+
const track = (_jsxs("div", { role: "meter", "aria-valuenow": value, "aria-valuemin": min, "aria-valuemax": max, "aria-valuetext": valueText, "aria-labelledby": label ? labelId : undefined, tabIndex: 0, className: "relative h-3 w-full overflow-hidden rounded-full bg-neutral-background-subtle", children: [ranges?.map(({ range: [start, end], status: rangeStatus }, index) => (_jsx("div", { "aria-hidden": "true", className: "absolute inset-y-0", style: {
|
|
43
|
+
left: `${toPercent(start, min, max)}%`,
|
|
44
|
+
width: `${toPercent(end, min, max) - toPercent(start, min, max)}%`,
|
|
45
|
+
backgroundColor: STATUS_BACKGROUND[rangeStatus],
|
|
46
|
+
} }, index))), _jsx("div", { "aria-hidden": "true", className: "absolute inset-y-0 left-0 h-full rounded-full transition-all", style: { width: `${fillPercent}%`, backgroundColor: fillColor } }), peakPercent !== undefined && (_jsx("div", { "aria-hidden": "true", className: "absolute inset-y-0 w-0.5 bg-neutral-foreground-subtle", style: { left: `${peakPercent}%` } }))] }));
|
|
47
|
+
return (_jsxs("div", { className: cn("flex w-full flex-col gap-1.5", className), children: [(label || showValue) && (_jsxs("div", { className: "flex items-center justify-between text-sm", children: [label && (_jsx("span", { id: labelId, className: "text-neutral-foreground-strong", children: label })), showValue && !loading && !empty && (_jsx("span", { className: "font-mono text-neutral-foreground-subtle tabular-nums", children: displayValue }))] })), loading ? (_jsx(Skeleton, { className: "h-3 w-full rounded-full" })) : empty ? (_jsx("div", { className: "flex h-6 w-full items-center justify-center rounded-full bg-neutral-background-subtle text-xs text-neutral-foreground-subtle", children: emptyMessage })) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: track }), _jsx(TooltipContent, { children: valueText })] }))] }));
|
|
48
|
+
}
|
|
49
|
+
export { Meter };
|
|
50
|
+
//# sourceMappingURL=meter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../../src/components/ui/meter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface ScorecardDelta {
|
|
3
|
+
value: string;
|
|
4
|
+
direction: "up" | "down";
|
|
5
|
+
variant?: "success" | "danger" | "neutral";
|
|
6
|
+
}
|
|
7
|
+
interface ScorecardSparklineData {
|
|
8
|
+
data: Record<string, unknown>[];
|
|
9
|
+
dataKey: string;
|
|
10
|
+
}
|
|
11
|
+
interface ScorecardProps {
|
|
12
|
+
label: React.ReactNode;
|
|
13
|
+
tooltip?: React.ReactNode;
|
|
14
|
+
value?: React.ReactNode;
|
|
15
|
+
delta?: ScorecardDelta;
|
|
16
|
+
sparkline?: ScorecardSparklineData;
|
|
17
|
+
asCard?: boolean;
|
|
18
|
+
size?: "default" | "sm";
|
|
19
|
+
loading?: boolean;
|
|
20
|
+
empty?: boolean;
|
|
21
|
+
emptyMessage?: string;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
declare function Scorecard({ label, tooltip, value, delta, sparkline, asCard, size, loading, empty, emptyMessage, className, }: ScorecardProps): React.JSX.Element;
|
|
25
|
+
export { Scorecard };
|
|
26
|
+
export type { ScorecardProps, ScorecardDelta, ScorecardSparklineData };
|
|
27
|
+
//# sourceMappingURL=scorecard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scorecard.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/scorecard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC5C;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqED,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAa,EACb,IAAgB,EAChB,OAAe,EACf,KAAa,EACb,YAAwB,EACxB,SAAS,GACV,EAAE,cAAc,qBAuDhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { ArrowDownRight, ArrowUpRight } from "lucide-react";
|
|
4
|
+
import { cn } from "../../lib/utils.js";
|
|
5
|
+
import { Badge } from "./badge.js";
|
|
6
|
+
import { Card, CardHeader, CardTitle } from "./card.js";
|
|
7
|
+
import { Skeleton } from "./skeleton.js";
|
|
8
|
+
import { Sparkline } from "./sparkline.js";
|
|
9
|
+
function ScorecardBody({ label, tooltip, value, delta, sparkline, size, loading, empty, emptyMessage, }) {
|
|
10
|
+
if (loading) {
|
|
11
|
+
return (_jsxs(_Fragment, { children: [_jsx(Skeleton, { className: "h-4 w-24" }), _jsx(Skeleton, { className: cn("h-7 w-20", size === "sm" && "h-6 w-16") })] }));
|
|
12
|
+
}
|
|
13
|
+
const resolvedVariant = delta
|
|
14
|
+
? (delta.variant ?? (delta.direction === "up" ? "success" : "danger"))
|
|
15
|
+
: undefined;
|
|
16
|
+
const DeltaIcon = delta?.direction === "up" ? ArrowUpRight : ArrowDownRight;
|
|
17
|
+
// `loading` is always false here — the branch above already returned
|
|
18
|
+
// before this point, so Sparkline never renders its own skeleton; the
|
|
19
|
+
// fixed two-block skeleton above is what represents loading for the tile.
|
|
20
|
+
const sparklineElement = sparkline ? (_jsx(Sparkline, { data: sparkline.data, dataKey: sparkline.dataKey, loading: false })) : null;
|
|
21
|
+
return (_jsxs(_Fragment, { children: [_jsx(CardTitle, { tooltip: tooltip, className: "text-sm font-normal", children: label }), _jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx("span", { className: cn("min-w-0 flex-1 truncate text-2xl font-semibold text-neutral-foreground-strong", size === "sm" && "text-xl"), children: empty ? emptyMessage : value }), !empty && delta && (_jsxs(Badge, { variant: resolvedVariant, className: "shrink-0", children: [_jsx(DeltaIcon, { "data-icon": "inline-start", "aria-hidden": "true" }), _jsx("span", { className: "sr-only", children: delta.direction === "up" ? "Increased by " : "Decreased by " }), delta.value] }))] }), !empty && sparklineElement] }));
|
|
22
|
+
}
|
|
23
|
+
function Scorecard({ label, tooltip, value, delta, sparkline, asCard = true, size = "default", loading = false, empty = false, emptyMessage = "No data", className, }) {
|
|
24
|
+
const content = (_jsx(ScorecardBody, { label: label, tooltip: tooltip, value: value, delta: delta, sparkline: sparkline, size: size, loading: loading, empty: empty, emptyMessage: emptyMessage }));
|
|
25
|
+
// Loading removes the title from the accessible tree (it becomes a
|
|
26
|
+
// Skeleton), so `aria-busy` alone would leave the busy region unnamed.
|
|
27
|
+
// `aria-label` alone isn't enough either: the root is a plain `<div>`
|
|
28
|
+
// (implicit role `generic`), and ARIA prohibits `aria-label` on `generic`
|
|
29
|
+
// — axe flags it as `aria-prohibited-attr`. `role="status"` (same fix
|
|
30
|
+
// `tree-view.tsx`'s own loading state already uses) both permits the name
|
|
31
|
+
// and gets the busy→loaded transition announced as a polite live region.
|
|
32
|
+
const loadingLabel = typeof label === "string" ? `Loading ${label}` : "Loading";
|
|
33
|
+
if (asCard) {
|
|
34
|
+
return (_jsx(Card, { size: size, "aria-busy": loading || undefined, role: loading ? "status" : undefined, "aria-live": loading ? "polite" : undefined, "aria-label": loading ? loadingLabel : undefined, className: cn("text-neutral-foreground-subtle", className), children: _jsx(CardHeader, { children: content }) }));
|
|
35
|
+
}
|
|
36
|
+
return (_jsx("div", { "data-slot": "scorecard", "aria-busy": loading || undefined, role: loading ? "status" : undefined, "aria-live": loading ? "polite" : undefined, "aria-label": loading ? loadingLabel : undefined, className: cn("grid auto-rows-min items-start gap-1 text-neutral-foreground-subtle", className), children: content }));
|
|
37
|
+
}
|
|
38
|
+
export { Scorecard };
|
|
39
|
+
//# sourceMappingURL=scorecard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scorecard.js","sourceRoot":"","sources":["../../../../src/components/ui/scorecard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface SparklineProps {
|
|
3
|
+
data: Record<string, unknown>[];
|
|
4
|
+
dataKey: string;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
declare function Sparkline({ data, dataKey, loading, className, }: SparklineProps): React.JSX.Element;
|
|
9
|
+
export { Sparkline };
|
|
10
|
+
export type { SparklineProps };
|
|
11
|
+
//# sourceMappingURL=sparkline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparkline.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/sparkline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,SAAS,CAAC,EACjB,IAAI,EACJ,OAAO,EACP,OAAe,EACf,SAAS,GACV,EAAE,cAAc,qBAgDhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Area, AreaChart as RechartsAreaChart, ResponsiveContainer, YAxis, } from "recharts";
|
|
4
|
+
import { cn } from "../../lib/utils.js";
|
|
5
|
+
import { Skeleton } from "./skeleton.js";
|
|
6
|
+
function Sparkline({ data, dataKey, loading = false, className, }) {
|
|
7
|
+
// Colons stripped for the same reason as chart.tsx's own generated id: a
|
|
8
|
+
// useId() value like ":r0:" is a valid element id, but referencing it via
|
|
9
|
+
// `url(#:r0:)` for the gradient fill is unreliable across browsers.
|
|
10
|
+
const gradientId = `sparkline-gradient-${React.useId().replace(/:/g, "")}`;
|
|
11
|
+
return (_jsx("div", { "data-slot": "sparkline", className: cn("h-8 w-full", className), children: loading ? (_jsx(Skeleton, { className: "h-full w-full" })) : (_jsx(ResponsiveContainer, { children: _jsxs(RechartsAreaChart, { data: data, "aria-hidden": "true",
|
|
12
|
+
// Sparkline has no tooltip or interaction to surface — unlike
|
|
13
|
+
// BarChart/LineChart, which enable this unconditionally, the
|
|
14
|
+
// default `true` here would otherwise make the SVG an unexpected
|
|
15
|
+
// tab stop (role="application", tabIndex=0) with nothing to do.
|
|
16
|
+
accessibilityLayer: false, children: [_jsx("defs", { children: _jsxs("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [_jsx("stop", { offset: "0%", stopColor: "var(--chart-1)", stopOpacity: 0.25 }), _jsx("stop", { offset: "100%", stopColor: "var(--chart-1)", stopOpacity: 0 })] }) }), _jsx(YAxis, { hide: true, domain: ["dataMin", "dataMax"] }), _jsx(Area, { dataKey: dataKey, stroke: "var(--chart-1)", strokeWidth: 2, fill: `url(#${gradientId})`, isAnimationActive: false })] }) })) }));
|
|
17
|
+
}
|
|
18
|
+
export { Sparkline };
|
|
19
|
+
//# sourceMappingURL=sparkline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparkline.js","sourceRoot":"","sources":["../../../../src/components/ui/sparkline.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,IAAI,EACJ,SAAS,IAAI,iBAAiB,EAC9B,mBAAmB,EACnB,KAAK,GACN,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC,SAAS,SAAS,CAAC,EACjB,IAAI,EACJ,OAAO,EACP,OAAO,GAAG,KAAK,EACf,SAAS,GACM;IACf,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,UAAU,GAAG,sBAAsB,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;IAE3E,OAAO,CACL,2BAAe,WAAW,EAAC,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,YAC9D,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,QAAQ,IAAC,SAAS,EAAC,eAAe,GAAG,CACvC,CAAC,CAAC,CAAC,CACF,KAAC,mBAAmB,cAClB,MAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,iBACE,MAAM;gBAClB,8DAA8D;gBAC9D,6DAA6D;gBAC7D,iEAAiE;gBACjE,gEAAgE;gBAChE,kBAAkB,EAAE,KAAK,aAEzB,yBACE,0BAAgB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,aACzD,eACE,MAAM,EAAC,IAAI,EACX,SAAS,EAAC,gBAAgB,EAC1B,WAAW,EAAE,IAAI,GACjB,EACF,eACE,MAAM,EAAC,MAAM,EACb,SAAS,EAAC,gBAAgB,EAC1B,WAAW,EAAE,CAAC,GACd,IACa,GACZ,EACP,KAAC,KAAK,IAAC,IAAI,QAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,GAAI,EAC9C,KAAC,IAAI,IACH,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,gBAAgB,EACvB,WAAW,EAAE,CAAC,EACd,IAAI,EAAE,QAAQ,UAAU,GAAG,EAC3B,iBAAiB,EAAE,KAAK,GACxB,IACgB,GACA,CACvB,GACG,CACP,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface TimeRangePreset {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
days: number;
|
|
5
|
+
}
|
|
6
|
+
declare function filterByTimeRange(data: Record<string, unknown>[], dateKey: string, preset: string, presets?: TimeRangePreset[]): Record<string, unknown>[];
|
|
7
|
+
interface TimeRangeSelectorProps {
|
|
8
|
+
data: Record<string, unknown>[];
|
|
9
|
+
dateKey: string;
|
|
10
|
+
presets?: TimeRangePreset[];
|
|
11
|
+
value?: string;
|
|
12
|
+
defaultValue?: string;
|
|
13
|
+
onValueChange?: (value: string, filteredData: Record<string, unknown>[]) => void;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
declare function TimeRangeSelector({ data, dateKey, presets, value, defaultValue, onValueChange, className, }: TimeRangeSelectorProps): import("react").JSX.Element;
|
|
17
|
+
export { TimeRangeSelector, filterByTimeRange };
|
|
18
|
+
export type { TimeRangeSelectorProps, TimeRangePreset };
|
|
19
|
+
//# sourceMappingURL=time-range-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-range-selector.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/time-range-selector.tsx"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AASD,iBAAS,iBAAiB,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAe,EAAoB,GAC3C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAwB3B;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KACpC,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,OAAyB,EACzB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,SAAS,GACV,EAAE,sBAAsB,+BA4CxB;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAChD,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { ToggleGroup, ToggleGroupItem } from "./toggle-group.js";
|
|
4
|
+
const DEFAULT_PRESETS = [
|
|
5
|
+
{ value: "7d", label: "7D", days: 7 },
|
|
6
|
+
{ value: "30d", label: "30D", days: 30 },
|
|
7
|
+
{ value: "90d", label: "90D", days: 90 },
|
|
8
|
+
{ value: "all", label: "All", days: Infinity },
|
|
9
|
+
];
|
|
10
|
+
function filterByTimeRange(data, dateKey, preset, presets = DEFAULT_PRESETS) {
|
|
11
|
+
const presetConfig = presets.find((p) => p.value === preset);
|
|
12
|
+
if (!presetConfig || presetConfig.days === Infinity || data.length === 0) {
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
const dateValue = (row) => new Date(row[dateKey]).getTime();
|
|
16
|
+
const validTimestamps = data
|
|
17
|
+
.map(dateValue)
|
|
18
|
+
.filter((timestamp) => Number.isFinite(timestamp));
|
|
19
|
+
if (validTimestamps.length === 0) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
const mostRecent = Math.max(...validTimestamps);
|
|
23
|
+
const cutoff = mostRecent - presetConfig.days * 24 * 60 * 60 * 1000;
|
|
24
|
+
return data.filter((row) => {
|
|
25
|
+
const timestamp = dateValue(row);
|
|
26
|
+
return Number.isFinite(timestamp) && timestamp >= cutoff;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function TimeRangeSelector({ data, dateKey, presets = DEFAULT_PRESETS, value, defaultValue, onValueChange, className, }) {
|
|
30
|
+
// TimeRangeSelector always controls the underlying ToggleGroup itself
|
|
31
|
+
// (never lets it manage uncontrolled state via `defaultValue`), so that
|
|
32
|
+
// Radix's root is controlled whether or not the outer consumer controls
|
|
33
|
+
// `value`. Without this, an uncontrolled ToggleGroup mutates its own
|
|
34
|
+
// internal state to "" the instant the active item is re-clicked -
|
|
35
|
+
// visually deselecting every button - before the guard below ever runs.
|
|
36
|
+
const fallbackValue = presets[0]?.value;
|
|
37
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? fallbackValue);
|
|
38
|
+
const resolvedValue = value ?? internalValue ?? fallbackValue;
|
|
39
|
+
const handleValueChange = (newValue) => {
|
|
40
|
+
// Radix's single-select ToggleGroup emits "" when the active item is
|
|
41
|
+
// clicked again (deselect). A time range control always has exactly one
|
|
42
|
+
// active preset, so that case is ignored rather than propagated.
|
|
43
|
+
if (!newValue) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (value === undefined) {
|
|
47
|
+
setInternalValue(newValue);
|
|
48
|
+
}
|
|
49
|
+
onValueChange?.(newValue, filterByTimeRange(data, dateKey, newValue, presets));
|
|
50
|
+
};
|
|
51
|
+
return (_jsx(ToggleGroup, { type: "single", variant: "outline", value: resolvedValue, onValueChange: handleValueChange, className: className, children: presets.map((preset) => (_jsx(ToggleGroupItem, { value: preset.value, children: preset.label }, preset.value))) }));
|
|
52
|
+
}
|
|
53
|
+
export { TimeRangeSelector, filterByTimeRange };
|
|
54
|
+
//# sourceMappingURL=time-range-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-range-selector.js","sourceRoot":"","sources":["../../../../src/components/ui/time-range-selector.tsx"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ export { AppSidebar, type AppSidebarProps, type SidebarNode, type SidebarItem, t
|
|
|
6
6
|
export { Avatar, type AvatarProps } from "./components/ui/avatar.js";
|
|
7
7
|
export { Badge, badgeVariants } from "./components/ui/badge.js";
|
|
8
8
|
export { BarChart, type BarChartProps } from "./components/ui/bar-chart.js";
|
|
9
|
+
export { LineChart, type LineChartProps } from "./components/ui/line-chart.js";
|
|
10
|
+
export { Meter, type MeterProps, type MeterRange } from "./components/ui/meter.js";
|
|
11
|
+
export { Scorecard, type ScorecardProps, type ScorecardDelta, type ScorecardSparklineData, } from "./components/ui/scorecard.js";
|
|
12
|
+
export { Sparkline, type SparklineProps } from "./components/ui/sparkline.js";
|
|
9
13
|
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "./components/ui/breadcrumb.js";
|
|
10
14
|
export { Button, buttonVariants } from "./components/ui/button.js";
|
|
11
15
|
export { NavBreadcrumb, NavBreadcrumbItem, } from "./components/ui/nav-breadcrumb.js";
|
|
@@ -44,6 +48,7 @@ export { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs.j
|
|
|
44
48
|
export { Textarea } from "./components/ui/textarea.js";
|
|
45
49
|
export { Toggle, toggleVariants } from "./components/ui/toggle.js";
|
|
46
50
|
export { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
|
|
51
|
+
export { TimeRangeSelector, filterByTimeRange, type TimeRangeSelectorProps, type TimeRangePreset, } from "./components/ui/time-range-selector.js";
|
|
47
52
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "./components/ui/tooltip.js";
|
|
48
53
|
export { TreeView, TreeNode } from "./components/ui/tree-view.js";
|
|
49
54
|
export { UserMenu, type UserMenuItem, type UserMenuProps, } from "./components/ui/user-menu.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EACL,UAAU,EACV,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACL,OAAO,EACP,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,QAAQ,EACR,aAAa,EACb,MAAM,EACN,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,WAAW,GACZ,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -6,6 +6,10 @@ export { AppSidebar, } from "./components/ui/app-sidebar.js";
|
|
|
6
6
|
export { Avatar } from "./components/ui/avatar.js";
|
|
7
7
|
export { Badge, badgeVariants } from "./components/ui/badge.js";
|
|
8
8
|
export { BarChart } from "./components/ui/bar-chart.js";
|
|
9
|
+
export { LineChart } from "./components/ui/line-chart.js";
|
|
10
|
+
export { Meter } from "./components/ui/meter.js";
|
|
11
|
+
export { Scorecard, } from "./components/ui/scorecard.js";
|
|
12
|
+
export { Sparkline } from "./components/ui/sparkline.js";
|
|
9
13
|
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "./components/ui/breadcrumb.js";
|
|
10
14
|
export { Button, buttonVariants } from "./components/ui/button.js";
|
|
11
15
|
export { NavBreadcrumb, NavBreadcrumbItem, } from "./components/ui/nav-breadcrumb.js";
|
|
@@ -43,6 +47,7 @@ export { Tabs, TabsContent, TabsList, TabsTrigger } from "./components/ui/tabs.j
|
|
|
43
47
|
export { Textarea } from "./components/ui/textarea.js";
|
|
44
48
|
export { Toggle, toggleVariants } from "./components/ui/toggle.js";
|
|
45
49
|
export { ToggleGroup, ToggleGroupItem } from "./components/ui/toggle-group.js";
|
|
50
|
+
export { TimeRangeSelector, filterByTimeRange, } from "./components/ui/time-range-selector.js";
|
|
46
51
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "./components/ui/tooltip.js";
|
|
47
52
|
export { TreeView, TreeNode } from "./components/ui/tree-view.js";
|
|
48
53
|
export { UserMenu, } from "./components/ui/user-menu.js";
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -635,6 +635,9 @@
|
|
|
635
635
|
.w-0 {
|
|
636
636
|
width: 0;
|
|
637
637
|
}
|
|
638
|
+
.w-0\.5 {
|
|
639
|
+
width: calc(var(--spacing) * 0.5);
|
|
640
|
+
}
|
|
638
641
|
.w-1 {
|
|
639
642
|
width: var(--spacing);
|
|
640
643
|
}
|
|
@@ -827,6 +830,9 @@
|
|
|
827
830
|
.flex-1 {
|
|
828
831
|
flex: 1;
|
|
829
832
|
}
|
|
833
|
+
.flex-initial {
|
|
834
|
+
flex: 0 auto;
|
|
835
|
+
}
|
|
830
836
|
.flex-shrink-0 {
|
|
831
837
|
flex-shrink: 0;
|
|
832
838
|
}
|
|
@@ -914,6 +920,9 @@
|
|
|
914
920
|
.cursor-default {
|
|
915
921
|
cursor: default;
|
|
916
922
|
}
|
|
923
|
+
.cursor-help {
|
|
924
|
+
cursor: help;
|
|
925
|
+
}
|
|
917
926
|
.cursor-not-allowed {
|
|
918
927
|
cursor: not-allowed;
|
|
919
928
|
}
|
|
@@ -1058,6 +1067,9 @@
|
|
|
1058
1067
|
.gap-40 {
|
|
1059
1068
|
gap: calc(var(--spacing) * 40);
|
|
1060
1069
|
}
|
|
1070
|
+
.gap-\[0\.3125rem\] {
|
|
1071
|
+
gap: 0.3125rem;
|
|
1072
|
+
}
|
|
1061
1073
|
.space-y-1 {
|
|
1062
1074
|
:where(& > :not(:last-child)) {
|
|
1063
1075
|
--tw-space-y-reverse: 0;
|
|
@@ -1448,6 +1460,9 @@
|
|
|
1448
1460
|
.bg-neutral-background-subtle {
|
|
1449
1461
|
background-color: var(--neutral-background-subtle);
|
|
1450
1462
|
}
|
|
1463
|
+
.bg-neutral-foreground-subtle {
|
|
1464
|
+
background-color: var(--neutral-foreground-subtle);
|
|
1465
|
+
}
|
|
1451
1466
|
.bg-orange-100 {
|
|
1452
1467
|
background-color: var(--color-orange-100);
|
|
1453
1468
|
}
|
|
@@ -1856,6 +1871,9 @@
|
|
|
1856
1871
|
.text-balance {
|
|
1857
1872
|
text-wrap: balance;
|
|
1858
1873
|
}
|
|
1874
|
+
.text-ellipsis {
|
|
1875
|
+
text-overflow: ellipsis;
|
|
1876
|
+
}
|
|
1859
1877
|
.whitespace-nowrap {
|
|
1860
1878
|
white-space: nowrap;
|
|
1861
1879
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Camunda's AI-first design system. shadcn + Tailwind components, design tokens aligned to Camunda's identity, and AI tooling for component authoring + migration.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|