@trackunit/react-components 1.4.201 → 1.4.203

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 CHANGED
@@ -1736,6 +1736,7 @@ const cvaCardFooterDensityContainer = cssClassVarianceUtilities.cvaMerge(["flex"
1736
1736
  dense: "gap-1 p-2",
1737
1737
  compact: "gap-3 p-3",
1738
1738
  comfortable: "gap-4 p-4",
1739
+ kpi: "gap-3 px-3 pb-2 pt-3",
1739
1740
  spacious: "gap-4 p-6",
1740
1741
  auto: "component-card-spacing @sm:component-card-spacing-sm @md:component-card-spacing-md",
1741
1742
  },
@@ -1758,6 +1759,7 @@ const cvaCardHeaderDensityContainer = cssClassVarianceUtilities.cvaMerge(["flex"
1758
1759
  dense: "gap-1 p-2",
1759
1760
  compact: "gap-3 p-3",
1760
1761
  comfortable: "gap-4 p-4",
1762
+ kpi: "gap-3 px-3 pb-2 pt-3",
1761
1763
  spacious: "gap-4 p-6",
1762
1764
  auto: "component-card-spacing @sm:component-card-spacing-sm @md:component-card-spacing-md",
1763
1765
  },
@@ -1784,6 +1786,7 @@ const cvaCardBodyDensityContainer = cssClassVarianceUtilities.cvaMerge(["flex",
1784
1786
  dense: "gap-1 p-2",
1785
1787
  compact: "gap-3 p-3",
1786
1788
  comfortable: "gap-4 p-4",
1789
+ kpi: "gap-3 px-3 pb-2 pt-3",
1787
1790
  spacious: "gap-4 p-6",
1788
1791
  auto: "component-card-spacing @sm:component-card-spacing-sm @md:component-card-spacing-md",
1789
1792
  },
@@ -1892,7 +1895,7 @@ const Heading = ({ variant = "primary", inverted = false, subtle = false, classN
1892
1895
  * @param {CardHeaderProps} props - The props for the CardHeader component
1893
1896
  * @returns {ReactElement} CardHeader component
1894
1897
  */
1895
- const CardHeader = ({ heading, headingVariant = "primary", subHeading, onClose, dataTestId, className, children, accessories, actions, density, hideSeparator = false, }) => {
1898
+ const CardHeader = ({ heading, headingVariant = "secondary", subHeading, onClose, dataTestId, className, children, accessories, actions, density, hideSeparator = false, }) => {
1896
1899
  return (jsxRuntime.jsx("div", { className: cvaCardHeaderDensityContainer({
1897
1900
  density,
1898
1901
  border: hideSeparator ? "borderless" : "default",
@@ -2815,7 +2818,7 @@ const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground
2815
2818
  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, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-label` : undefined, children: label })) : null] }) }));
2816
2819
  };
2817
2820
 
2818
- const cvaKPI = cssClassVarianceUtilities.cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col", "gap-1"], {
2821
+ const cvaKPI = cssClassVarianceUtilities.cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col"], {
2819
2822
  variants: {
2820
2823
  variant: {
2821
2824
  small: ["px-3"],
@@ -2827,8 +2830,19 @@ const cvaKPI = cssClassVarianceUtilities.cvaMerge(["w-full", "px-4", "py-2", "fl
2827
2830
  variant: "default",
2828
2831
  },
2829
2832
  });
2833
+ const cvaKPIHeader = cssClassVarianceUtilities.cvaMerge(["flex", "flex-row", "justify-between", "gap-1"]);
2834
+ const cvaKPIIconContainer = cssClassVarianceUtilities.cvaMerge(["flex", "items-center", "justify-center", "w-7", "h-7", "rounded-md", "text-white"], {
2835
+ variants: {
2836
+ iconColor: {
2837
+ primary: ["bg-primary-600"],
2838
+ success: ["bg-success-600"],
2839
+ warning: ["bg-warning-500"],
2840
+ danger: ["bg-danger-600"],
2841
+ },
2842
+ },
2843
+ });
2830
2844
  const cvaKPITitleText = cssClassVarianceUtilities.cvaMerge(["truncate", "whitespace-nowrap"]);
2831
- const cvaKPIvalueText = cssClassVarianceUtilities.cvaMerge(["truncate", "whitespace-nowrap", "text-2xl", "font-medium"], {
2845
+ const cvaKPIvalueText = cssClassVarianceUtilities.cvaMerge(["truncate", "whitespace-nowrap", "text-lg", "font-medium"], {
2832
2846
  variants: {
2833
2847
  variant: {
2834
2848
  small: ["mt-0.5"],
@@ -2871,9 +2885,9 @@ const LoadingContent$1 = () => (jsxRuntime.jsx("div", { className: "flex h-11 fl
2871
2885
  * @param {KPIProps} props - The props for the KPI component
2872
2886
  * @returns {ReactElement} KPI component
2873
2887
  */
2874
- const KPI = ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant = "default", trend, ...rest }) => {
2888
+ const KPI = ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant = "default", trend, iconName, iconColor = "primary", ...rest }) => {
2875
2889
  const isSmallVariant = variant === "small";
2876
- return (jsxRuntime.jsx(Tooltip, { dataTestId: dataTestId ? `${dataTestId}-tooltip` : undefined, 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({
2890
+ return (jsxRuntime.jsx(Tooltip, { dataTestId: dataTestId ? `${dataTestId}-tooltip` : undefined, 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.jsxs("div", { className: cvaKPIHeader(), children: [jsxRuntime.jsx(Text, { className: cvaKPITitleText(), dataTestId: dataTestId ? `${dataTestId}-title` : undefined, size: isSmallVariant ? "small" : "medium", subtle: true, weight: isSmallVariant ? "normal" : "bold", children: title }), iconName ? (jsxRuntime.jsx("div", { className: cvaKPIIconContainer({ iconColor }), children: jsxRuntime.jsx(Icon, { name: iconName, size: "small", type: "solid" }) })) : null] }), 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({
2877
2891
  isDefaultAndHasTrendValue: Boolean(trend?.value && !isSmallVariant),
2878
2892
  className,
2879
2893
  }), children: [jsxRuntime.jsxs("span", { className: cvaKPIvalueText({ variant }), children: [value, " ", unit] }), jsxRuntime.jsx(TrendIndicator, { isSmallVariant: isSmallVariant, trend: trend, unit: unit })] }) })] })) }) }));
@@ -2887,6 +2901,10 @@ const TrendIndicator = ({ trend, unit, isSmallVariant }) => {
2887
2901
 
2888
2902
  const cvaKPICard = cssClassVarianceUtilities.cvaMerge(["inline-flex", "gap-1"], {
2889
2903
  variants: {
2904
+ minHeight: {
2905
+ default: ["min-h-[78px]"],
2906
+ withTrends: ["min-h-[94px]"],
2907
+ },
2890
2908
  isClickable: {
2891
2909
  true: ["hover:bg-slate-50", "component-card-border"],
2892
2910
  false: [],
@@ -2919,9 +2937,10 @@ const KPICard = ({ isActive, onClick, className, dataTestId, children, ...rest }
2919
2937
  return (jsxRuntime.jsx(Card, { className: cvaKPICard({
2920
2938
  isClickable,
2921
2939
  isActive,
2940
+ minHeight: rest.trend ? "withTrends" : "default",
2922
2941
  variant: rest.variant,
2923
2942
  className,
2924
- }), "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] }) }));
2943
+ }), "data-testid": dataTestId ? dataTestId : undefined, onClick: onClick, children: jsxRuntime.jsxs(CardBody, { density: "kpi", children: [jsxRuntime.jsx(KPI, { ...rest, className: "p-0", dataTestId: dataTestId ? `${dataTestId}-kpi` : undefined }), children] }) }));
2925
2944
  };
2926
2945
 
2927
2946
  const cvaMenuList = cssClassVarianceUtilities.cvaMerge([
package/index.esm.js CHANGED
@@ -1734,6 +1734,7 @@ const cvaCardFooterDensityContainer = cvaMerge(["flex", "border-t", "border-seco
1734
1734
  dense: "gap-1 p-2",
1735
1735
  compact: "gap-3 p-3",
1736
1736
  comfortable: "gap-4 p-4",
1737
+ kpi: "gap-3 px-3 pb-2 pt-3",
1737
1738
  spacious: "gap-4 p-6",
1738
1739
  auto: "component-card-spacing @sm:component-card-spacing-sm @md:component-card-spacing-md",
1739
1740
  },
@@ -1756,6 +1757,7 @@ const cvaCardHeaderDensityContainer = cvaMerge(["flex", "border-b", "border-seco
1756
1757
  dense: "gap-1 p-2",
1757
1758
  compact: "gap-3 p-3",
1758
1759
  comfortable: "gap-4 p-4",
1760
+ kpi: "gap-3 px-3 pb-2 pt-3",
1759
1761
  spacious: "gap-4 p-6",
1760
1762
  auto: "component-card-spacing @sm:component-card-spacing-sm @md:component-card-spacing-md",
1761
1763
  },
@@ -1782,6 +1784,7 @@ const cvaCardBodyDensityContainer = cvaMerge(["flex", "flex-grow", "overflow-aut
1782
1784
  dense: "gap-1 p-2",
1783
1785
  compact: "gap-3 p-3",
1784
1786
  comfortable: "gap-4 p-4",
1787
+ kpi: "gap-3 px-3 pb-2 pt-3",
1785
1788
  spacious: "gap-4 p-6",
1786
1789
  auto: "component-card-spacing @sm:component-card-spacing-sm @md:component-card-spacing-md",
1787
1790
  },
@@ -1890,7 +1893,7 @@ const Heading = ({ variant = "primary", inverted = false, subtle = false, classN
1890
1893
  * @param {CardHeaderProps} props - The props for the CardHeader component
1891
1894
  * @returns {ReactElement} CardHeader component
1892
1895
  */
1893
- const CardHeader = ({ heading, headingVariant = "primary", subHeading, onClose, dataTestId, className, children, accessories, actions, density, hideSeparator = false, }) => {
1896
+ const CardHeader = ({ heading, headingVariant = "secondary", subHeading, onClose, dataTestId, className, children, accessories, actions, density, hideSeparator = false, }) => {
1894
1897
  return (jsx("div", { className: cvaCardHeaderDensityContainer({
1895
1898
  density,
1896
1899
  border: hideSeparator ? "borderless" : "default",
@@ -2813,7 +2816,7 @@ const Indicator = ({ dataTestId, icon, label, color = "unknown", withBackground
2813
2816
  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, background: withBackground ? "visible" : "hidden" }), "data-testid": dataTestId ? `${dataTestId}-label` : undefined, children: label })) : null] }) }));
2814
2817
  };
2815
2818
 
2816
- const cvaKPI = cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col", "gap-1"], {
2819
+ const cvaKPI = cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col"], {
2817
2820
  variants: {
2818
2821
  variant: {
2819
2822
  small: ["px-3"],
@@ -2825,8 +2828,19 @@ const cvaKPI = cvaMerge(["w-full", "px-4", "py-2", "flex", "flex-col", "gap-1"],
2825
2828
  variant: "default",
2826
2829
  },
2827
2830
  });
2831
+ const cvaKPIHeader = cvaMerge(["flex", "flex-row", "justify-between", "gap-1"]);
2832
+ const cvaKPIIconContainer = cvaMerge(["flex", "items-center", "justify-center", "w-7", "h-7", "rounded-md", "text-white"], {
2833
+ variants: {
2834
+ iconColor: {
2835
+ primary: ["bg-primary-600"],
2836
+ success: ["bg-success-600"],
2837
+ warning: ["bg-warning-500"],
2838
+ danger: ["bg-danger-600"],
2839
+ },
2840
+ },
2841
+ });
2828
2842
  const cvaKPITitleText = cvaMerge(["truncate", "whitespace-nowrap"]);
2829
- const cvaKPIvalueText = cvaMerge(["truncate", "whitespace-nowrap", "text-2xl", "font-medium"], {
2843
+ const cvaKPIvalueText = cvaMerge(["truncate", "whitespace-nowrap", "text-lg", "font-medium"], {
2830
2844
  variants: {
2831
2845
  variant: {
2832
2846
  small: ["mt-0.5"],
@@ -2869,9 +2883,9 @@ const LoadingContent$1 = () => (jsx("div", { className: "flex h-11 flex-row item
2869
2883
  * @param {KPIProps} props - The props for the KPI component
2870
2884
  * @returns {ReactElement} KPI component
2871
2885
  */
2872
- const KPI = ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant = "default", trend, ...rest }) => {
2886
+ const KPI = ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant = "default", trend, iconName, iconColor = "primary", ...rest }) => {
2873
2887
  const isSmallVariant = variant === "small";
2874
- return (jsx(Tooltip, { dataTestId: dataTestId ? `${dataTestId}-tooltip` : undefined, 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({
2888
+ return (jsx(Tooltip, { dataTestId: dataTestId ? `${dataTestId}-tooltip` : undefined, 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: [jsxs("div", { className: cvaKPIHeader(), children: [jsx(Text, { className: cvaKPITitleText(), dataTestId: dataTestId ? `${dataTestId}-title` : undefined, size: isSmallVariant ? "small" : "medium", subtle: true, weight: isSmallVariant ? "normal" : "bold", children: title }), iconName ? (jsx("div", { className: cvaKPIIconContainer({ iconColor }), children: jsx(Icon, { name: iconName, size: "small", type: "solid" }) })) : null] }), 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({
2875
2889
  isDefaultAndHasTrendValue: Boolean(trend?.value && !isSmallVariant),
2876
2890
  className,
2877
2891
  }), children: [jsxs("span", { className: cvaKPIvalueText({ variant }), children: [value, " ", unit] }), jsx(TrendIndicator, { isSmallVariant: isSmallVariant, trend: trend, unit: unit })] }) })] })) }) }));
@@ -2885,6 +2899,10 @@ const TrendIndicator = ({ trend, unit, isSmallVariant }) => {
2885
2899
 
2886
2900
  const cvaKPICard = cvaMerge(["inline-flex", "gap-1"], {
2887
2901
  variants: {
2902
+ minHeight: {
2903
+ default: ["min-h-[78px]"],
2904
+ withTrends: ["min-h-[94px]"],
2905
+ },
2888
2906
  isClickable: {
2889
2907
  true: ["hover:bg-slate-50", "component-card-border"],
2890
2908
  false: [],
@@ -2917,9 +2935,10 @@ const KPICard = ({ isActive, onClick, className, dataTestId, children, ...rest }
2917
2935
  return (jsx(Card, { className: cvaKPICard({
2918
2936
  isClickable,
2919
2937
  isActive,
2938
+ minHeight: rest.trend ? "withTrends" : "default",
2920
2939
  variant: rest.variant,
2921
2940
  className,
2922
- }), "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] }) }));
2941
+ }), "data-testid": dataTestId ? dataTestId : undefined, onClick: onClick, children: jsxs(CardBody, { density: "kpi", children: [jsx(KPI, { ...rest, className: "p-0", dataTestId: dataTestId ? `${dataTestId}-kpi` : undefined }), children] }) }));
2923
2942
  };
2924
2943
 
2925
2944
  const cvaMenuList = cvaMerge([
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-components",
3
- "version": "1.4.201",
3
+ "version": "1.4.203",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -1 +1 @@
1
- export type Density = "none" | "dense" | "compact" | "comfortable" | "spacious" | "auto";
1
+ export type Density = "none" | "dense" | "compact" | "comfortable" | "kpi" | "spacious" | "auto";
@@ -4,16 +4,16 @@ export declare const cvaCard: (props?: ({
4
4
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
5
5
  export declare const cvaCardFooterDensityContainer: (props?: ({
6
6
  border?: "default" | "borderless" | null | undefined;
7
- density?: "none" | "dense" | "compact" | "comfortable" | "spacious" | "auto" | null | undefined;
7
+ density?: "none" | "dense" | "compact" | "comfortable" | "kpi" | "spacious" | "auto" | null | undefined;
8
8
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
9
9
  export declare const cvaCardHeader: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
10
10
  export declare const cvaCardHeaderHeadingContainer: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
11
11
  export declare const cvaCardHeaderDensityContainer: (props?: ({
12
12
  border?: "default" | "borderless" | null | undefined;
13
- density?: "none" | "dense" | "compact" | "comfortable" | "spacious" | "auto" | null | undefined;
13
+ density?: "none" | "dense" | "compact" | "comfortable" | "kpi" | "spacious" | "auto" | null | undefined;
14
14
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
15
15
  export declare const cvaCardBodyDensityContainer: (props?: ({
16
16
  disableGap?: boolean | null | undefined;
17
17
  direction?: "row" | "row-reverse" | "column" | "column-reverse" | null | undefined;
18
- density?: "none" | "dense" | "compact" | "comfortable" | "spacious" | "auto" | null | undefined;
18
+ density?: "none" | "dense" | "compact" | "comfortable" | "kpi" | "spacious" | "auto" | null | undefined;
19
19
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
@@ -10,7 +10,7 @@ export interface CardHeaderProps extends CommonProps {
10
10
  * The variant/size of the heading.
11
11
  * Same as the `Heading` component.
12
12
  *
13
- * @default "primary"
13
+ * @default "secondary"
14
14
  */
15
15
  headingVariant?: HeadingVariant;
16
16
  /** Adds an extra heading below the main heading. */
@@ -1,3 +1,4 @@
1
+ import { IconName } from "@trackunit/ui-icons";
1
2
  import { ReactElement } from "react";
2
3
  import { CommonProps } from "../../common";
3
4
  export interface KPIProps extends CommonProps {
@@ -25,6 +26,14 @@ export interface KPIProps extends CommonProps {
25
26
  * The size of the KPI Card
26
27
  */
27
28
  variant?: "small" | "default" | "condensed";
29
+ /**
30
+ * The icon name to be displayed
31
+ */
32
+ iconName?: IconName;
33
+ /**
34
+ * The color of the icon
35
+ */
36
+ iconColor?: "primary" | "success" | "warning" | "danger";
28
37
  /**
29
38
  * The trend of the KPI Card
30
39
  */
@@ -58,4 +67,4 @@ export interface KPIProps extends CommonProps {
58
67
  * @param {KPIProps} props - The props for the KPI component
59
68
  * @returns {ReactElement} KPI component
60
69
  */
61
- export declare const KPI: ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant, trend, ...rest }: KPIProps) => ReactElement;
70
+ export declare const KPI: ({ title, value, loading, unit, className, dataTestId, tooltipLabel, variant, trend, iconName, iconColor, ...rest }: KPIProps) => ReactElement;
@@ -1,6 +1,10 @@
1
1
  export declare const cvaKPI: (props?: ({
2
2
  variant?: "default" | "small" | "condensed" | null | undefined;
3
3
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
4
+ export declare const cvaKPIHeader: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
5
+ export declare const cvaKPIIconContainer: (props?: ({
6
+ iconColor?: "primary" | "success" | "warning" | "danger" | null | undefined;
7
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
4
8
  export declare const cvaKPITitleText: (props?: import("class-variance-authority/dist/types").ClassProp | undefined) => string;
5
9
  export declare const cvaKPIvalueText: (props?: ({
6
10
  variant?: "default" | "small" | "condensed" | null | undefined;
@@ -1,3 +1,4 @@
1
+ import { IconName } from "@trackunit/ui-icons";
1
2
  import { ReactElement, ReactNode } from "react";
2
3
  import { KPIProps } from "../KPI/KPI";
3
4
  export interface KPICardProps extends KPIProps {
@@ -13,6 +14,14 @@ export interface KPICardProps extends KPIProps {
13
14
  * Children to be rendered
14
15
  */
15
16
  children?: ReactNode;
17
+ /**
18
+ * The name of the icon
19
+ */
20
+ iconName?: IconName;
21
+ /**
22
+ * The color of the icon
23
+ */
24
+ iconColor?: "primary" | "success" | "warning" | "danger";
16
25
  }
17
26
  /**
18
27
  * The KPICard component is used to display KPIs.
@@ -1,4 +1,5 @@
1
1
  export declare const cvaKPICard: (props?: ({
2
+ minHeight?: "default" | "withTrends" | null | undefined;
2
3
  isClickable?: boolean | null | undefined;
3
4
  isActive?: boolean | null | undefined;
4
5
  variant?: "default" | "small" | "condensed" | null | undefined;