UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

19 lines (18 loc) 862 B
import { jsx as _jsx } from "react/jsx-runtime"; import { CheckCircleIcon, ExclamationTriangleIcon, InformationCircleIcon, XCircleIcon } from "@heroicons/react/24/solid"; import statusStyles from "../style/Status.module.css"; import { getModuleClass } from "../util/css.js"; import { Loading } from "./Loading.js"; import styles from "./StatusIcon.module.css"; const STATUS_ICONS = { loading: Loading, success: CheckCircleIcon, error: XCircleIcon, warning: ExclamationTriangleIcon, danger: ExclamationTriangleIcon, }; /** Output a status icon based on the current status of something. */ export function StatusIcon({ status = "info", ...variants }) { const Icon = STATUS_ICONS[status] ?? InformationCircleIcon; return _jsx(Icon, { className: `${getModuleClass(styles, "icon", variants)} ${getModuleClass(statusStyles, status)}` }); }