@trackunit/react-components 1.22.3 → 1.22.5

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.
Files changed (74) hide show
  1. package/index.cjs.js +166 -132
  2. package/index.esm.js +167 -133
  3. package/package.json +1 -1
  4. package/src/common/Styleable.d.ts +5 -1
  5. package/src/components/Alert/Alert.d.ts +3 -2
  6. package/src/components/Badge/Badge.d.ts +3 -2
  7. package/src/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  8. package/src/components/Breadcrumb/BreadcrumbForLargeScreen.d.ts +1 -1
  9. package/src/components/Breadcrumb/BreadcrumbForMediumScreen.d.ts +1 -1
  10. package/src/components/Breadcrumb/BreadcrumbForSmallScreen.d.ts +1 -1
  11. package/src/components/Breadcrumb/BreadcrumbItem.d.ts +1 -1
  12. package/src/components/Breadcrumb/utils/types.d.ts +4 -3
  13. package/src/components/Card/Card.d.ts +2 -1
  14. package/src/components/Card/CardBody.d.ts +3 -2
  15. package/src/components/Card/CardFooter.d.ts +3 -2
  16. package/src/components/Card/CardHeader.d.ts +3 -2
  17. package/src/components/Collapse/Collapse.d.ts +3 -2
  18. package/src/components/CompletionStatusIndicator/CompletionStatusIndicator.d.ts +2 -1
  19. package/src/components/CopyableText/CopyableText.d.ts +3 -2
  20. package/src/components/DetailsList/DetailsList.d.ts +4 -3
  21. package/src/components/EmptyState/EmptyState.d.ts +3 -2
  22. package/src/components/EmptyValue/EmptyValue.d.ts +3 -2
  23. package/src/components/ExternalLink/ExternalLink.d.ts +3 -2
  24. package/src/components/GridAreas/GridAreas.d.ts +3 -2
  25. package/src/components/Heading/Heading.d.ts +2 -1
  26. package/src/components/Highlight/Highlight.d.ts +3 -2
  27. package/src/components/HorizontalOverflowScroller/HorizontalOverflowScroller.d.ts +2 -2
  28. package/src/components/HorizontalOverflowScroller/OverflowIndicator.d.ts +3 -2
  29. package/src/components/Icon/Icon.d.ts +3 -8
  30. package/src/components/Indicator/Indicator.d.ts +2 -1
  31. package/src/components/KPI/KPI.d.ts +1 -1
  32. package/src/components/KPI/KPISkeleton.d.ts +1 -1
  33. package/src/components/KPICard/KPICardSkeleton.d.ts +1 -1
  34. package/src/components/KPICard/components/TrendIndicator/TrendIndicator.d.ts +3 -2
  35. package/src/components/KPICard/components/TrendIndicators.d.ts +3 -2
  36. package/src/components/List/List.d.ts +3 -2
  37. package/src/components/List/ListLoadingIndicator.d.ts +3 -2
  38. package/src/components/List/useList.d.ts +2 -1
  39. package/src/components/ListItem/ListItem.d.ts +2 -1
  40. package/src/components/ListItem/ListItemSkeleton.d.ts +4 -2
  41. package/src/components/Menu/MenuDivider/MenuDivider.d.ts +3 -1
  42. package/src/components/Menu/MenuItem/MenuItem.d.ts +3 -2
  43. package/src/components/Menu/MenuList/MenuList.d.ts +3 -2
  44. package/src/components/Menu/MoreMenu/MoreMenu.d.ts +3 -2
  45. package/src/components/Notice/Notice.d.ts +2 -1
  46. package/src/components/Page/Page.d.ts +3 -2
  47. package/src/components/Page/PageContent.d.ts +3 -2
  48. package/src/components/PageHeader/PageHeader.d.ts +1 -1
  49. package/src/components/PageHeader/components/PageHeaderKpiMetrics.d.ts +7 -2
  50. package/src/components/PageHeader/components/PageHeaderTitle.d.ts +4 -2
  51. package/src/components/PageHeader/types.d.ts +3 -2
  52. package/src/components/Pagination/Pagination.d.ts +4 -10
  53. package/src/components/Polygon/Polygon.d.ts +3 -2
  54. package/src/components/Popover/PopoverTitle.d.ts +3 -2
  55. package/src/components/PreferenceCard/PreferenceCard.d.ts +3 -2
  56. package/src/components/PreferenceCard/PreferenceCardSkeleton.d.ts +4 -2
  57. package/src/components/SectionHeader/SectionHeader.d.ts +3 -2
  58. package/src/components/Sheet/Sheet.d.ts +1 -1
  59. package/src/components/Sheet/sheet-types.d.ts +2 -1
  60. package/src/components/Sidebar/Sidebar.d.ts +4 -3
  61. package/src/components/Skeleton/SkeletonBlock/SkeletonBlock.d.ts +2 -1
  62. package/src/components/Skeleton/SkeletonLabel/SkeletonLabel.d.ts +2 -1
  63. package/src/components/SkeletonLines/SkeletonLines.d.ts +4 -3
  64. package/src/components/Spacer/Spacer.d.ts +3 -2
  65. package/src/components/Spinner/Spinner.d.ts +3 -2
  66. package/src/components/Tag/Tag.d.ts +3 -2
  67. package/src/components/Text/Text.d.ts +2 -1
  68. package/src/components/ToggleGroup/ToggleGroup.d.ts +5 -4
  69. package/src/components/Tooltip/Tooltip.d.ts +1 -1
  70. package/src/components/ValueBar/SegmentedValueBar.d.ts +3 -2
  71. package/src/components/ValueBar/ValueBar.d.ts +3 -2
  72. package/src/components/ZStack/ZStack.d.ts +3 -2
  73. package/src/components/buttons/shared/ButtonProps.d.ts +2 -1
  74. package/src/index.d.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-components",
