@trackunit/react-components 1.4.51 → 1.4.54
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/index.cjs.js +18 -15
- package/index.esm.js +18 -15
- package/package.json +6 -6
- package/src/components/Indicator/Indicator.d.ts +6 -2
- package/src/components/Indicator/Indicator.variants.d.ts +2 -1
- package/src/components/KPI/KPI.d.ts +2 -16
- package/src/components/KPI/KPI.variants.d.ts +0 -1
- package/src/components/KPICard/KPICard.d.ts +6 -2
package/index.cjs.js
CHANGED
|
@@ -2563,16 +2563,20 @@ const Tooltip = ({ children, dataTestId = "tool-tip", disabled, className, label
|
|
|
2563
2563
|
|
|
2564
2564
|
const cvaIndicator = cssClassVarianceUtilities.cvaMerge(["flex", "items-center"]);
|
|
2565
2565
|
const cvaIndicatorIcon = cssClassVarianceUtilities.cvaMerge(["mr-2"]);
|
|
2566
|
-
const cvaIndicatorLabel = cssClassVarianceUtilities.cvaMerge(["
|
|
2566
|
+
const cvaIndicatorLabel = cssClassVarianceUtilities.cvaMerge(["capitalize", "text-secondary-600"], {
|
|
2567
2567
|
variants: {
|
|
2568
2568
|
size: {
|
|
2569
2569
|
small: "pl-1 pr-1 text-xs",
|
|
2570
2570
|
medium: "pl-2 pr-2 text-sm",
|
|
2571
|
-
|
|
2571
|
+
},
|
|
2572
|
+
weight: {
|
|
2573
|
+
normal: "font-normal",
|
|
2574
|
+
medium: "font-medium",
|
|
2572
2575
|
},
|
|
2573
2576
|
},
|
|
2574
2577
|
defaultVariants: {
|
|
2575
2578
|
size: "medium",
|
|
2579
|
+
weight: "medium",
|
|
2576
2580
|
},
|
|
2577
2581
|
});
|
|
2578
2582
|
const cvaIndicatorPing = cssClassVarianceUtilities.cvaMerge(["animate-ping-sm", "absolute", "inline-flex", "h-full", "w-full", "rounded-full", "opacity-75", "bg-neutral-600"], {
|
|
@@ -2680,11 +2684,10 @@ const cvaIndicatorIconBackground = cssClassVarianceUtilities.cvaMerge(["rounded-
|
|
|
2680
2684
|
* @param {IndicatorProps} props - The props for the Indicator component
|
|
2681
2685
|
* @returns {ReactElement} Indicator component
|
|
2682
2686
|
*/
|
|
2683
|
-
const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground = true, withLabel = true, ping = false, size, className, ...rest }) => {
|
|
2684
|
-
return (jsxRuntime.jsx(Tooltip, { className: className, disabled: withLabel, label: label, placement: "bottom", children: jsxRuntime.jsxs("div", { "aria-label": label, className: cvaIndicator(), "data-testid": dataTestId, ...rest, children: [jsxRuntime.jsxs("div", { className: cvaIndicatorIconBackground({ color, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-background` : "indicator-background", children: [ping ? (jsxRuntime.jsx("div", { className: cvaIndicatorPing({ color }), "data-testid": dataTestId ? `${dataTestId}-ping` : "indicator-ping" })) : null, icon] }), label !== undefined && withLabel ? (jsxRuntime.jsx("div", { className: cvaIndicatorLabel({ size }), "data-testid": dataTestId ? `${dataTestId}-label` : "indicator-label", children: label })) : null] }) }));
|
|
2687
|
+
const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground = true, withLabel = true, ping = false, size, weight, className, ...rest }) => {
|
|
2688
|
+
return (jsxRuntime.jsx(Tooltip, { className: className, disabled: withLabel, label: label, placement: "bottom", children: jsxRuntime.jsxs("div", { "aria-label": label, className: cvaIndicator(), "data-testid": dataTestId, ...rest, children: [jsxRuntime.jsxs("div", { className: cvaIndicatorIconBackground({ color, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-background` : "indicator-background", children: [ping ? (jsxRuntime.jsx("div", { className: cvaIndicatorPing({ color }), "data-testid": dataTestId ? `${dataTestId}-ping` : "indicator-ping" })) : null, icon] }), label !== undefined && withLabel ? (jsxRuntime.jsx("div", { className: cvaIndicatorLabel({ size, weight }), "data-testid": dataTestId ? `${dataTestId}-label` : "indicator-label", children: label })) : null] }) }));
|
|
2685
2689
|
};
|
|
2686
2690
|
|
|
2687
|
-
const cvaKPIContainer = cssClassVarianceUtilities.cvaMerge(["inline-flex"]);
|
|
2688
2691
|
const cvaKPI = cssClassVarianceUtilities.cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col", "gap-1"], {
|
|
2689
2692
|
variants: {
|
|
2690
2693
|
variant: {
|
|
@@ -2741,13 +2744,12 @@ const LoadingContent$1 = () => (jsxRuntime.jsx("div", { className: "flex h-11 fl
|
|
|
2741
2744
|
* @param {KPIProps} props - The props for the KPI component
|
|
2742
2745
|
* @returns {ReactElement} KPI component
|
|
2743
2746
|
*/
|
|
2744
|
-
const KPI = ({
|
|
2745
|
-
const Comp = asChild ? reactSlot.Slot : "div";
|
|
2747
|
+
const KPI = ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant = "default", trend, ...rest }) => {
|
|
2746
2748
|
const isSmallVariant = variant === "small";
|
|
2747
|
-
return (jsxRuntime.
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2749
|
+
return (jsxRuntime.jsx(Tooltip, { disabled: !tooltipLabel, label: tooltipLabel, placement: "bottom", children: jsxRuntime.jsx("div", { className: cvaKPI({ variant, className }), "data-testid": dataTestId ? `${dataTestId}` : undefined, ...rest, children: loading ? (jsxRuntime.jsx(LoadingContent$1, {})) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Text, { className: cvaKPITitleText(), dataTestId: dataTestId ? `${dataTestId}-title` : undefined, size: isSmallVariant ? "small" : "medium", subtle: true, weight: isSmallVariant ? "normal" : "bold", children: title }), jsxRuntime.jsx(Text, { className: cvaKPIvalueText({ variant }), dataTestId: dataTestId ? `${dataTestId}-value` : undefined, size: isSmallVariant ? "small" : "large", type: "div", weight: isSmallVariant ? "bold" : "thick", children: jsxRuntime.jsxs("div", { className: cvaKPIValueContainer({
|
|
2750
|
+
isDefaultAndHasTrendValue: Boolean(trend?.value && !isSmallVariant),
|
|
2751
|
+
className,
|
|
2752
|
+
}), children: [jsxRuntime.jsxs("span", { className: cvaKPIvalueText({ variant }), children: [value, " ", unit] }), jsxRuntime.jsx(TrendIndicator, { isSmallVariant: isSmallVariant, trend: trend, unit: unit })] }) })] })) }) }));
|
|
2751
2753
|
};
|
|
2752
2754
|
const TrendIndicator = ({ trend, unit, isSmallVariant }) => {
|
|
2753
2755
|
if (!trend) {
|
|
@@ -2756,7 +2758,7 @@ const TrendIndicator = ({ trend, unit, isSmallVariant }) => {
|
|
|
2756
2758
|
return (jsxRuntime.jsxs("div", { className: "flex flex-row items-center gap-1", "data-testid": "trend-indicator", children: [!isSmallVariant && trend.value ? (jsxRuntime.jsxs(Text, { dataTestId: "trend-value", size: "small", weight: "normal", children: [trend.value, " ", unit] })) : null, trend.variant?.icon ? jsxRuntime.jsx(Icon, { color: trend.variant.color, name: trend.variant.icon, size: "small" }) : null, trend.percentage ? (jsxRuntime.jsxs(Text, { className: cvaKPITrendPercentage({ color: trend.variant?.color }), size: "small", weight: "bold", children: [trend.percentage, "%"] })) : null] }));
|
|
2757
2759
|
};
|
|
2758
2760
|
|
|
2759
|
-
const cvaKPICard = cssClassVarianceUtilities.cvaMerge(["inline-flex", "gap-1"
|
|
2761
|
+
const cvaKPICard = cssClassVarianceUtilities.cvaMerge(["inline-flex", "gap-1"], {
|
|
2760
2762
|
variants: {
|
|
2761
2763
|
isClickable: {
|
|
2762
2764
|
true: ["hover:bg-slate-50", "component-card-border"],
|
|
@@ -2785,13 +2787,14 @@ const cvaKPICard = cssClassVarianceUtilities.cvaMerge(["inline-flex", "gap-1", "
|
|
|
2785
2787
|
* @param {KPICardProps} props - The props for the KPICard component
|
|
2786
2788
|
* @returns {ReactElement} KPICard component
|
|
2787
2789
|
*/
|
|
2788
|
-
const KPICard = ({ isActive, onClick, className, ...rest }) => {
|
|
2790
|
+
const KPICard = ({ isActive, onClick, className, dataTestId, children, ...rest }) => {
|
|
2791
|
+
const isClickable = Boolean(onClick && !rest.loading);
|
|
2789
2792
|
return (jsxRuntime.jsx(Card, { className: cvaKPICard({
|
|
2790
|
-
isClickable
|
|
2793
|
+
isClickable,
|
|
2791
2794
|
isActive,
|
|
2792
2795
|
variant: rest.variant,
|
|
2793
2796
|
className,
|
|
2794
|
-
}),
|
|
2797
|
+
}), "data-testid": dataTestId ? dataTestId : undefined, onClick: onClick, children: jsxRuntime.jsxs(CardBody, { density: "compact", children: [jsxRuntime.jsx(KPI, { ...rest, className: "p-0", dataTestId: dataTestId ? `${dataTestId}-kpi` : undefined }), children] }) }));
|
|
2795
2798
|
};
|
|
2796
2799
|
|
|
2797
2800
|
const cvaMenuList = cssClassVarianceUtilities.cvaMerge([
|
package/index.esm.js
CHANGED
|
@@ -2561,16 +2561,20 @@ const Tooltip = ({ children, dataTestId = "tool-tip", disabled, className, label
|
|
|
2561
2561
|
|
|
2562
2562
|
const cvaIndicator = cvaMerge(["flex", "items-center"]);
|
|
2563
2563
|
const cvaIndicatorIcon = cvaMerge(["mr-2"]);
|
|
2564
|
-
const cvaIndicatorLabel = cvaMerge(["
|
|
2564
|
+
const cvaIndicatorLabel = cvaMerge(["capitalize", "text-secondary-600"], {
|
|
2565
2565
|
variants: {
|
|
2566
2566
|
size: {
|
|
2567
2567
|
small: "pl-1 pr-1 text-xs",
|
|
2568
2568
|
medium: "pl-2 pr-2 text-sm",
|
|
2569
|
-
|
|
2569
|
+
},
|
|
2570
|
+
weight: {
|
|
2571
|
+
normal: "font-normal",
|
|
2572
|
+
medium: "font-medium",
|
|
2570
2573
|
},
|
|
2571
2574
|
},
|
|
2572
2575
|
defaultVariants: {
|
|
2573
2576
|
size: "medium",
|
|
2577
|
+
weight: "medium",
|
|
2574
2578
|
},
|
|
2575
2579
|
});
|
|
2576
2580
|
const cvaIndicatorPing = cvaMerge(["animate-ping-sm", "absolute", "inline-flex", "h-full", "w-full", "rounded-full", "opacity-75", "bg-neutral-600"], {
|
|
@@ -2678,11 +2682,10 @@ const cvaIndicatorIconBackground = cvaMerge(["rounded-full", "items-center", "ju
|
|
|
2678
2682
|
* @param {IndicatorProps} props - The props for the Indicator component
|
|
2679
2683
|
* @returns {ReactElement} Indicator component
|
|
2680
2684
|
*/
|
|
2681
|
-
const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground = true, withLabel = true, ping = false, size, className, ...rest }) => {
|
|
2682
|
-
return (jsx(Tooltip, { className: className, disabled: withLabel, label: label, placement: "bottom", children: jsxs("div", { "aria-label": label, className: cvaIndicator(), "data-testid": dataTestId, ...rest, children: [jsxs("div", { className: cvaIndicatorIconBackground({ color, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-background` : "indicator-background", children: [ping ? (jsx("div", { className: cvaIndicatorPing({ color }), "data-testid": dataTestId ? `${dataTestId}-ping` : "indicator-ping" })) : null, icon] }), label !== undefined && withLabel ? (jsx("div", { className: cvaIndicatorLabel({ size }), "data-testid": dataTestId ? `${dataTestId}-label` : "indicator-label", children: label })) : null] }) }));
|
|
2685
|
+
const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground = true, withLabel = true, ping = false, size, weight, className, ...rest }) => {
|
|
2686
|
+
return (jsx(Tooltip, { className: className, disabled: withLabel, label: label, placement: "bottom", children: jsxs("div", { "aria-label": label, className: cvaIndicator(), "data-testid": dataTestId, ...rest, children: [jsxs("div", { className: cvaIndicatorIconBackground({ color, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-background` : "indicator-background", children: [ping ? (jsx("div", { className: cvaIndicatorPing({ color }), "data-testid": dataTestId ? `${dataTestId}-ping` : "indicator-ping" })) : null, icon] }), label !== undefined && withLabel ? (jsx("div", { className: cvaIndicatorLabel({ size, weight }), "data-testid": dataTestId ? `${dataTestId}-label` : "indicator-label", children: label })) : null] }) }));
|
|
2683
2687
|
};
|
|
2684
2688
|
|
|
2685
|
-
const cvaKPIContainer = cvaMerge(["inline-flex"]);
|
|
2686
2689
|
const cvaKPI = cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col", "gap-1"], {
|
|
2687
2690
|
variants: {
|
|
2688
2691
|
variant: {
|
|
@@ -2739,13 +2742,12 @@ const LoadingContent$1 = () => (jsx("div", { className: "flex h-11 flex-row item
|
|
|
2739
2742
|
* @param {KPIProps} props - The props for the KPI component
|
|
2740
2743
|
* @returns {ReactElement} KPI component
|
|
2741
2744
|
*/
|
|
2742
|
-
const KPI = ({
|
|
2743
|
-
const Comp = asChild ? Slot : "div";
|
|
2745
|
+
const KPI = ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant = "default", trend, ...rest }) => {
|
|
2744
2746
|
const isSmallVariant = variant === "small";
|
|
2745
|
-
return (
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2747
|
+
return (jsx(Tooltip, { disabled: !tooltipLabel, label: tooltipLabel, placement: "bottom", children: jsx("div", { className: cvaKPI({ variant, className }), "data-testid": dataTestId ? `${dataTestId}` : undefined, ...rest, children: loading ? (jsx(LoadingContent$1, {})) : (jsxs(Fragment, { children: [jsx(Text, { className: cvaKPITitleText(), dataTestId: dataTestId ? `${dataTestId}-title` : undefined, size: isSmallVariant ? "small" : "medium", subtle: true, weight: isSmallVariant ? "normal" : "bold", children: title }), jsx(Text, { className: cvaKPIvalueText({ variant }), dataTestId: dataTestId ? `${dataTestId}-value` : undefined, size: isSmallVariant ? "small" : "large", type: "div", weight: isSmallVariant ? "bold" : "thick", children: jsxs("div", { className: cvaKPIValueContainer({
|
|
2748
|
+
isDefaultAndHasTrendValue: Boolean(trend?.value && !isSmallVariant),
|
|
2749
|
+
className,
|
|
2750
|
+
}), children: [jsxs("span", { className: cvaKPIvalueText({ variant }), children: [value, " ", unit] }), jsx(TrendIndicator, { isSmallVariant: isSmallVariant, trend: trend, unit: unit })] }) })] })) }) }));
|
|
2749
2751
|
};
|
|
2750
2752
|
const TrendIndicator = ({ trend, unit, isSmallVariant }) => {
|
|
2751
2753
|
if (!trend) {
|
|
@@ -2754,7 +2756,7 @@ const TrendIndicator = ({ trend, unit, isSmallVariant }) => {
|
|
|
2754
2756
|
return (jsxs("div", { className: "flex flex-row items-center gap-1", "data-testid": "trend-indicator", children: [!isSmallVariant && trend.value ? (jsxs(Text, { dataTestId: "trend-value", size: "small", weight: "normal", children: [trend.value, " ", unit] })) : null, trend.variant?.icon ? jsx(Icon, { color: trend.variant.color, name: trend.variant.icon, size: "small" }) : null, trend.percentage ? (jsxs(Text, { className: cvaKPITrendPercentage({ color: trend.variant?.color }), size: "small", weight: "bold", children: [trend.percentage, "%"] })) : null] }));
|
|
2755
2757
|
};
|
|
2756
2758
|
|
|
2757
|
-
const cvaKPICard = cvaMerge(["inline-flex", "gap-1"
|
|
2759
|
+
const cvaKPICard = cvaMerge(["inline-flex", "gap-1"], {
|
|
2758
2760
|
variants: {
|
|
2759
2761
|
isClickable: {
|
|
2760
2762
|
true: ["hover:bg-slate-50", "component-card-border"],
|
|
@@ -2783,13 +2785,14 @@ const cvaKPICard = cvaMerge(["inline-flex", "gap-1", "p-0"], {
|
|
|
2783
2785
|
* @param {KPICardProps} props - The props for the KPICard component
|
|
2784
2786
|
* @returns {ReactElement} KPICard component
|
|
2785
2787
|
*/
|
|
2786
|
-
const KPICard = ({ isActive, onClick, className, ...rest }) => {
|
|
2788
|
+
const KPICard = ({ isActive, onClick, className, dataTestId, children, ...rest }) => {
|
|
2789
|
+
const isClickable = Boolean(onClick && !rest.loading);
|
|
2787
2790
|
return (jsx(Card, { className: cvaKPICard({
|
|
2788
|
-
isClickable
|
|
2791
|
+
isClickable,
|
|
2789
2792
|
isActive,
|
|
2790
2793
|
variant: rest.variant,
|
|
2791
2794
|
className,
|
|
2792
|
-
}),
|
|
2795
|
+
}), "data-testid": dataTestId ? dataTestId : undefined, onClick: onClick, children: jsxs(CardBody, { density: "compact", children: [jsx(KPI, { ...rest, className: "p-0", dataTestId: dataTestId ? `${dataTestId}-kpi` : undefined }), children] }) }));
|
|
2793
2796
|
};
|
|
2794
2797
|
|
|
2795
2798
|
const cvaMenuList = cvaMerge([
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/react-components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.54",
|
|
4
4
|
"repository": "https://github.com/Trackunit/manager",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"engines": {
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"@tanstack/react-router": "1.47.1",
|
|
19
19
|
"string-ts": "^2.0.0",
|
|
20
20
|
"tailwind-merge": "^2.0.0",
|
|
21
|
-
"@trackunit/ui-design-tokens": "1.3.
|
|
22
|
-
"@trackunit/css-class-variance-utilities": "1.3.
|
|
23
|
-
"@trackunit/shared-utils": "1.5.
|
|
24
|
-
"@trackunit/ui-icons": "1.3.
|
|
25
|
-
"@trackunit/react-table-pagination": "1.3.
|
|
21
|
+
"@trackunit/ui-design-tokens": "1.3.44",
|
|
22
|
+
"@trackunit/css-class-variance-utilities": "1.3.44",
|
|
23
|
+
"@trackunit/shared-utils": "1.5.44",
|
|
24
|
+
"@trackunit/ui-icons": "1.3.44",
|
|
25
|
+
"@trackunit/react-table-pagination": "1.3.45"
|
|
26
26
|
},
|
|
27
27
|
"module": "./index.esm.js",
|
|
28
28
|
"main": "./index.cjs.js",
|
|
@@ -13,7 +13,11 @@ export interface IndicatorProps extends CommonProps {
|
|
|
13
13
|
/**
|
|
14
14
|
* The size of the label's text
|
|
15
15
|
*/
|
|
16
|
-
size?: "small" | "medium"
|
|
16
|
+
size?: "small" | "medium";
|
|
17
|
+
/**
|
|
18
|
+
* The weight of the label's text
|
|
19
|
+
*/
|
|
20
|
+
weight?: "normal" | "medium";
|
|
17
21
|
/**
|
|
18
22
|
* A text label to be displayed next to the indicator
|
|
19
23
|
*/
|
|
@@ -43,4 +47,4 @@ export interface IndicatorProps extends CommonProps {
|
|
|
43
47
|
* @param {IndicatorProps} props - The props for the Indicator component
|
|
44
48
|
* @returns {ReactElement} Indicator component
|
|
45
49
|
*/
|
|
46
|
-
export declare const Indicator: ({ dataTestId, icon, label, color, withBackground, withLabel, ping, size, className, ...rest }: IndicatorProps) => ReactElement;
|
|
50
|
+
export declare const Indicator: ({ dataTestId, icon, label, color, withBackground, withLabel, ping, size, weight, className, ...rest }: IndicatorProps) => ReactElement;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export declare const cvaIndicator: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
|
|
2
2
|
export declare const cvaIndicatorIcon: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
|
|
3
3
|
export declare const cvaIndicatorLabel: (props?: ({
|
|
4
|
-
size?: "small" | "medium" |
|
|
4
|
+
size?: "small" | "medium" | null | undefined;
|
|
5
|
+
weight?: "medium" | "normal" | null | undefined;
|
|
5
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
6
7
|
export declare const cvaIndicatorPing: (props?: ({
|
|
7
8
|
color?: "primary" | "secondary" | "neutral" | "info" | "success" | "warning" | "danger" | "good" | "low" | "critical" | "working" | "idle" | "stopped" | "moving" | "active" | "unknown" | "unused" | "utilized" | "heavily_utilized" | "unknown_utilization" | "available" | "on_rent" | "pickup_ready" | "transfer" | "in_repair" | "returned" | "other_rental_status" | "site_area" | "site_classic_poi" | "site_classic_zone" | "site_depot" | "site_work_place" | "site_construction_site" | "site_unknown" | "white" | "black" | null | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
2
|
import { CommonProps } from "../../common";
|
|
3
3
|
export interface KPIProps extends CommonProps {
|
|
4
4
|
/**
|
|
@@ -17,20 +17,6 @@ export interface KPIProps extends CommonProps {
|
|
|
17
17
|
* Whether or not to show the loading state
|
|
18
18
|
*/
|
|
19
19
|
loading?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Use asChild to render the KPI as another component
|
|
22
|
-
*/
|
|
23
|
-
asChild?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Only add when asChild is true.
|
|
26
|
-
* The child element is used to wrap the KPI component to set it to another HTML element.
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* <KPI {...props}>
|
|
30
|
-
* <Link to="/" />
|
|
31
|
-
* </KPI>
|
|
32
|
-
*/
|
|
33
|
-
children?: ReactNode;
|
|
34
20
|
/**
|
|
35
21
|
* Label for the tooltip
|
|
36
22
|
*/
|
|
@@ -72,4 +58,4 @@ export interface KPIProps extends CommonProps {
|
|
|
72
58
|
* @param {KPIProps} props - The props for the KPI component
|
|
73
59
|
* @returns {ReactElement} KPI component
|
|
74
60
|
*/
|
|
75
|
-
export declare const KPI: ({
|
|
61
|
+
export declare const KPI: ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant, trend, ...rest }: KPIProps) => ReactElement;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare const cvaKPIContainer: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
|
|
2
1
|
export declare const cvaKPI: (props?: ({
|
|
3
2
|
variant?: "default" | "small" | "condensed" | null | undefined;
|
|
4
3
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
1
|
+
import { ReactElement, ReactNode } from "react";
|
|
2
2
|
import { KPIProps } from "../KPI/KPI";
|
|
3
3
|
export interface KPICardProps extends KPIProps {
|
|
4
4
|
/**
|
|
@@ -9,6 +9,10 @@ export interface KPICardProps extends KPIProps {
|
|
|
9
9
|
* On kpi card click handler
|
|
10
10
|
*/
|
|
11
11
|
onClick?: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* Children to be rendered
|
|
14
|
+
*/
|
|
15
|
+
children?: ReactNode;
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
18
|
* The KPICard component is used to display KPIs.
|
|
@@ -16,4 +20,4 @@ export interface KPICardProps extends KPIProps {
|
|
|
16
20
|
* @param {KPICardProps} props - The props for the KPICard component
|
|
17
21
|
* @returns {ReactElement} KPICard component
|
|
18
22
|
*/
|
|
19
|
-
export declare const KPICard: ({ isActive, onClick, className, ...rest }: KPICardProps) => ReactElement;
|
|
23
|
+
export declare const KPICard: ({ isActive, onClick, className, dataTestId, children, ...rest }: KPICardProps) => ReactElement;
|