@itwin/itwinui-react
Version:
A react component library for iTwinUI
40 lines (39 loc) • 997 B
JavaScript
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';