UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

35 lines (33 loc) 1.23 kB
import { cs } from "../utils/styles.js"; import vui from "../core/vui.js"; import { Icon } from "../icon/icon.js"; import { useNotificationContext } from "./context.js"; import { INTENT_ICON_MAP, LOADING_ICON_PROPS, notificationStatusMapping } from "./consts.js"; import { jsx } from "react/jsx-runtime"; //#region src/notification/notificationIcon.tsx /** Displays an icon based on the status or intent within the Notification. */ const NotificationIcon = vui((props, ref) => { const { className, alignSelf, ...rest } = props; const { status = "", statusMapping, intent, isLoading } = { ...useNotificationContext(), ...props }; const resolvedIconProps = isLoading ? LOADING_ICON_PROPS : { ...notificationStatusMapping, ...statusMapping }[status]?.iconProps ?? (intent ? INTENT_ICON_MAP[intent] : void 0); return /* @__PURE__ */ jsx(Icon, { alignSelf, className: cs("vui-notificationIcon", className), ref, size: "md", variant: isLoading ? "spinning" : "static", ...resolvedIconProps, ...rest }); }); NotificationIcon.displayName = "NotificationIcon"; //#endregion export { NotificationIcon, NotificationIcon as default }; globalThis.__vuiVersion__ = "5.3.1" //# sourceMappingURL=notificationIcon.js.map