{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./vendor/assets/javascripts/sidenav.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","TRANSITION_EVENTS","TRANSITION_PROPERTIES","SideNav","el","options","_PS","this","_el","_horizontal","orientation","_animate","animate","_supportsTransitionEnd","_accordion","accordion","_closeChildren","Boolean","closeChildren","_showDropdownOnHover","showDropdownOnHover","_rtl","document","documentElement","getAttribute","body","_lastWidth","window","innerWidth","_onOpen","onOpen","_onOpened","onOpened","_onClose","onClose","_onClosed","onClosed","classList","add","remove","_inner","querySelector","container","parentNode","_prevBtn","createElement","href","className","appendChild","_wrapper","_nextBtn","_innerPosition","update","PerfectScrollbarLib","PerfectScrollbar","_scrollbar","suppressScrollX","wheelPropagation","_bindEvents","sidenavInstance","item","_findUnopenedParent","_getItem","toggleLink","_getLink","_promisify","_findMenu","then","_isRoot","_toggleDropdown","requestAnimationFrame","_toggleAnimation","_closeOther","_autoClose","contains","opened","querySelectorAll","length","close","open","active","openTree","deactivateOthers","activeItems","parentItem","_findParent","disabled","closeAll","wrapperWidth","Math","round","getBoundingClientRect","width","_innerWidth","position","_updateSlider","_wrapperWidth","_position","fn","args","result","Promise","reject","resolve","_unbindEvents","items","_unbindAnimationEndEvent","style","overflow","height","menus","i2","l2","marginRight","marginLeft","removeChild","insertBefore","destroy","toggle","found","selector","_findChild","Error","tree","push","slice","indexOf","openedItems","j","k","openedChildren","x","z","menu","linkHeight","clearItemStyle","_bindAnimationEndEvent","setTimeout","show","itemOffset","_getItemOffset","itemWidth","menuWidth","removeAttribute","direction","newPosition","_getSlideNextPos","_getSlidePrevPos","curItem","childNodes","left","tagName","curItemWidth","nextSibling","handler","cb","e","target","duration","getComputedStyle","transitionDuration","parseFloat","_sideNavAnimationEndEventCb","forEach","ev","addEventListener","_sideNavAnimationEndEventTimeout","clearTimeout","removeEventListener","_evntElClick","preventDefault","_evntWindowResize","_evntPrevBtnClick","_slide","_evntNextBtnClick","_evntBodyClick","_evntHorizontalElClick","link","_evntInnerMousemove","setAttribute","_evntInnerMouseleave","curEl","cls","throwError","toUpperCase","passed","QUnit","evnt","parseInt"],"mappings":"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","file":"js/vendor/sidenav-d6e3d427dae2da59b4b7.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://royler.gallerr.com/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 469);\n","const TRANSITION_EVENTS = ['transitionend','webkitTransitionEnd','oTransitionEnd']\nconst TRANSITION_PROPERTIES = ['transition', 'MozTransition', 'webkitTransition', 'WebkitTransition', 'OTransition']\nconst DELTA = 5\n\nclass SideNav {\n constructor(el, options = {}, _PS = null) {\n this._el = el\n this._horizontal = options.orientation === 'horizontal'\n this._animate = options.animate !== false && this._supportsTransitionEnd()\n this._accordion = options.accordion !== false\n this._closeChildren = Boolean(options.closeChildren)\n this._showDropdownOnHover = Boolean(options.showDropdownOnHover)\n this._rtl = document.documentElement.getAttribute('dir') === 'rtl' || document.body.getAttribute('dir') === 'rtl'\n\n this._lastWidth = this._horizontal ? window.innerWidth : null\n\n this._onOpen = options.onOpen || (() => {})\n this._onOpened = options.onOpened || (() => {})\n this._onClose = options.onClose || (() => {})\n this._onClosed = options.onClosed || (() => {})\n\n el.classList.add('sidenav')\n el.classList[this._animate ? 'remove' : 'add']('sidenav-no-animation')\n\n if (!this._horizontal) {\n el.classList.add('sidenav-vertical')\n el.classList.remove('sidenav-horizontal')\n\n const PerfectScrollbarLib = _PS || window.PerfectScrollbar\n\n if (PerfectScrollbarLib) {\n this._scrollbar = new PerfectScrollbarLib(\n el.querySelector('.sidenav-inner'),\n {\n suppressScrollX: true,\n wheelPropagation: true\n }\n )\n }\n } else {\n el.classList.add('sidenav-horizontal')\n el.classList.remove('sidenav-vertical')\n\n this._inner = el.querySelector('.sidenav-inner')\n const container = this._inner.parentNode\n\n this._prevBtn = el.querySelector('.sidenav-horizontal-prev')\n if (!this._prevBtn) {\n this._prevBtn = document.createElement('a')\n this._prevBtn.href = '#'\n this._prevBtn.className = 'sidenav-horizontal-prev'\n container.appendChild(this._prevBtn)\n }\n\n this._wrapper = el.querySelector('.sidenav-horizontal-wrapper')\n if (!this._wrapper) {\n this._wrapper = document.createElement('div')\n this._wrapper.className = 'sidenav-horizontal-wrapper'\n this._wrapper.appendChild(this._inner)\n container.appendChild(this._wrapper)\n }\n\n this._nextBtn = el.querySelector('.sidenav-horizontal-next')\n if (!this._nextBtn) {\n this._nextBtn = document.createElement('a')\n this._nextBtn.href = '#'\n this._nextBtn.className = 'sidenav-horizontal-next'\n container.appendChild(this._nextBtn)\n }\n\n this._innerPosition = 0\n this.update()\n }\n\n this._bindEvents()\n\n // Link sidenav instance to element\n el.sidenavInstance = this\n }\n\n open(el, closeChildren=this._closeChildren) {\n const item = this._findUnopenedParent(this._getItem(el, true), closeChildren)\n\n if (!item) return\n\n const toggleLink = this._getLink(item, true)\n\n this._promisify(this._onOpen, this, item, toggleLink, this._findMenu(item))\n .then(() => {\n if (!this._horizontal || !this._isRoot(item)) {\n if (this._animate) {\n window.requestAnimationFrame(() => this._toggleAnimation(true, item, false))\n if (this._accordion) this._closeOther(item, closeChildren)\n } else {\n item.classList.add('open')\n this._onOpened && this._onOpened(this, item, toggleLink, this._findMenu(item))\n if (this._accordion) this._closeOther(item, closeChildren)\n }\n } else {\n this._toggleDropdown(true, item, closeChildren)\n this._onOpened && this._onOpened(this, item, toggleLink, this._findMenu(item))\n }\n })\n .catch(() => {})\n }\n\n close(el, closeChildren=this._closeChildren, _autoClose=false) {\n const item = this._getItem(el, true)\n const toggleLink = this._getLink(el, true)\n\n if (!item.classList.contains('open') || item.classList.contains('disabled')) return\n\n this._promisify(this._onClose, this, item, toggleLink, this._findMenu(item), _autoClose)\n .then(() => {\n if (!this._horizontal || !this._isRoot(item)) {\n if (this._animate) {\n window.requestAnimationFrame(() => this._toggleAnimation(false, item, closeChildren))\n } else {\n item.classList.remove('open')\n\n if (closeChildren) {\n const opened = item.querySelectorAll('.sidenav-item.open')\n for (let i = 0, l = opened.length; i < l; i++) opened[i].classList.remove('open')\n }\n\n this._onClosed && this._onClosed(this, item, toggleLink, this._findMenu(item))\n }\n } else {\n this._toggleDropdown(false, item, closeChildren)\n this._onClosed && this._onClosed(this, item, toggleLink, this._findMenu(item))\n }\n })\n .catch(() => {})\n }\n\n toggle(el, closeChildren=this._closeChildren) {\n const item = this._getItem(el, true)\n\n if (item.classList.contains('open')) this.close(item, closeChildren)\n else this.open(item, closeChildren)\n }\n\n closeAll(closeChildren=this._closeChildren) {\n const opened = this._el.querySelectorAll('.sidenav-inner > .sidenav-item.open')\n\n for (let i = 0, l = opened.length; i < l; i++) this.close(opened[i], closeChildren)\n }\n\n setActive(el, active, openTree=true, deactivateOthers=true) {\n let item = this._getItem(el, false)\n\n if (active && deactivateOthers) {\n const activeItems = this._el.querySelectorAll('.sidenav-inner .sidenav-item.active')\n for (let i = 0, l = activeItems.length; i < l; i++) activeItems[i].classList.remove('active')\n }\n\n if (active && openTree) {\n const parentItem = this._findParent(item, 'sidenav-item', false)\n parentItem && this.open(parentItem)\n }\n\n while (item) {\n item.classList[active ? 'add' : 'remove']('active')\n item = this._findParent(item, 'sidenav-item', false)\n }\n }\n\n setDisabled(el, disabled) {\n this._getItem(el, false).classList[disabled ? 'add' : 'remove']('disabled')\n }\n\n isActive(el) {\n return this._getItem(el, false).classList.contains('active')\n }\n\n isOpened(el) {\n return this._getItem(el, false).classList.contains('open')\n }\n\n isDisabled(el) {\n return this._getItem(el, false).classList.contains('disabled')\n }\n\n update() {\n if (!this._horizontal) {\n if (this._scrollbar) {\n this._scrollbar.update()\n }\n } else {\n this.closeAll()\n\n const wrapperWidth = Math.round(this._wrapper.getBoundingClientRect().width)\n const innerWidth = this._innerWidth\n let position = this._innerPosition\n\n if ((wrapperWidth - position) > innerWidth) {\n position = wrapperWidth - innerWidth\n if (position > 0) position = 0\n this._innerPosition = position\n }\n\n this._updateSlider(wrapperWidth, innerWidth, position)\n }\n }\n\n _updateSlider(wrapperWidth = null, innerWidth = null, position = null) {\n const _wrapperWidth = wrapperWidth !== null ? wrapperWidth : Math.round(this._wrapper.getBoundingClientRect().width)\n const _innerWidth = innerWidth !== null ? innerWidth : this._innerWidth\n const _position = position !== null ? position : this._innerPosition\n\n if (_position === 0) this._prevBtn.classList.add('disabled')\n else this._prevBtn.classList.remove('disabled')\n\n if (_innerWidth + _position <= _wrapperWidth) this._nextBtn.classList.add('disabled')\n else this._nextBtn.classList.remove('disabled')\n }\n\n _promisify(fn, ...args) {\n const result = fn(...args)\n return result instanceof Promise\n ? result\n : (result === false ? Promise.reject() : Promise.resolve())\n }\n\n destroy() {\n if (!this._el) return\n\n this._unbindEvents()\n\n const items = this._el.querySelectorAll('.sidenav-item')\n for (let i = 0, l = items.length; i < l; i++) {\n this._unbindAnimationEndEvent(items[i])\n items[i].classList.remove('sidenav-item-animating')\n items[i].classList.remove('open')\n items[i].style.overflow = null\n items[i].style.height = null\n }\n\n const menus = this._el.querySelectorAll('.sidenav-menu')\n for (let i2 = 0, l2 = menus.length; i2 < l2; i2++) {\n menus[i2].style.marginRight = null\n menus[i2].style.marginLeft = null\n }\n\n this._el.classList.remove('sidenav-no-animation')\n\n if (this._wrapper) {\n this._prevBtn.parentNode.removeChild(this._prevBtn)\n this._nextBtn.parentNode.removeChild(this._nextBtn)\n this._wrapper.parentNode.insertBefore(this._inner, this._wrapper)\n this._wrapper.parentNode.removeChild(this._wrapper)\n this._inner.style.marginLeft = null\n this._inner.style.marginRight = null\n }\n\n this._el.sidenavInstance = null\n delete this._el.sidenavInstance\n\n this._el = null\n this._horizontal = null\n this._animate = null\n this._accordion = null\n this._closeChildren = null\n this._showDropdownOnHover = null\n this._rtl = null\n this._onOpen = null\n this._onOpened = null\n this._onClose = null\n this._onClosed = null\n if (this._scrollbar) {\n this._scrollbar.destroy()\n this._scrollbar = null\n }\n this._inner = null\n this._prevBtn = null\n this._wrapper = null\n this._nextBtn = null\n }\n\n _getLink(el, toggle) {\n let found = []\n const selector = toggle ? 'sidenav-toggle' : 'sidenav-link'\n\n if (el.classList.contains(selector)) found = [el]\n else if (el.classList.contains('sidenav-item')) found = this._findChild(el, [selector])\n\n if (!found.length) throw new Error(`\\`${selector}\\` element not found.`)\n\n return found[0]\n }\n\n _getItem(el, toggle) {\n let item = null\n const selector = toggle ? 'sidenav-toggle' : 'sidenav-link'\n\n if (el.classList.contains('sidenav-item')) {\n if (this._findChild(el, [selector]).length) item = el\n } else if (el.classList.contains(selector)) {\n item = el.parentNode.classList.contains('sidenav-item') ? el.parentNode : null\n }\n\n if (!item) {\n throw new Error(`${toggle ? 'Toggable ' : ''}\\`.sidenav-item\\` element not found.`)\n }\n\n return item\n }\n\n _findUnopenedParent(item, closeChildren) {\n let tree = []\n let parentItem = null\n\n while (item) {\n if (item.classList.contains('disabled')) {\n parentItem = null\n tree = []\n } else {\n if (!item.classList.contains('open')) parentItem = item\n tree.push(item)\n }\n\n item = this._findParent(item, 'sidenav-item', false)\n }\n\n if (!parentItem) return null\n if (tree.length === 1) return parentItem\n\n tree = tree.slice(0, tree.indexOf(parentItem))\n\n for (let i = 0, l = tree.length; i < l; i++) {\n tree[i].classList.add('open')\n\n if (this._accordion) {\n let openedItems = this._findChild(tree[i].parentNode, ['sidenav-item', 'open'])\n\n for (let j = 0, k = openedItems.length; j < k; j++) {\n if (openedItems[j] === tree[i]) continue\n openedItems[j].classList.remove('open')\n\n if (closeChildren) {\n let openedChildren = openedItems[j].querySelectorAll('.sidenav-item.open')\n\n for (let x = 0, z = openedChildren.length; x < z; x++) {\n openedChildren[x].classList.remove('open')\n }\n }\n }\n }\n }\n\n return parentItem\n }\n\n _closeOther(item, closeChildren) {\n const opened = this._findChild(item.parentNode, ['sidenav-item', 'open'])\n\n for (let i = 0, l = opened.length; i < l; i++) {\n if (opened[i] !== item) this.close(opened[i], closeChildren, true)\n }\n }\n\n _toggleAnimation(open, item, closeChildren) {\n const toggleLink = this._getLink(item, true)\n const menu = this._findMenu(item)\n\n this._unbindAnimationEndEvent(item)\n\n const linkHeight = Math.round(toggleLink.getBoundingClientRect().height)\n\n item.style.overflow = 'hidden'\n\n const clearItemStyle = () => {\n item.classList.remove('sidenav-item-animating')\n item.classList.remove('sidenav-item-closing')\n item.style.overflow = null\n item.style.height = null\n\n if (!this._horizontal) this.update()\n }\n\n if (open) {\n item.style.height = `${linkHeight}px`\n item.classList.add('sidenav-item-animating')\n item.classList.add('open')\n\n this._bindAnimationEndEvent(item, () => {\n clearItemStyle()\n this._onOpened && this._onOpened(this, item, toggleLink, menu)\n })\n\n setTimeout(() => item.style.height = `${linkHeight + Math.round(menu.getBoundingClientRect().height)}px`, 50)\n } else {\n item.style.height = `${linkHeight + Math.round(menu.getBoundingClientRect().height)}px`\n item.classList.add('sidenav-item-animating')\n item.classList.add('sidenav-item-closing')\n\n this._bindAnimationEndEvent(item, () => {\n item.classList.remove('open')\n clearItemStyle()\n\n if (closeChildren) {\n const opened = item.querySelectorAll('.sidenav-item.open')\n for (let i = 0, l = opened.length; i < l; i++) opened[i].classList.remove('open')\n }\n\n this._onClosed && this._onClosed(this, item, toggleLink, menu)\n })\n\n setTimeout(() => item.style.height = `${linkHeight}px`, 50)\n }\n }\n\n _toggleDropdown(show, item, closeChildren) {\n const menu = this._findMenu(item)\n\n if (show) {\n const wrapperWidth = Math.round(this._wrapper.getBoundingClientRect().width)\n const position = this._innerPosition\n const itemOffset = this._getItemOffset(item)\n const itemWidth = Math.round(item.getBoundingClientRect().width)\n\n if ((itemOffset - DELTA) <= (-1 * position)) {\n this._innerPosition = -1 * itemOffset\n } else if ((itemOffset + position + itemWidth + DELTA) >= wrapperWidth) {\n if (itemWidth > wrapperWidth) {\n this._innerPosition = -1 * itemOffset\n } else {\n this._innerPosition = -1 * (itemOffset + itemWidth - wrapperWidth)\n }\n }\n\n item.classList.add('open')\n\n const menuWidth = Math.round(menu.getBoundingClientRect().width)\n\n if ((itemOffset + this._innerPosition + menuWidth) > wrapperWidth && menuWidth < wrapperWidth && menuWidth > itemWidth) {\n menu.style[this._rtl ? 'marginRight' : 'marginLeft'] = `-${menuWidth - itemWidth}px`\n }\n\n this._closeOther(item, closeChildren)\n this._updateSlider()\n } else {\n const toggle = this._findChild(item, ['sidenav-toggle'])\n\n toggle.length && toggle[0].removeAttribute('data-hover', 'true')\n item.classList.remove('open')\n menu.style[this._rtl ? 'marginRight' : 'marginLeft'] = null\n\n if (closeChildren) {\n const opened = menu.querySelectorAll('.sidenav-item.open')\n\n for (let i = 0, l = opened.length; i < l; i++) opened[i].classList.remove('open')\n }\n }\n }\n\n _slide(direction) {\n const wrapperWidth = Math.round(this._wrapper.getBoundingClientRect().width)\n const innerWidth = this._innerWidth\n let newPosition\n\n if (direction === 'next') {\n newPosition = this._getSlideNextPos()\n\n if (innerWidth + newPosition < wrapperWidth) {\n newPosition = wrapperWidth - innerWidth\n }\n } else {\n newPosition = this._getSlidePrevPos()\n\n if (newPosition > 0) newPosition = 0\n }\n\n this._innerPosition = newPosition\n this.update()\n }\n\n _getSlideNextPos() {\n const wrapperWidth = Math.round(this._wrapper.getBoundingClientRect().width)\n const position = this._innerPosition\n let curItem = this._inner.childNodes[0]\n let left = 0\n\n while(curItem) {\n if (curItem.tagName) {\n let curItemWidth = Math.round(curItem.getBoundingClientRect().width)\n\n if ((left + position - DELTA) <= wrapperWidth && (left + position + curItemWidth + DELTA) >= wrapperWidth) {\n if (curItemWidth > wrapperWidth && left === (-1 * position)) left += curItemWidth\n break\n }\n\n left += curItemWidth\n }\n\n curItem = curItem.nextSibling\n }\n\n return -1 * left\n }\n\n _getSlidePrevPos() {\n const wrapperWidth = Math.round(this._wrapper.getBoundingClientRect().width)\n const position = this._innerPosition\n let curItem = this._inner.childNodes[0]\n let left = 0\n\n while(curItem) {\n if (curItem.tagName) {\n let curItemWidth = Math.round(curItem.getBoundingClientRect().width)\n\n if ((left - DELTA) <= (-1 * position) && (left + curItemWidth + DELTA) >= (-1 * position)) {\n if (curItemWidth <= wrapperWidth) left = left + curItemWidth - wrapperWidth\n break\n }\n\n left += curItemWidth\n }\n\n curItem = curItem.nextSibling\n }\n\n return -1 * left\n }\n\n _getItemOffset(item) {\n let curItem = this._inner.childNodes[0]\n let left = 0\n\n while(curItem !== item) {\n if (curItem.tagName) {\n left += Math.round(curItem.getBoundingClientRect().width)\n }\n\n curItem = curItem.nextSibling\n }\n\n return left\n }\n\n _bindAnimationEndEvent(el, handler) {\n const cb = e => {\n if (e.target !== el) return\n this._unbindAnimationEndEvent(el)\n handler(e)\n }\n\n let duration = window.getComputedStyle(el).transitionDuration\n duration = parseFloat(duration) * (duration.indexOf('ms') !== -1 ? 1 : 1000)\n\n el._sideNavAnimationEndEventCb = cb\n TRANSITION_EVENTS.forEach(ev => el.addEventListener(ev, el._sideNavAnimationEndEventCb, false))\n\n el._sideNavAnimationEndEventTimeout = setTimeout(function() {\n cb({ target: el })\n }, duration + 50)\n }\n\n _unbindAnimationEndEvent(el) {\n const cb = el._sideNavAnimationEndEventCb\n\n if (el._sideNavAnimationEndEventTimeout) {\n clearTimeout(el._sideNavAnimationEndEventTimeout)\n el._sideNavAnimationEndEventTimeout = null\n }\n\n if (!cb) return\n\n TRANSITION_EVENTS.forEach(ev => el.removeEventListener(ev, cb, false))\n el._sideNavAnimationEndEventCb = null\n }\n\n _bindEvents() {\n this._evntElClick = (e) => {\n const toggleLink = e.target.classList.contains('sidenav-toggle') ?\n e.target :\n this._findParent(e.target, 'sidenav-toggle', false)\n\n if (toggleLink) {\n e.preventDefault()\n\n if (toggleLink.getAttribute('data-hover') !== 'true') {\n this.toggle(toggleLink)\n }\n }\n }\n this._el.addEventListener('click', this._evntElClick)\n\n this._evntWindowResize = () => {\n if (!this._horizontal) {\n this.update()\n } else if (this._lastWidth !== window.innerWidth) {\n this._lastWidth = window.innerWidth\n this.update()\n }\n }\n window.addEventListener('resize', this._evntWindowResize)\n\n if (this._horizontal) {\n this._evntPrevBtnClick = (e) => {\n e.preventDefault()\n if (this._prevBtn.classList.contains('disabled')) return\n this._slide('prev')\n }\n this._prevBtn.addEventListener('click', this._evntPrevBtnClick)\n\n this._evntNextBtnClick = (e) => {\n e.preventDefault()\n if (this._nextBtn.classList.contains('disabled')) return\n this._slide('next')\n }\n this._nextBtn.addEventListener('click', this._evntNextBtnClick)\n\n this._evntBodyClick = (e) => {\n if (!this._inner.contains(e.target) && this._el.querySelectorAll('.sidenav-inner > .sidenav-item.open').length) this.closeAll()\n }\n document.body.addEventListener('click', this._evntBodyClick)\n\n this._evntHorizontalElClick = (e) => {\n const link = e.target.classList.contains('sidenav-link') ? e.target : this._findParent(e.target, 'sidenav-link', false)\n if (link && !link.classList.contains('sidenav-toggle')) this.closeAll()\n }\n this._el.addEventListener('click', this._evntHorizontalElClick)\n\n if (this._showDropdownOnHover) {\n this._evntInnerMousemove = (e) => {\n let curItem = this._findParent(e.target, 'sidenav-item', false)\n let item = null\n\n while (curItem) {\n item = curItem\n curItem = this._findParent(curItem, 'sidenav-item', false)\n }\n\n if (item && !item.classList.contains('open')) {\n const toggle = this._findChild(item, ['sidenav-toggle'])\n\n if (toggle.length) {\n toggle[0].setAttribute('data-hover', 'true')\n this.open(toggle[0], this._closeChildren, true)\n\n setTimeout(() => {\n toggle[0].removeAttribute('data-hover')\n }, 500)\n }\n }\n }\n this._inner.addEventListener('mousemove', this._evntInnerMousemove)\n\n this._evntInnerMouseleave = (e) => {\n this.closeAll()\n }\n this._inner.addEventListener('mouseleave', this._evntInnerMouseleave)\n }\n }\n }\n\n _unbindEvents() {\n if (this._evntElClick) {\n this._el.removeEventListener('click', this._evntElClick)\n this._evntElClick = null\n }\n\n if (this._evntWindowResize) {\n window.removeEventListener('resize', this._evntWindowResize)\n this._evntWindowResize = null\n }\n\n if (this._evntPrevBtnClick) {\n this._prevBtn.removeEventListener('click', this._evntPrevBtnClick)\n this._evntPrevBtnClick = null\n }\n\n if (this._evntNextBtnClick) {\n this._nextBtn.removeEventListener('click', this._evntNextBtnClick)\n this._evntNextBtnClick = null\n }\n\n if (this._evntBodyClick) {\n document.body.removeEventListener('click', this._evntBodyClick)\n this._evntBodyClick = null\n }\n\n if (this._evntHorizontalElClick) {\n this._el.removeEventListener('click', this._evntHorizontalElClick)\n this._evntHorizontalElClick = null\n }\n\n if (this._evntInnerMousemove) {\n this._inner.removeEventListener('mousemove', this._evntInnerMousemove)\n this._evntInnerMousemove = null\n }\n\n if (this._evntInnerMouseleave) {\n this._inner.removeEventListener('mouseleave', this._evntInnerMouseleave)\n this._evntInnerMouseleave = null\n }\n }\n\n _findMenu(item) {\n let curEl = item.childNodes[0]\n let menu = null\n\n while (curEl && !menu) {\n if (curEl.classList && curEl.classList.contains('sidenav-menu')) menu = curEl\n curEl = curEl.nextSibling\n }\n\n if (!menu) throw new Error('Cannot find `.sidenav-menu` element for the current `.sidenav-toggle`')\n\n return menu\n }\n\n _isRoot(item) {\n return !this._findParent(item, 'sidenav-item', false)\n }\n\n _findParent(el, cls, throwError = true) {\n if (el.tagName.toUpperCase() === 'BODY') return null\n el = el.parentNode\n while (el.tagName.toUpperCase() !== 'BODY' && !el.classList.contains(cls)) {\n el = el.parentNode\n }\n\n el = el.tagName.toUpperCase() !== 'BODY' ? el : null\n\n if (!el && throwError) throw new Error(`Cannot find \\`.${cls}\\` parent element`)\n\n return el\n }\n\n _findChild(el, cls) {\n const items = el.childNodes\n const found = []\n\n for (let i = 0, l = items.length; i < l; i++) {\n if (items[i].classList) {\n let passed = 0\n\n for (let j = 0; j < cls.length; j++) {\n if (items[i].classList.contains(cls[j])) passed++\n }\n\n if (cls.length === passed) found.push(items[i])\n }\n }\n\n return found\n }\n\n _supportsTransitionEnd() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.body || document.documentElement\n let result = false\n\n TRANSITION_PROPERTIES.forEach(evnt => {\n if (typeof el.style[evnt] !== 'undefined') result = true\n })\n\n return result\n }\n\n get _innerWidth() {\n const items = this._inner.childNodes\n let width = 0\n\n for (let i = 0, l = items.length; i < l; i++) {\n if (items[i].tagName) {\n width += Math.round(items[i].getBoundingClientRect().width)\n }\n }\n\n return width\n }\n\n get _innerPosition() {\n return parseInt(this._inner.style[this._rtl ? 'marginRight' : 'marginLeft'] || '0px')\n }\n\n set _innerPosition(value) {\n this._inner.style[this._rtl ? 'marginRight' : 'marginLeft'] = `${value}px`\n return value\n }\n}\n\nexport { SideNav }\n"],"sourceRoot":""}