bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/notifications-bar/component.jsx
2019-04-04 16:40:19 -03:00

48 lines
970 B
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import cx from 'classnames';
import injectWbResizeEvent from '/imports/ui/components/presentation/resize-wrapper/component';
import { styles } from './styles.scss';
const COLORS = [
'default', 'primary', 'danger', 'success',
];
const propTypes = {
color: PropTypes.string,
};
const defaultProps = {
color: 'default',
};
const NotificationsBar = (props) => {
const {
color,
children,
alert,
} = props;
const hasColor = COLORS.includes(color);
return (
<div
role={alert ? 'alert' : ''}
aria-live="off"
style={
!hasColor ? {
backgroundColor: `${color}`,
} : {}
}
className={cx(styles.notificationsBar, hasColor ? styles[color] : null)}
>
{children}
</div>
);
};
NotificationsBar.propTypes = propTypes;
NotificationsBar.defaultProps = defaultProps;
export default injectWbResizeEvent(NotificationsBar);