UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

40 lines (39 loc) 997 B
import * as React from 'react'; import { Box, StatusIconMap } from '../../utils/index.js'; import cx from 'classnames'; import { Icon } from '../Icon/Icon.js'; export const StatusMessage = React.forwardRef((props, ref) => { let { children, startIcon: userStartIcon, status, className, iconProps, contentProps, ...rest } = props; let icon = userStartIcon ?? (status && StatusIconMap[status]()); let shouldShowIcon = null !== userStartIcon && !!icon; return React.createElement( Box, { className: cx('iui-status-message', className), 'data-iui-status': status, ref: ref, ...rest, }, shouldShowIcon ? React.createElement( Icon, { 'aria-hidden': true, ...iconProps, }, icon, ) : null, React.createElement(Box, contentProps, children), ); }); if ('development' === process.env.NODE_ENV) StatusMessage.displayName = 'StatusMessage';