UNPKG

react-burger-menu

Version:

An off-canvas sidebar component with a collection of effects and styles using CSS transitions and SVG path animations

98 lines (82 loc) 3.41 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _helpersSnapsvgImporter = require('../helpers/snapsvgImporter'); var _helpersSnapsvgImporter2 = _interopRequireDefault(_helpersSnapsvgImporter); var _menuFactory = require('../menuFactory'); var _menuFactory2 = _interopRequireDefault(_menuFactory); var _helpersUtils = require('../helpers/utils'); var MORPH_SHAPE_WIDTH = 120; var styles = { svg: { lib: _helpersSnapsvgImporter2['default'], pathInitial: 'M-1,0h101c0,0-97.833,153.603-97.833,396.167C2.167,627.579,100,800,100,800H-1V0z', pathOpen: 'M-1,0h101c0,0,0-1,0,395c0,404,0,405,0,405H-1V0z', animate: function animate(path) { path.animate({ path: this.pathOpen }, 400, window.mina.easeinout); } }, morphShape: function morphShape(isOpen, width, right) { return { position: 'absolute', width: MORPH_SHAPE_WIDTH, height: '100%', right: right ? 'inherit' : 0, left: right ? 0 : 'inherit', MozTransform: right ? 'rotateY(180deg)' : '', MsTransform: right ? 'rotateY(180deg)' : '', OTransform: right ? 'rotateY(180deg)' : '', WebkitTransform: right ? 'rotateY(180deg)' : '', transform: right ? 'rotateY(180deg)' : '' }; }, menuWrap: function menuWrap(isOpen, width, right) { return { MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)', MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)', OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)', WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)', transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)', transition: 'all 0.3s' }; }, menu: function menu(isOpen, width, right) { return { position: 'fixed', right: right ? 0 : 'inherit', width: (0, _helpersUtils.pxToNum)(width) - MORPH_SHAPE_WIDTH, whiteSpace: 'nowrap', boxSizing: 'border-box', overflow: 'visible' }; }, itemList: function itemList(isOpen, width, right) { if (right) { return { position: 'relative', left: '-110px', width: '170%', overflow: 'auto' }; } }, pageWrap: function pageWrap(isOpen, width, right) { return { MozTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)', MsTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)', OTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)', WebkitTransform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)', transform: isOpen ? '' : right ? 'translate3d(-100px, 0, 0)' : 'translate3d(100px, 0, 0)', transition: isOpen ? 'all 0.3s' : 'all 0.3s 0.1s' }; }, outerContainer: function outerContainer(isOpen) { return { overflow: isOpen ? '' : 'hidden' }; } }; exports['default'] = (0, _menuFactory2['default'])(styles); module.exports = exports['default'];