UNPKG

twreporter-react

Version:

React-Redux site for The Reporter Foundation in Taiwan

89 lines (75 loc) 2.38 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _radium = require('radium'); var _radium2 = _interopRequireDefault(_radium); var CrossIcon = (0, _radium2['default'])(_react2['default'].createClass({ propTypes: { image: _react2['default'].PropTypes.string, styles: _react2['default'].PropTypes.object }, getCrossStyle: function getCrossStyle(type) { return { position: 'absolute', width: 3, height: 14, transform: type === 'before' ? 'rotate(45deg)' : 'rotate(-45deg)' }; }, getDefaultProps: function getDefaultProps() { return { image: '', styles: {} }; }, render: function render() { var icon; var buttonWrapperStyle = { position: 'absolute', width: 24, height: 24, right: 8, top: 8 }; var buttonStyle = { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0, margin: 0, padding: 0, border: 'none', fontSize: 8, color: 'transparent', background: 'transparent', outline: 'none' }; if (this.props.image) { icon = _react2['default'].createElement('img', { src: this.props.image, alt: 'Cross icon', className: 'bm-cross', style: [{ width: '100%', height: '100%' }, this.props.styles.bmCross] }); } else { icon = _react2['default'].createElement( 'span', { style: [{ position: 'absolute', top: '6px', right: '14px' }] }, _react2['default'].createElement('span', { className: 'bm-cross', style: [this.getCrossStyle('before'), this.props.styles.bmCross] }), _react2['default'].createElement('span', { className: 'bm-cross', style: [this.getCrossStyle('after'), this.props.styles.bmCross] }) ); } return _react2['default'].createElement( 'div', { className: 'bm-cross-button', style: [buttonWrapperStyle, this.props.styles.bmCrossButton] }, icon, _react2['default'].createElement( 'button', { onClick: this.props.onClick, style: buttonStyle }, 'Close Menu' ) ); } })); exports['default'] = CrossIcon; module.exports = exports['default'];