3
- "version": "1.22.3",
3
+ "version": "1.22.5",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -1,4 +1,8 @@
1
- import { CSSProperties } from "react";
1
+ import type { CSSProperties } from "react";
2
2
  export type Styleable = {
3
3
  style?: CSSProperties;
4
4
  };
5
+ /**
6
+ * Merges inline styles where `base` defines component defaults and `override` (typically from props) wins on conflicts.
7
+ */
8
+ export declare function mergeDomStyles(base: CSSProperties | undefined, override: CSSProperties | undefined): CSSProperties | undefined;
@@ -1,5 +1,6 @@
1
1
  import { MouseEventHandler, ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
5
  export type AlertColors = "info" | "success" | "warning" | "danger" | "neutral";
5
6
  export type AlertActionType = "primary" | "secondary";
@@ -8,7 +9,7 @@ export type AlertAction = {
8
9
  onClick: MouseEventHandler<HTMLButtonElement>;
9
10
  loading?: boolean;
10
11
  };
11
- export interface AlertProps extends CommonProps, Refable<HTMLDivElement> {
12
+ export interface AlertProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
12
13
  /**
13
14
  * Child nodes.
14
15
  */
@@ -109,4 +110,4 @@ export interface AlertProps extends CommonProps, Refable<HTMLDivElement> {
109
110
  * @param {AlertProps} props - The props for the Alert component
110
111
  * @returns {ReactElement} Alert component
111
112
  */
112
- export declare const Alert: ({ color, title, className, children, primaryAction, secondaryAction, onClickClose, "data-testid": dataTestId, autoScroll, actionsInline, ref, }: AlertProps) => ReactElement;
113
+ export declare const Alert: ({ color, title, className, children, primaryAction, secondaryAction, onClickClose, "data-testid": dataTestId, autoScroll, actionsInline, style, ref, }: AlertProps) => ReactElement;
@@ -1,10 +1,11 @@
1
1
  import { ThemeColors } from "@trackunit/ui-design-tokens";
2
2
  import { ReactElement } from "react";
3
3
  import { CommonProps } from "../../common/CommonProps";
4
+ import type { Styleable } from "../../common/Styleable";
4
5
  import { Refable } from "../../common/Refable";
5
6
  type BadgeColors = Extract<ThemeColors, "primary" | "danger" | "warning" | "neutral">;
6
7
  type BadgeSize = "default" | "condensed";
7
- interface BaseBadgeProps extends CommonProps, Refable<HTMLSpanElement> {
8
+ interface BaseBadgeProps extends CommonProps, Styleable, Refable<HTMLSpanElement> {
8
9
  /**
9
10
  * The color of the badge.
10
11
  */
@@ -77,5 +78,5 @@ export type BadgeProps = BaseBadgeProps;
77
78
  * @param {BadgeProps} props - The props for the Badge component
78
79
  * @returns {ReactElement} Badge component
79
80
  */
80
- export declare const Badge: ({ color, size, compact, className, count, max, hideZero, "data-testid": dataTestId, ref, }: BadgeProps) => ReactElement | null;
81
+ export declare const Badge: ({ color, size, compact, className, count, max, hideZero, "data-testid": dataTestId, style, ref, }: BadgeProps) => ReactElement | null;
81
82
  export {};
@@ -36,7 +36,7 @@ import { BreadcrumbContainerProps, BreadcrumbProps } from "./utils/types";
36
36
  * @param {BreadcrumbProps} props - The props for the Breadcrumb component
37
37
  * @returns {ReactElement} Breadcrumb component
38
38
  */
39
- export declare const Breadcrumb: ({ className, "data-testid": dataTestId, breadcrumbItems, onClickBack, ref, }: BreadcrumbProps) => ReactElement;
39
+ export declare const Breadcrumb: ({ className, "data-testid": dataTestId, breadcrumbItems, onClickBack, style, ref, }: BreadcrumbProps) => ReactElement;
40
40
  /**
41
41
  * BreadcrumbContainer is a helper component that renders the breadcrumb items based on the screen size.
42
42
  *
@@ -3,4 +3,4 @@ import { BreadcrumbContainerProps } from "./utils/types";
3
3
  /**
4
4
  * BreadcrumbForLargeScreen is a helper component that renders the breadcrumb items for large screens.
5
5
  */
6
- export declare const BreadcrumbForLargeScreen: ({ "data-testid": dataTestId, breadcrumbItems, }: BreadcrumbContainerProps) => ReactElement;
6
+ export declare const BreadcrumbForLargeScreen: ({ "data-testid": dataTestId, breadcrumbItems, className, style, }: BreadcrumbContainerProps) => ReactElement;
@@ -3,4 +3,4 @@ import { BreadcrumbContainerProps } from "./utils/types";
3
3
  /**
4
4
  * BreadcrumbForMediumScreen is a helper component that renders the breadcrumb items for medium screens.
5
5
  */
6
- export declare const BreadcrumbForMediumScreen: ({ "data-testid": dataTestId, breadcrumbItems, }: BreadcrumbContainerProps) => ReactElement;
6
+ export declare const BreadcrumbForMediumScreen: ({ "data-testid": dataTestId, breadcrumbItems, className, style, }: BreadcrumbContainerProps) => ReactElement;
@@ -3,4 +3,4 @@ import { BreadcrumbContainerProps } from "./utils/types";
3
3
  /**
4
4
  * BreadcrumbForSmallScreen is a helper component that renders the breadcrumb items for small screens.
5
5
  */
6
- export declare const BreadcrumbForSmallScreen: ({ "data-testid": dataTestId, breadcrumbItems, }: BreadcrumbContainerProps) => ReactElement;
6
+ export declare const BreadcrumbForSmallScreen: ({ "data-testid": dataTestId, breadcrumbItems, className, style, }: BreadcrumbContainerProps) => ReactElement;
@@ -3,4 +3,4 @@ import { BreadcrumbItemRenderProps } from "./utils/types";
3
3
  /**
4
4
  * BreadcrumbItem is a helper component that renders the individual breadcrumb item.
5
5
  */
6
- export declare const BreadcrumbItem: ({ item, "data-testid": dataTestId }: BreadcrumbItemRenderProps) => ReactElement;
6
+ export declare const BreadcrumbItem: ({ item, "data-testid": dataTestId, className, style, }: BreadcrumbItemRenderProps) => ReactElement;
@@ -1,5 +1,6 @@
1
1
  import { MouseEventHandler, ReactElement } from "react";
2
2
  import { CommonProps } from "../../../common/CommonProps";
3
+ import type { Styleable } from "../../../common/Styleable";
3
4
  import { Refable } from "../../../common/Refable";
4
5
  export interface BreadcrumbItemProps {
5
6
  /** The display text for this breadcrumb item. */
@@ -7,7 +8,7 @@ export interface BreadcrumbItemProps {
7
8
  /** The route path this breadcrumb item links to. */
8
9
  to: string;
9
10
  }
10
- export interface BreadcrumbProps extends CommonProps, Refable<HTMLDivElement> {
11
+ export interface BreadcrumbProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
11
12
  /**
12
13
  * The ordered list of breadcrumb items representing the navigation hierarchy.
13
14
  * The last item is rendered as plain text (the current page), all preceding items are rendered as clickable links.
@@ -18,9 +19,9 @@ export interface BreadcrumbProps extends CommonProps, Refable<HTMLDivElement> {
18
19
  */
19
20
  onClickBack: MouseEventHandler<HTMLButtonElement>;
20
21
  }
21
- export interface BreadcrumbContainerProps extends CommonProps {
22
+ export interface BreadcrumbContainerProps extends CommonProps, Styleable {
22
23
  breadcrumbItems: Array<ReactElement<BreadcrumbItemProps>>;
23
24
  }
24
- export interface BreadcrumbItemRenderProps extends CommonProps {
25
+ export interface BreadcrumbItemRenderProps extends CommonProps, Styleable {
25
26
  item: ReactElement<BreadcrumbItemProps>;
26
27
  }
@@ -1,8 +1,9 @@
1
1
  import { InputHTMLAttributes, MouseEventHandler, ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
5
  export declare const ROLE_CARD = "region";
5
- export interface CardProps extends CommonProps, Refable<HTMLDivElement>, InputHTMLAttributes<HTMLDivElement> {
6
+ export interface CardProps extends CommonProps, Styleable, Refable<HTMLDivElement>, InputHTMLAttributes<HTMLDivElement> {
6
7
  /**
7
8
  * Whether the card should have full height or not.
8
9
  */
@@ -1,7 +1,8 @@
1
1
  import { ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- export interface CardBodyProps extends CommonProps, Refable<HTMLDivElement> {
5
+ export interface CardBodyProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
5
6
  /**
6
7
  * Sets flex direction
7
8
  */
@@ -66,4 +67,4 @@ export interface CardBodyProps extends CommonProps, Refable<HTMLDivElement> {
66
67
  * @param {CardBodyProps} props - The props for the CardBody component
67
68
  * @returns {ReactElement} CardBody component
68
69
  */
69
- export declare const CardBody: ({ children, "data-testid": dataTestId, className, direction, gap, padding, id, ref, }: CardBodyProps) => ReactElement;
70
+ export declare const CardBody: ({ children, "data-testid": dataTestId, className, direction, gap, padding, id, style, ref, }: CardBodyProps) => ReactElement;
@@ -1,7 +1,8 @@
1
1
  import { ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- export interface CardFooterProps extends CommonProps, Refable<HTMLDivElement> {
5
+ export interface CardFooterProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
5
6
  /**
6
7
  * Element to render in the footer
7
8
  */
@@ -64,4 +65,4 @@ export interface CardFooterProps extends CommonProps, Refable<HTMLDivElement> {
64
65
  * @param {CardFooterProps} props - The props for the CardFooter component
65
66
  * @returns {ReactElement} CardFooter component
66
67
  */
67
- export declare const CardFooter: ({ "data-testid": dataTestId, className, children, padding, hideSeparator, ref, }: CardFooterProps) => ReactElement;
68
+ export declare const CardFooter: ({ "data-testid": dataTestId, className, children, padding, hideSeparator, style, ref, }: CardFooterProps) => ReactElement;
@@ -1,8 +1,9 @@
1
1
  import { MouseEventHandler, ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
5
  import { HeadingVariant } from "../Heading/Heading";
5
- export interface CardHeaderProps extends CommonProps, Refable<HTMLDivElement> {
6
+ export interface CardHeaderProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
7
  /**
7
8
  * The text to show in the Cards main heading
8
9
  */
@@ -89,4 +90,4 @@ export interface CardHeaderProps extends CommonProps, Refable<HTMLDivElement> {
89
90
  * @param {CardHeaderProps} props - The props for the CardHeader component
90
91
  * @returns {ReactElement} CardHeader component
91
92
  */
92
- export declare const CardHeader: ({ heading, headingVariant, subHeading, onClickClose, "data-testid": dataTestId, className, children, accessories, actions, padding, hideSeparator, ref, }: CardHeaderProps) => ReactElement;
93
+ export declare const CardHeader: ({ heading, headingVariant, subHeading, onClickClose, "data-testid": dataTestId, className, children, accessories, actions, padding, hideSeparator, style, ref, }: CardHeaderProps) => ReactElement;
@@ -1,7 +1,8 @@
1
1
  import { MouseEvent, ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- export interface CollapseProps extends CommonProps, Refable<HTMLDivElement> {
5
+ export interface CollapseProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
5
6
  id: string;
6
7
  /**
7
8
  * Visual variant of the collapse component.
@@ -84,4 +85,4 @@ export interface CollapseProps extends CommonProps, Refable<HTMLDivElement> {
84
85
  * @param {CollapseProps} props - The props for the Collapse component
85
86
  * @returns {ReactElement} Collapse component
86
87
  */
87
- export declare const Collapse: ({ id, variant, initialExpanded, onToggle, label, children, className, headerClassName, headerAddon, "data-testid": dataTestId, animate, extraPadding, ref, }: CollapseProps) => ReactElement;
88
+ export declare const Collapse: ({ id, variant, initialExpanded, onToggle, label, children, className, headerClassName, headerAddon, "data-testid": dataTestId, animate, extraPadding, style, ref, }: CollapseProps) => ReactElement;
@@ -1,6 +1,7 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
- export interface CompletionStatusIndicatorProps extends CommonProps {
3
+ import type { Styleable } from "../../common/Styleable";
4
+ export interface CompletionStatusIndicatorProps extends CommonProps, Styleable {
4
5
  loading: boolean;
5
6
  success: boolean;
6
7
  error: boolean;
@@ -1,7 +1,8 @@
1
1
  import { type ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- export interface CopyableTextProps extends CommonProps, Refable<HTMLButtonElement> {
5
+ export interface CopyableTextProps extends CommonProps, Styleable, Refable<HTMLButtonElement> {
5
6
  /**
6
7
  * The text displayed in the UI and copied to clipboard on click.
7
8
  */
@@ -64,4 +65,4 @@ export interface CopyableTextProps extends CommonProps, Refable<HTMLButtonElemen
64
65
  * @param {CopyableTextProps} props - The props for the CopyableText component
65
66
  * @returns {ReactElement} CopyableText component
66
67
  */
67
- export declare const CopyableText: ({ text, withIcon, size, copyLabel, copiedLabel, "data-testid": dataTestId, className, ref, }: CopyableTextProps) => ReactElement | null;
68
+ export declare const CopyableText: ({ text, withIcon, size, copyLabel, copiedLabel, "data-testid": dataTestId, className, style, ref, }: CopyableTextProps) => ReactElement | null;
@@ -1,8 +1,9 @@
1
1
  import { ReactElement } from "react";
2
+ import { CommonProps } from "../../common/CommonProps";
2
3
  import { Refable } from "../../common/Refable";
3
- interface DetailsListProps extends Refable<HTMLDivElement> {
4
+ import type { Styleable } from "../../common/Styleable";
5
+ interface DetailsListProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
4
6
  details: Array<string>;
5
- className?: string;
6
7
  hasLink?: boolean;
7
8
  }
8
9
  /**
@@ -36,5 +37,5 @@ interface DetailsListProps extends Refable<HTMLDivElement> {
36
37
  * @param {DetailsListProps} props - The props for the DetailsList component
37
38
  * @returns {ReactElement} DetailsList component
38
39
  */
39
- export declare const DetailsList: ({ details, className, hasLink, ref }: DetailsListProps) => ReactElement;
40
+ export declare const DetailsList: ({ details, className, "data-testid": dataTestId, hasLink, style, ref, }: DetailsListProps) => ReactElement;
40
41
  export {};
@@ -1,5 +1,6 @@
1
1
  import { MouseEventHandler, ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
5
  type EmptyStateImage = "WORKER_WITH_SIGN" | "ROAD_BLOCK" | "BUILDING_ERROR" | "WALL_CONSTRUCTION" | "PHONE_LOCK_SECURITY" | "SEARCH_DOCUMENT";
5
6
  type EmptyStateButtonAction = {
@@ -12,7 +13,7 @@ type EmptyStateButtonAction = {
12
13
  target?: string;
13
14
  };
14
15
  };
15
- export interface EmptyStateProps extends CommonProps, Refable<HTMLDivElement> {
16
+ export interface EmptyStateProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
16
17
  /**
17
18
  * Description text to display below the image. Explains the empty state and guides the user.
18
19
  */
@@ -95,5 +96,5 @@ export interface EmptyStateProps extends CommonProps, Refable<HTMLDivElement> {
95
96
  * );
96
97
  * ```
97
98
  */
98
- export declare const EmptyState: ({ description, altText, image, customImageSrc, loading, "data-testid": dataTestId, className, primaryAction, secondaryAction, additionalHelpAction, }: EmptyStateProps) => ReactElement;
99
+ export declare const EmptyState: ({ description, altText, image, customImageSrc, loading, "data-testid": dataTestId, className, primaryAction, secondaryAction, additionalHelpAction, style, ref, }: EmptyStateProps) => ReactElement;
99
100
  export {};
@@ -1,7 +1,8 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
3
  import { Refable } from "../../common/Refable";
4
- export type EmptyValueProps = CommonProps & Refable<HTMLDivElement>;
4
+ import type { Styleable } from "../../common/Styleable";
5
+ export type EmptyValueProps = CommonProps & Styleable & Refable<HTMLDivElement>;
5
6
  /**
6
7
  * EmptyValue renders a consistent dash symbol ("–") to represent missing, null, undefined, or not applicable values.
7
8
  * It is primarily used in tables and detail lists to maintain visual consistency when data is absent.
@@ -26,4 +27,4 @@ export type EmptyValueProps = CommonProps & Refable<HTMLDivElement>;
26
27
  * @param {EmptyValueProps} props - The props for the EmptyValue component
27
28
  * @returns {ReactElement} EmptyValue component
28
29
  */
29
- export declare const EmptyValue: ({ className, "data-testid": dataTestId }: EmptyValueProps) => ReactElement;
30
+ export declare const EmptyValue: ({ className, "data-testid": dataTestId, style, ref }: EmptyValueProps) => ReactElement;
@@ -1,7 +1,8 @@
1
1
  import { MouseEventHandler, ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- export interface ExternalLinkProps extends CommonProps, Refable<HTMLAnchorElement> {
5
+ export interface ExternalLinkProps extends CommonProps, Styleable, Refable<HTMLAnchorElement> {
5
6
  /**
6
7
  * The URL to which users are redirected
7
8
  */
@@ -65,4 +66,4 @@ export interface ExternalLinkProps extends CommonProps, Refable<HTMLAnchorElemen
65
66
  * @param {ExternalLinkProps} props - The props for the ExternalLink component
66
67
  * @returns {ReactElement} ExternalLink component
67
68
  */
68
- export declare const ExternalLink: ({ rel, target, href, className, children, title, "data-testid": dataTestId, onClick, color, ref, }: ExternalLinkProps) => ReactElement;
69
+ export declare const ExternalLink: ({ rel, target, href, className, children, title, "data-testid": dataTestId, onClick, color, style, ref, }: ExternalLinkProps) => ReactElement;
@@ -1,11 +1,12 @@
1
1
  import { ReactNode } from "react";
2
+ import type { Styleable } from "../../common/Styleable";
2
3
  import { GridAreasResult, SlotProps } from "./types";
3
4
  /**
4
5
  * Props for the GridAreas component.
5
6
  *
6
7
  * Spread the result from useGridAreas() onto this component.
7
8
  */
8
- export type GridAreasProps<TAreaName extends string> = GridAreasResult<TAreaName> & {
9
+ export type GridAreasProps<TAreaName extends string> = GridAreasResult<TAreaName> & Styleable & {
9
10
  /** Additional CSS classes to apply to the grid container */
10
11
  className?: string;
11
12
  /** Render prop that receives the slots object */
@@ -92,4 +93,4 @@ export type GridAreasProps<TAreaName extends string> = GridAreasResult<TAreaName
92
93
  * }
93
94
  * ```
94
95
  */
95
- export declare function GridAreas<TAreaName extends string>({ slots, css, containerProps, validationRef, className, children, asChild, }: GridAreasProps<TAreaName>): ReactNode;
96
+ export declare function GridAreas<TAreaName extends string>({ slots, css, containerProps, validationRef, className, style, children, asChild, }: GridAreasProps<TAreaName>): ReactNode;
@@ -1,8 +1,9 @@
1
1
  import { ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
5
  export type HeadingVariant = "primary" | "secondary" | "tertiary" | "subtitle";
5
- export interface HeadingProps extends CommonProps, Refable<HTMLHeadingElement> {
6
+ export interface HeadingProps extends CommonProps, Styleable, Refable<HTMLHeadingElement> {
6
7
  /**
7
8
  * Child Nodes.
8
9
  */
@@ -1,8 +1,9 @@
1
1
  import { ReactElement, ReactNode, Ref } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Size } from "../../common/Size";
4
5
  export type HighlightSize = Extract<Size, "small" | "medium">;
5
- export interface HighlightProps extends CommonProps {
6
+ export interface HighlightProps extends CommonProps, Styleable {
6
7
  /**
7
8
  * The size of the highlight. Allowed values: "small" (text-xs), "medium" (text-sm).
8
9
  */
@@ -57,6 +58,6 @@ export interface HighlightProps extends CommonProps {
57
58
  * @returns {ReactElement} Highlight component
58
59
  */
59
60
  export declare const Highlight: {
60
- ({ className, "data-testid": dataTestId, children, size, color, ref, }: HighlightProps): ReactElement;
61
+ ({ className, "data-testid": dataTestId, children, size, color, style, ref, }: HighlightProps): ReactElement;
61
62
  displayName: string;
62
63
  };
@@ -1,7 +1,7 @@
1
1
  import { ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- import { Styleable } from "../../common/Styleable";
5
5
  export interface HorizontalOverflowScrollerProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
6
  children: ReactNode;
7
7
  /**
@@ -40,4 +40,4 @@ export interface HorizontalOverflowScrollerProps extends CommonProps, Styleable,
40
40
  * @param {HorizontalOverflowScrollerProps} props - The props for the HorizontalOverflowScroller component
41
41
  * @returns {ReactElement} HorizontalOverflowScroller component
42
42
  */
43
- export declare const HorizontalOverflowScroller: ({ className, "data-testid": dataTestId, children, onScrollStateChange, ref, }: HorizontalOverflowScrollerProps) => ReactElement;
43
+ export declare const HorizontalOverflowScroller: ({ className, "data-testid": dataTestId, children, onScrollStateChange, style, ref, }: HorizontalOverflowScrollerProps) => ReactElement;
@@ -1,7 +1,8 @@
1
1
  import { MouseEventHandler, ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  type OverflowDirection = "left" | "right";
4
- export interface OverflowIndicatorProps extends CommonProps {
5
+ export interface OverflowIndicatorProps extends CommonProps, Styleable {
5
6
  /**
6
7
  * Direction of the overflow indicator
7
8
  */
@@ -18,5 +19,5 @@ export interface OverflowIndicatorProps extends CommonProps {
18
19
  * @param {OverflowIndicatorProps} props - The props for the component
19
20
  * @returns {ReactElement} OverflowIndicator component
20
21
  */
21
- export declare const OverflowIndicator: ({ className, "data-testid": dataTestId, direction, onClickScroll, }: OverflowIndicatorProps) => ReactElement;
22
+ export declare const OverflowIndicator: ({ className, "data-testid": dataTestId, direction, onClickScroll, style, }: OverflowIndicatorProps) => ReactElement;
22
23
  export {};
@@ -1,10 +1,11 @@
1
1
  import { ActivityColors, CriticalityColors, GeneralColors, IntentColors, RentalStatusColors, SitesColors, UtilizationColors } from "@trackunit/ui-design-tokens";
2
2
  import { IconName } from "@trackunit/ui-icons";
3
- import { CSSProperties, MouseEventHandler, ReactElement } from "react";
3
+ import { MouseEventHandler, ReactElement } from "react";
4
4
  import { AriaProps } from "../../common/AriaProps";
5
5
  import { CommonProps } from "../../common/CommonProps";
6
6
  import { Refable } from "../../common/Refable";
7
7
  import { Size } from "../../common/Size";
8
+ import type { Styleable } from "../../common/Styleable";
8
9
  export type IconColors = IntentColors | GeneralColors | CriticalityColors | ActivityColors | UtilizationColors | SitesColors | RentalStatusColors;
9
10
  export declare const iconPalette: {
10
11
  ON_RENT: {
@@ -255,7 +256,7 @@ type IconPropsLarge = {
255
256
  type?: "solid" | "outline";
256
257
  };
257
258
  type DiscriminatedIconProps = IconPropsSmall | IconPropsMedium | IconPropsLarge;
258
- export type IconProps = DiscriminatedIconProps & CommonProps & AriaProps & Refable<HTMLSpanElement> & {
259
+ export type IconProps = DiscriminatedIconProps & CommonProps & Styleable & AriaProps & Refable<HTMLSpanElement> & {
259
260
  /**
260
261
  * The name of the icon to be rendered.
261
262
  * HeroIconName and TrackunitIconName are supported.
@@ -280,12 +281,6 @@ export type IconProps = DiscriminatedIconProps & CommonProps & AriaProps & Refab
280
281
  */
281
282
  type?: "solid" | "outline" | "mini";
282
283
  onClick?: MouseEventHandler<HTMLSpanElement>;
283
- /**
284
- * Custom styles object used to override existing styles or add some extra styling
285
- *
286
- * @memberof IconProps
287
- */
288
- style?: CSSProperties;
289
284
  /**
290
285
  * If true, the icon will be rendered with the font size of the parent element.
291
286
  *
@@ -1,8 +1,9 @@
1
1
  import { ActivityColors, CriticalityColors, GeneralColors, IntentColors, RentalStatusColors, SitesColors, UtilizationColors } from "@trackunit/ui-design-tokens";
2
2
  import { ReactElement } from "react";
3
3
  import { CommonProps } from "../../common/CommonProps";
4
+ import type { Styleable } from "../../common/Styleable";
4
5
  import { Refable } from "../../common/Refable";
5
- export interface IndicatorProps extends CommonProps, Refable<HTMLDivElement> {
6
+ export interface IndicatorProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
7
  /**
7
8
  * The icon to be rendered inside the indicator component
8
9
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- import { Styleable } from "../../common/Styleable";
5
5
  export interface KPIProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
6
  /**
7
7
  * The title of the KPI
@@ -1,7 +1,7 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- import { Styleable } from "../../common/Styleable";
5
5
  export interface KPISkeletonProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
6
  /**
7
7
  * The size of the KPI skeleton
@@ -1,7 +1,7 @@
1
1
  import { ReactElement, ReactNode } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { Refable } from "../../common/Refable";
4
- import { Styleable } from "../../common/Styleable";
5
5
  export interface KPICardSkeletonProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
6
  /**
7
7
  * Whether to show an icon skeleton
@@ -1,8 +1,9 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../../../common/CommonProps";
3
3
  import { Refable } from "../../../../common/Refable";
4
+ import type { Styleable } from "../../../../common/Styleable";
4
5
  import { KPICardProps } from "../../KPICard";
5
- export interface TrendIndicatorProps extends CommonProps, Refable<HTMLDivElement> {
6
+ export interface TrendIndicatorProps extends CommonProps, Styleable, Refable<HTMLDivElement> {
6
7
  /**
7
8
  * The absolute value
8
9
  */
@@ -30,4 +31,4 @@ export interface TrendIndicatorProps extends CommonProps, Refable<HTMLDivElement
30
31
  * @param {TrendIndicatorProps} props - The props for the TrendIndicator component
31
32
  * @returns {ReactElement} TrendIndicator component
32
33
  */
33
- export declare const TrendIndicator: ({ value, trend, label, icon, color, "data-testid": dataTestId, className, ref, }: TrendIndicatorProps) => ReactElement;
34
+ export declare const TrendIndicator: ({ value, trend, label, icon, color, "data-testid": dataTestId, className, style, ref, }: TrendIndicatorProps) => ReactElement;
@@ -1,8 +1,9 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../../common/CommonProps";
3
3
  import { Refable } from "../../../common/Refable";
4
+ import type { Styleable } from "../../../common/Styleable";
4
5
  import { TrendIndicatorProps } from "./TrendIndicator/TrendIndicator";
5
- export interface TrendIndicatorsProps extends CommonProps, Refable<HTMLSpanElement> {
6
+ export interface TrendIndicatorsProps extends CommonProps, Styleable, Refable<HTMLSpanElement> {
6
7
  trends: Array<Omit<TrendIndicatorProps, "className" | "data-testid">>;
7
8
  }
8
9
  /**
@@ -11,4 +12,4 @@ export interface TrendIndicatorsProps extends CommonProps, Refable<HTMLSpanEleme
11
12
  * @param {TrendIndicatorsProps} props - The props for the TrendIndicators component
12
13
  * @returns {ReactElement} TrendIndicators component
13
14
  */
14
- export declare const TrendIndicators: ({ trends, "data-testid": dataTestId, className, ref, }: TrendIndicatorsProps) => ReactElement;
15
+ export declare const TrendIndicators: ({ trends, "data-testid": dataTestId, className, style, ref, }: TrendIndicatorsProps) => ReactElement;
@@ -1,8 +1,9 @@
1
1
  import { ReactElement } from "react";
2
2
  import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { UseListResult, VirtualizationListItemProps } from "./useList";
4
5
  export type { VirtualizationListItemProps } from "./useList";
5
- export interface ListProps<TItem = unknown> extends CommonProps, UseListResult<TItem> {
6
+ export interface ListProps<TItem = unknown> extends CommonProps, Styleable, UseListResult<TItem> {
6
7
  /**
7
8
  * Function that renders each list item. Must spread `listItemProps` onto your element
8
9
  * and use the provided `key` prop for React's reconciliation.
@@ -91,4 +92,4 @@ export interface ListProps<TItem = unknown> extends CommonProps, UseListResult<T
91
92
  * );
92
93
  * ```
93
94
  */
94
- export declare const List: <TItem = unknown>({ children, className, "data-testid": dataTestId, containerRef, listRef, rows, getListItemProps, header, loadingIndicator, shouldShowLoaderAtIndex, count, isScrolling, separator, topSeparatorOnScroll, isAtTop, contentFillsContainer, scrollOffset: _scrollOffset, getTotalSize: _getTotalSize, getVirtualItems: _getVirtualItems, scrollToOffset: _scrollToOffset, scrollToIndex: _scrollToIndex, measure: _measure, }: ListProps<TItem>) => ReactElement;
95
+ export declare const List: <TItem = unknown>({ children, className, "data-testid": dataTestId, style, containerRef, listRef, rows, getListItemProps, header, loadingIndicator, shouldShowLoaderAtIndex, count, isScrolling, separator, topSeparatorOnScroll, isAtTop, contentFillsContainer, scrollOffset: _scrollOffset, getTotalSize: _getTotalSize, getVirtualItems: _getVirtualItems, scrollToOffset: _scrollToOffset, scrollToIndex: _scrollToIndex, measure: _measure, }: ListProps<TItem>) => ReactElement;
@@ -1,4 +1,5 @@
1
1
  import { ReactElement } from "react";
2
+ import type { Styleable } from "../../common/Styleable";
2
3
  type NoneLoadingIndicator = {
3
4
  type: "none";
4
5
  component?: never;
@@ -63,9 +64,9 @@ type SkeletonLoadingIndicator = {
63
64
  */
64
65
  scrollLoadingCount?: number;
65
66
  };
66
- export type ListLoadingIndicatorProps = NoneLoadingIndicator | SpinnerLoadingIndicator | CustomLoadingIndicator | SkeletonLoadingIndicator;
67
+ export type ListLoadingIndicatorProps = Styleable & (NoneLoadingIndicator | SpinnerLoadingIndicator | CustomLoadingIndicator | SkeletonLoadingIndicator);
67
68
  /**
68
69
  *
69
70
  */
70
- export declare const ListLoadingIndicator: ({ type, hasThumbnail, thumbnailShape, hasDescription, component, hasMeta, hasDetails, }: ListLoadingIndicatorProps) => ReactElement | null;
71
+ export declare const ListLoadingIndicator: ({ type, hasThumbnail, thumbnailShape, hasDescription, component, hasMeta, hasDetails, style, }: ListLoadingIndicatorProps) => ReactElement | null;
71
72
  export {};
@@ -1,5 +1,6 @@
1
1
  import type { VirtualItem, Virtualizer } from "@tanstack/react-virtual";
2
2
  import { MouseEventHandler, ReactElement, RefObject } from "react";
3
+ import type { Styleable } from "../../common/Styleable";
3
4
  import { RelayPagination } from "../../hooks/useRelayPagination";
4
5
  import { ListLoadingIndicatorProps } from "./ListLoadingIndicator";
5
6
  declare const DEFAULT_LOADING_INDICATOR_CONFIG: Extract<ListLoadingIndicatorProps, {
@@ -11,7 +12,7 @@ declare const DEFAULT_LOADING_INDICATOR_CONFIG: Extract<ListLoadingIndicatorProp
11
12
  *
12
13
  * **Important**: Consumers must add a `key` prop to their list items using the index parameter.
13
14
  */
14
- export interface VirtualizationListItemProps {
15
+ export interface VirtualizationListItemProps extends Styleable {
15
16
  /** CSS classes for list styling and separators */
16
17
  className: string;
17
18
  /** Element ref for virtualization measurement and setting positioning transform styles */
@@ -3,6 +3,7 @@ import { MappedOmit } from "@trackunit/shared-utils";
3
3
  import { tailwindPalette, ThemeColors } from "@trackunit/ui-design-tokens";
4
4
  import { MouseEventHandler, ReactElement, ReactNode, Ref } from "react";
5
5
  import { CommonProps } from "../../common/CommonProps";
6
+ import type { Styleable } from "../../common/Styleable";
6
7
  import { cvaListItem } from "./ListItem.variants";
7
8
  type ThemeColorShades = `${keyof (typeof tailwindPalette)[keyof typeof tailwindPalette]}`;
8
9
  export type ListItemVirtualizationProps = {
@@ -15,7 +16,7 @@ export type ListItemVirtualizationProps = {
15
16
  /** @internal */
16
17
  className?: string;
17
18
  };
18
- export interface ListItemProps extends CommonProps, ListItemVirtualizationProps, MappedOmit<VariantProps<typeof cvaListItem>, "className"> {
19
+ export interface ListItemProps extends CommonProps, Styleable, ListItemVirtualizationProps, MappedOmit<VariantProps<typeof cvaListItem>, "className"> {
19
20
  /**The main text line of the ListItem */
20
21
  title: string | ReactElement<CommonProps>;
21
22
  /**Optional description for the ListItem. Can be used for descriptions, metadata, or other important details. */
@@ -1,5 +1,7 @@
1
1
  import { ReactElement } from "react";
2
- export interface ListItemSkeletonProps {
2
+ import { CommonProps } from "../../common/CommonProps";
3
+ import type { Styleable } from "../../common/Styleable";
4
+ export interface ListItemSkeletonProps extends CommonProps, Styleable {
3
5
  /** Whether to show a thumbnail skeleton */
4
6
  hasThumbnail?: boolean;
5
7
  /** Shape of the thumbnail when present */
@@ -37,4 +39,4 @@ export interface ListItemSkeletonProps {
37
39
  * @param {ListItemSkeletonProps} props - The props for the ListItemSkeleton component
38
40
  * @returns {ReactElement} ListItemSkeleton component
39
41
  */
40
- export declare const ListItemSkeleton: ({ hasThumbnail, thumbnailShape, hasDescription, hasMeta, hasDetails, }: ListItemSkeletonProps) => ReactElement;
42
+ export declare const ListItemSkeleton: ({ hasThumbnail, thumbnailShape, hasDescription, hasMeta, hasDetails, className, "data-testid": dataTestId, style, }: ListItemSkeletonProps) => ReactElement;