@awsui/components-react
Version:
AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A
30 lines (29 loc) • 1.7 kB
JavaScript
import { __assign, __rest } from "tslib";
import React from 'react';
import clsx from 'clsx';
import { getBaseProps } from '../internal/base-component';
import styles from './styles.css.js';
import Icon from '../icon';
import Spinner from '../spinner';
var typeToIcon = {
error: React.createElement(Icon, { name: "status-negative" }),
warning: React.createElement(Icon, { name: "status-warning" }),
success: React.createElement(Icon, { name: "status-positive" }),
info: React.createElement(Icon, { name: "status-info" }),
stopped: React.createElement(Icon, { name: "status-stopped" }),
pending: React.createElement(Icon, { name: "status-pending" }),
'in-progress': React.createElement(Icon, { name: "status-in-progress" }),
loading: React.createElement(Spinner, null)
};
export default function StatusIndicator(_a) {
var _b;
var _c = _a.type, type = _c === void 0 ? 'success' : _c, children = _a.children, iconAriaLabel = _a.iconAriaLabel, colorOverride = _a.colorOverride, uxdgInverted = _a.uxdgInverted, restProps = __rest(_a, ["type", "children", "iconAriaLabel", "colorOverride", "uxdgInverted"]);
var baseProps = getBaseProps(restProps);
return (React.createElement("span", __assign({}, baseProps, { className: clsx(styles.root, styles["status-" + type], (_b = {},
_b[styles["color-override-" + colorOverride]] = colorOverride,
_b[styles['uxdg-inverted']] = uxdgInverted,
_b), baseProps.className) }),
React.createElement("span", { className: styles.container },
React.createElement("span", { className: styles.icon, "aria-label": iconAriaLabel }, typeToIcon[type]),
children)));
}