@eccenca/gui-elements
Version:
GUI elements based on other libraries, usable in React application, written in Typescript.
88 lines (87 loc) • 2.87 kB
TypeScript
import React from "react";
import { ValidIconName } from "../../components/Icon/canonicalIconNames";
import { IconProps } from "../../components/Icon/Icon";
import { TestIconProps } from "../../components/Icon/TestIcon";
import { TestableComponent } from "../../components/interfaces";
import { ProgressBarProps } from "../../components/ProgressBar/ProgressBar";
import { SpinnerProps } from "../../components/Spinner/Spinner";
export interface ActivityControlWidgetProps extends TestableComponent {
/**
* The label to be shown
*/
label?: string | JSX.Element;
/**
* Element that wraps around the label.
* Default: `<OverflowText inline={true} />`
*/
labelWrapper?: JSX.Element;
/**
* To add tags in addition to the widget status description
*/
tags?: JSX.Element;
/**
* The progress bar parameters if it should be show by a progres bar
*/
progressBar?: ProgressBarProps;
/**
* The spinner parameters if it should be show by a spinner
*/
progressSpinner?: SpinnerProps;
/**
* Status message
*/
statusMessage?: string;
/**
* The action buttons
*/
activityActions?: ActivityControlWidgetAction[];
/**
* Context menu items
*/
activityContextMenu?: IActivityContextMenu;
/**
* show small version of the widget
*/
small?: boolean;
/**
* display widget inside rectangle
*/
border?: boolean;
/**
* display a bit whitespace around widget, even without border
*/
hasSpacing?: boolean;
/**
* only use necessary width, not always the available 100% of parent element
*/
canShrink?: boolean;
/**
* if this is set the spinner is replaced when the progress has finished from 0 - 1
*/
progressSpinnerFinishedIcon?: React.ReactElement<IconProps> | React.ReactElement<TestIconProps>;
/**
* execution timer messages for waiting and running times.
*/
timerExecutionMsg?: JSX.Element | null;
/**
* additional actions that can serve as a complex component, positioned between the default actions and the context menu
*/
additionalActions?: React.ReactElement<unknown>[];
}
interface IActivityContextMenu extends TestableComponent {
tooltip?: string;
menuItems: IActivityMenuAction[];
}
export interface ActivityControlWidgetAction extends TestableComponent {
action: () => void;
tooltip?: string;
icon: ValidIconName | React.ReactElement<TestIconProps>;
disabled?: boolean;
hasStateWarning?: boolean;
}
interface IActivityMenuAction extends ActivityControlWidgetAction {
href?: string;
}
/** Shows the status of activities and supports actions on these activities. */
export declare function ActivityControlWidget(props: ActivityControlWidgetProps): React.JSX.Element;
export {};