UNPKG

@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
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))); }