UNPKG

react-burgers-classname

Version:

fork of: [https://react-burgers.netlify.com/](https://react-burgers.netlify.com/) with added support for own className

98 lines (76 loc) 8.24 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _style = require('styled-jsx/style'); var _style2 = _interopRequireDefault(_style); var _react = require('react'); var _react2 = _interopRequireDefault(_react); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Base = function (_React$Component) { (0, _inherits3.default)(Base, _React$Component); function Base() { (0, _classCallCheck3.default)(this, Base); return (0, _possibleConstructorReturn3.default)(this, (Base.__proto__ || Object.getPrototypeOf(Base)).apply(this, arguments)); } (0, _createClass3.default)(Base, [{ key: 'formattedSize', value: function formattedSize(size) { return isNaN(parseInt(size)) ? size : size + 'px'; } }, { key: 'render', value: function render() { var _props = this.props, width = _props.width, lineHeight = _props.lineHeight, color = _props.color, active = _props.active, onClick = _props.onClick, borderRadius = _props.borderRadius, lineSpacing = _props.lineSpacing, padding = _props.padding, className = _props.className, typeClassName = _props.typeClassName, children = _props.children; var height = lineSpacing * 2 + lineHeight * 3; var formattedWidth = this.formattedSize(width); var formattedHeight = this.formattedSize(height); var classes = [typeClassName, 'Burger']; if (active) classes.push('BurgerActive'); if (className) classes.push(className); return _react2.default.createElement( 'button', { onClick: onClick, className: _style2.default.dynamic([['2913973606', [padding, formattedWidth, formattedHeight, lineHeight / 2 * -1, color, lineHeight, borderRadius, (lineSpacing + lineHeight) * -1, (lineSpacing + lineHeight) * -1]]]) + ' ' + (classes.join(' ') || '') }, _react2.default.createElement( 'div', { className: _style2.default.dynamic([['2913973606', [padding, formattedWidth, formattedHeight, lineHeight / 2 * -1, color, lineHeight, borderRadius, (lineSpacing + lineHeight) * -1, (lineSpacing + lineHeight) * -1]]]) + ' ' + 'BurgerBox' }, _react2.default.createElement('div', { className: _style2.default.dynamic([['2913973606', [padding, formattedWidth, formattedHeight, lineHeight / 2 * -1, color, lineHeight, borderRadius, (lineSpacing + lineHeight) * -1, (lineSpacing + lineHeight) * -1]]]) + ' ' + 'BurgerInner' }) ), children, _react2.default.createElement(_style2.default, { styleId: '2913973606', css: '.Burger{padding:' + padding + ';display:inline-block;cursor:pointer;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible;outline:0;}.BurgerBox{width:' + formattedWidth + ';height:' + formattedHeight + ';display:inline-block;position:relative;}.BurgerInner{top:50%;margin-top:' + lineHeight / 2 * -1 + 'px;}.BurgerInner:before,.BurgerInner:after{content:\'\';display:block;}.BurgerInner,.BurgerInner:before,.BurgerInner:after{position:absolute;width:100%;background-color:' + color + ';height:' + lineHeight + 'px;border-radius:' + borderRadius + 'px;-webkit-transition-property:-webkit-transform;-webkit-transition-property:transform;transition-property:transform;-webkit-transition-duration:0.15s;transition-duration:0.15s;-webkit-transition-timing-function:ease;transition-timing-function:ease;}.BurgerInner:before{top:' + (lineSpacing + lineHeight) * -1 + 'px;}.BurgerInner:after{bottom:' + (lineSpacing + lineHeight) * -1 + 'px;}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DdUIsQUFHNEMsQUFjRixBQU8zQixBQU1JLEFBT08sQUFXaUIsQUFJRyxRQTNCRyxHQU0zQixPQU9ILE9BTlosSUFPK0MsTUFyQlgsQUErQnBDLEVBN0NxQixDQWlEckIsWUEzQkQsUUFyQmdCLGFBY00sRUFiUixFQWtDMEIsV0FqQ3pCLE1BYUksUUFaRSxVQWFyQixHQW9CK0MsT0FoQ2pCLDZCQUNwQixTQUNBLEFBK0JzQixTQTlCZCxpQkFDUCxVQUNYLDhFQTZCNEIsNERBQ00sd0VBQ2pDIiwiZmlsZSI6Ii4uL3NyYy9iYXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYXNlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0Zm9ybWF0dGVkU2l6ZShzaXplKSB7XG5cdFx0cmV0dXJuIGlzTmFOKHBhcnNlSW50KHNpemUpKSA/IHNpemUgOiBgJHtzaXplfXB4YFxuXHR9XG5cdHJlbmRlcigpe1xuXHRcdGxldCB7XG5cdFx0XHR3aWR0aCxcblx0XHRcdGxpbmVIZWlnaHQsXG5cdFx0XHRjb2xvcixcblx0XHRcdGFjdGl2ZSxcblx0XHRcdG9uQ2xpY2ssXG5cdFx0XHRib3JkZXJSYWRpdXMsXG5cdFx0XHRsaW5lU3BhY2luZyxcblx0XHRcdHBhZGRpbmcsXG5cdFx0XHRjbGFzc05hbWUsXG5cdFx0XHR0eXBlQ2xhc3NOYW1lLFxuXHRcdFx0Y2hpbGRyZW4sXG5cdFx0fSA9IHRoaXMucHJvcHNcblxuXHRcdGNvbnN0IGhlaWdodCA9IGxpbmVTcGFjaW5nICogMiArIGxpbmVIZWlnaHQgKiAzXG5cdFx0Y29uc3QgZm9ybWF0dGVkV2lkdGggPSB0aGlzLmZvcm1hdHRlZFNpemUod2lkdGgpXG5cdFx0Y29uc3QgZm9ybWF0dGVkSGVpZ2h0ID0gdGhpcy5mb3JtYXR0ZWRTaXplKGhlaWdodClcblxuXHRcdGNvbnN0IGNsYXNzZXMgPSBbdHlwZUNsYXNzTmFtZSwgJ0J1cmdlciddXG5cdFx0aWYoYWN0aXZlKSBjbGFzc2VzLnB1c2goJ0J1cmdlckFjdGl2ZScpXG5cdFx0aWYoY2xhc3NOYW1lKSBjbGFzc2VzLnB1c2goY2xhc3NOYW1lKVxuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxidXR0b24gY2xhc3NOYW1lPXtjbGFzc2VzLmpvaW4oJyAnKX0gb25DbGljaz17b25DbGlja30+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPSdCdXJnZXJCb3gnPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3NOYW1lPSdCdXJnZXJJbm5lcicgLz5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdHtjaGlsZHJlbn1cblx0XHRcdFx0PHN0eWxlIGpzeCBnbG9iYWw+e2Bcblx0XHRcdFx0XHQuQnVyZ2Vye1xuXHRcdFx0XHRcdFx0cGFkZGluZzogJHtwYWRkaW5nfTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdGZvbnQ6IGluaGVyaXQ7XG5cdFx0XHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRcdFx0XHRcdG91dGxpbmU6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LkJ1cmdlckJveHtcblx0XHRcdFx0XHRcdHdpZHRoOiAke2Zvcm1hdHRlZFdpZHRofTtcblx0XHRcdFx0XHRcdGhlaWdodDogJHtmb3JtYXR0ZWRIZWlnaHR9O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5CdXJnZXJJbm5lcntcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJHsobGluZUhlaWdodCAvIDIpICogLTF9cHg7XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHRcdFx0JjphZnRlcntcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLFxuXHRcdFx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yfTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAke2xpbmVIZWlnaHR9cHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6ICR7Ym9yZGVyUmFkaXVzfXB4O1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjpiZWZvcmV7XG5cdFx0XHRcdFx0XHRcdHRvcDogJHsobGluZVNwYWNpbmcgKyBsaW5lSGVpZ2h0KSAqIC0xfXB4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmFmdGVye1xuXHRcdFx0XHRcdFx0XHRib3R0b206ICR7KGxpbmVTcGFjaW5nICsgbGluZUhlaWdodCkgKiAtMX1weDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdGB9PC9zdHlsZT5cblx0XHRcdDwvYnV0dG9uPlxuXHRcdClcblx0fVxufSJdfQ== */\n/*@ sourceURL=../src/base.js */', dynamic: [padding, formattedWidth, formattedHeight, lineHeight / 2 * -1, color, lineHeight, borderRadius, (lineSpacing + lineHeight) * -1, (lineSpacing + lineHeight) * -1] }) ); } }]); return Base; }(_react2.default.Component); exports.default = Base; module.exports = exports['default']; //# sourceMappingURL=base.js.map