ringcentral-widget
Version:
RingCentral Integration Widget Library
88 lines (75 loc) • 2.28 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = NavigationButton;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _styles = require('./styles.scss');
var _styles2 = _interopRequireDefault(_styles);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function NavigationButton(_ref) {
var active = _ref.active,
activeIcon = _ref.activeIcon,
icon = _ref.icon,
label = _ref.label,
noticeCounts = _ref.noticeCounts,
onClick = _ref.onClick,
width = _ref.width;
var notice = null;
if (noticeCounts && noticeCounts > 0) {
if (noticeCounts > 99) {
notice = _react2.default.createElement(
'div',
{ className: _styles2.default.notices },
'99+'
);
} else {
notice = _react2.default.createElement(
'div',
{ className: _styles2.default.notice },
noticeCounts
);
}
}
return _react2.default.createElement(
'div',
{
onClick: onClick,
className: (0, _classnames2.default)(_styles2.default.navigationButton, active && _styles2.default.active),
style: {
width: width
}
},
_react2.default.createElement(
'div',
{ className: _styles2.default.iconHolder, title: label },
_react2.default.createElement(
'div',
{ className: _styles2.default.icon },
active ? activeIcon : icon
),
notice
)
);
}
NavigationButton.propTypes = {
icon: _propTypes2.default.node.isRequired,
activeIcon: _propTypes2.default.node.isRequired,
active: _propTypes2.default.bool,
label: _propTypes2.default.string,
noticeCounts: _propTypes2.default.number,
width: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]).isRequired,
onClick: _propTypes2.default.func
};
NavigationButton.defaultProps = {
active: false,
label: undefined,
noticeCounts: undefined,
onClick: undefined
};
//# sourceMappingURL=index.js.map