From ff5bc7261ada0c47718ac9cae914b46b7cf670cb Mon Sep 17 00:00:00 2001 From: Maxime Date: Sat, 21 Dec 2019 18:30:54 +0100 Subject: [PATCH 1/4] fix scrollTo infinite loop --- dist/dom7.js | 5 ++++- dist/dom7.min.js | 4 ++-- dist/dom7.min.js.map | 2 +- dist/dom7.modular.js | 5 ++++- dist/dom7.module.js | 5 ++++- src/scroll.js | 3 +++ 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/dist/dom7.js b/dist/dom7.js index 89ba958..5b627ac 100644 --- a/dist/dom7.js +++ b/dist/dom7.js @@ -9,7 +9,7 @@ * * Licensed under MIT * - * Released on: February 11, 2019 + * Released on: December 21, 2019 */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : @@ -1196,6 +1196,9 @@ var startTime = null; if (animateTop && newTop === currentTop) { animateTop = false; } if (animateLeft && newLeft === currentLeft) { animateLeft = false; } + if (!animateLeft && !animateTop) { + return; + } function render(time) { if ( time === void 0 ) time = new Date().getTime(); diff --git a/dist/dom7.min.js b/dist/dom7.min.js index 0ba195f..5c09135 100644 --- a/dist/dom7.min.js +++ b/dist/dom7.min.js @@ -9,6 +9,6 @@ * * Licensed under MIT * - * Released on: February 11, 2019 - */!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Dom7=e()}(this,function(){"use strict";var h="undefined"==typeof document?{body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},location:{hash:""}}:document,y="undefined"==typeof window?{document:h,navigator:{userAgent:""},location:{},history:{},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){}}:window,l=function(t){for(var e=0;e")){var a="div";for(0===s.indexOf(":~]/)?(e||h).querySelectorAll(t.trim()):[h.getElementById(t.trim().split("#")[1])],i=0;i")){var a="div";for(0===s.indexOf(":~]/)?(e||h).querySelectorAll(t.trim()):[h.getElementById(t.trim().split("#")[1])],i=0;i= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [doc.getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || doc).querySelectorAll(selector.trim());\n }\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) { arr.push(els[i]); }\n }\n }\n } else if (selector.nodeType || selector === win || selector === doc) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n }\n\n $.fn = Dom7.prototype;\n $.Class = Dom7;\n $.Dom7 = Dom7;\n\n function unique(arr) {\n var uniqueArray = [];\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); }\n }\n return uniqueArray;\n }\n function toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group1) { return group1.toUpperCase(); });\n }\n\n function requestAnimationFrame(callback) {\n if (win.requestAnimationFrame) { return win.requestAnimationFrame(callback); }\n else if (win.webkitRequestAnimationFrame) { return win.webkitRequestAnimationFrame(callback); }\n return win.setTimeout(callback, 1000 / 60);\n }\n function cancelAnimationFrame(id) {\n if (win.cancelAnimationFrame) { return win.cancelAnimationFrame(id); }\n else if (win.webkitCancelAnimationFrame) { return win.webkitCancelAnimationFrame(id); }\n return win.clearTimeout(id);\n }\n\n // Classes and attributes\n function addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.add(classes[i]); }\n }\n }\n return this;\n }\n function removeClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.remove(classes[i]); }\n }\n }\n return this;\n }\n function hasClass(className) {\n if (!this[0]) { return false; }\n return this[0].classList.contains(className);\n }\n function toggleClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.toggle(classes[i]); }\n }\n }\n return this;\n }\n function attr(attrs, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) { return this[0].getAttribute(attrs); }\n return undefined;\n }\n\n // Set attrs\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n // eslint-disable-next-line\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n return this;\n }\n // eslint-disable-next-line\n function prop(props, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) { return this[0][props]; }\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n }\n function data(key, value) {\n var el;\n if (typeof value === 'undefined') {\n el = this[0];\n // Get value\n if (el) {\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute((\"data-\" + key));\n if (dataKey) {\n return dataKey;\n }\n return undefined;\n }\n return undefined;\n }\n\n // Set value\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) { el.dom7ElementDataStorage = {}; }\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n function removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n }\n function dataset() {\n var el = this[0];\n if (!el) { return undefined; }\n var dataset = {}; // eslint-disable-line\n if (el.dataset) {\n // eslint-disable-next-line\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n var attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n // eslint-disable-next-line\n for (var key in dataset) {\n if (dataset[key] === 'false') { dataset[key] = false; }\n else if (dataset[key] === 'true') { dataset[key] = true; }\n else if (parseFloat(dataset[key]) === dataset[key] * 1) { dataset[key] *= 1; }\n }\n return dataset;\n }\n function val(value) {\n var dom = this;\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n var values = [];\n for (var i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n return values;\n }\n return dom[0].value;\n }\n return undefined;\n }\n\n for (var i$1 = 0; i$1 < dom.length; i$1 += 1) {\n var el = dom[i$1];\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n return dom;\n }\n // Transforms\n // eslint-disable-next-line\n function transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n return this;\n }\n function transition(duration) {\n if (typeof duration !== 'string') {\n duration = duration + \"ms\"; // eslint-disable-line\n }\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n return this;\n }\n // Events\n function on() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) { return; }\n var eventData = e.target.dom7EventData || [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n if ($(target).is(targetSelector)) { listener.apply(target, eventData); }\n else {\n var parents = $(target).parents(); // eslint-disable-line\n for (var k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) { listener.apply(parents[k], eventData); }\n }\n }\n }\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n listener.apply(this, eventData);\n }\n var events = eventType.split(' ');\n var j;\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) { el.dom7Listeners = {}; }\n if (!el.dom7Listeners[event]) { el.dom7Listeners[event] = []; }\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent,\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var event$1 = events[j];\n if (!el.dom7LiveListeners) { el.dom7LiveListeners = {}; }\n if (!el.dom7LiveListeners[event$1]) { el.dom7LiveListeners[event$1] = []; }\n el.dom7LiveListeners[event$1].push({\n listener: listener,\n proxyListener: handleLiveEvent,\n });\n el.addEventListener(event$1, handleLiveEvent, capture);\n }\n }\n }\n return this;\n }\n function off() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n var events = eventType.split(' ');\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = (void 0);\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n return this;\n }\n function once() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var dom = this;\n var eventName = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventName = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n function onceHandler() {\n var eventArgs = [], len = arguments.length;\n while ( len-- ) eventArgs[ len ] = arguments[ len ];\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n }\n function trigger() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var events = args[0].split(' ');\n var eventData = args[1];\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var evt = (void 0);\n try {\n evt = new win.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true,\n });\n } catch (e) {\n evt = doc.createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n }\n // eslint-disable-next-line\n el.dom7EventData = args.filter(function (data, dataIndex) { return dataIndex > 0; });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n return this;\n }\n function transitionEnd(callback) {\n var events = ['webkitTransitionEnd', 'transitionend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n function animationEnd(callback) {\n var events = ['webkitAnimationEnd', 'animationend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n // Sizing/Styles\n function width() {\n if (this[0] === win) {\n return win.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n }\n function outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n return this[0].offsetWidth;\n }\n return null;\n }\n function height() {\n if (this[0] === win) {\n return win.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n }\n function outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n return this[0].offsetHeight;\n }\n return null;\n }\n function offset() {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = doc.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === win ? win.scrollY : el.scrollTop;\n var scrollLeft = el === win ? win.scrollX : el.scrollLeft;\n return {\n top: (box.top + scrollTop) - clientTop,\n left: (box.left + scrollLeft) - clientLeft,\n };\n }\n\n return null;\n }\n function hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n return this;\n }\n function show() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n if (win.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n return this;\n }\n function styles() {\n if (this[0]) { return win.getComputedStyle(this[0], null); }\n return {};\n }\n function css(props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) { return win.getComputedStyle(this[0], null).getPropertyValue(props); }\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n }\n\n // Dom manipulation\n function toArray() {\n var arr = [];\n for (var i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n return arr;\n }\n // Iterate over the collection passing elements to `callback`\n function each(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function filter(callback) {\n var matchedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) { matchedItems.push(dom[i]); }\n }\n return new Dom7(matchedItems);\n }\n function map(callback) {\n var modifiedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n return new Dom7(modifiedItems);\n }\n // eslint-disable-next-line\n function html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n return this;\n }\n // eslint-disable-next-line\n function text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n return null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n return this;\n }\n function is(selector) {\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') { return false; }\n if (typeof selector === 'string') {\n if (el.matches) { return el.matches(selector); }\n else if (el.webkitMatchesSelector) { return el.webkitMatchesSelector(selector); }\n else if (el.msMatchesSelector) { return el.msMatchesSelector(selector); }\n\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n } else if (selector === doc) { return el === doc; }\n else if (selector === win) { return el === win; }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n }\n return false;\n }\n function indexOf(el) {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i] === el) { return i; }\n }\n return -1;\n }\n function index() {\n var child = this[0];\n var i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) { i += 1; }\n }\n return i;\n }\n return undefined;\n }\n // eslint-disable-next-line\n function eq(index) {\n if (typeof index === 'undefined') { return this; }\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) { return new Dom7([]); }\n return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n }\n function append() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var newChild;\n\n for (var k = 0; k < args.length; k += 1) {\n newChild = args[k];\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n }\n // eslint-disable-next-line\n function appendTo(parent) {\n $(parent).append(this);\n return this;\n }\n function prepend(newChild) {\n var i;\n var j;\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function prependTo(parent) {\n $(parent).prepend(this);\n return this;\n }\n function insertBefore(selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n }\n function insertAfter(selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n }\n function next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) { return new Dom7([this[0].nextElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.nextElementSibling) {\n var next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if ($(next).is(selector)) { nextEls.push(next); }\n } else { nextEls.push(next); }\n el = next;\n }\n return new Dom7(nextEls);\n }\n function prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) { return new Dom7([el.previousElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if ($(prev).is(selector)) { prevEls.push(prev); }\n } else { prevEls.push(prev); }\n el = prev;\n }\n return new Dom7(prevEls);\n }\n function siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n }\n function parent(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) { parents.push(this[i].parentNode); }\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $(unique(parents));\n }\n function parents(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var parent = this[i].parentNode; // eslint-disable-line\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) { parents.push(parent); }\n } else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $(unique(parents));\n }\n function closest(selector) {\n var closest = this; // eslint-disable-line\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n }\n function find(selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n }\n function children(selector) {\n var children = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].childNodes;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) { children.push(childNodes[j]); }\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n return new Dom7(unique(children));\n }\n function remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) { this[i].parentNode.removeChild(this[i]); }\n }\n return this;\n }\n function detach() {\n return this.remove();\n }\n function add() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dom = this;\n var i;\n var j;\n for (i = 0; i < args.length; i += 1) {\n var toAdd = $(args[i]);\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n return dom;\n }\n function empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n el.textContent = '';\n }\n }\n return this;\n }\n\n var Methods = /*#__PURE__*/Object.freeze({\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n prop: prop,\n data: data,\n removeData: removeData,\n dataset: dataset,\n val: val,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n once: once,\n trigger: trigger,\n transitionEnd: transitionEnd,\n animationEnd: animationEnd,\n width: width,\n outerWidth: outerWidth,\n height: height,\n outerHeight: outerHeight,\n offset: offset,\n hide: hide,\n show: show,\n styles: styles,\n css: css,\n toArray: toArray,\n each: each,\n forEach: forEach,\n filter: filter,\n map: map,\n html: html,\n text: text,\n is: is,\n indexOf: indexOf,\n index: index,\n eq: eq,\n append: append,\n appendTo: appendTo,\n prepend: prepend,\n prependTo: prependTo,\n insertBefore: insertBefore,\n insertAfter: insertAfter,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n siblings: siblings,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n remove: remove,\n detach: detach,\n add: add,\n empty: empty\n });\n\n function scrollTo() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var top = args[1];\n var duration = args[2];\n var easing = args[3];\n var callback = args[4];\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n (assign = args, left = assign[0], top = assign[1], duration = assign[2], callback = assign[3], easing = assign[4]);\n }\n if (typeof easing === 'undefined') { easing = 'swing'; }\n\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n var scrollLeft; // eslint-disable-line\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) { return; }\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) { animateTop = false; }\n if (animateLeft && newLeft === currentLeft) { animateLeft = false; }\n function render(time) {\n if ( time === void 0 ) time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : (0.5 - (Math.cos(progress * Math.PI) / 2));\n var done;\n if (animateTop) { scrollTop = currentTop + (easeProgress * (newTop - currentTop)); }\n if (animateLeft) { scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft)); }\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) { callback(); }\n return;\n }\n if (animateTop) { el.scrollTop = scrollTop; }\n if (animateLeft) { el.scrollLeft = scrollLeft; }\n requestAnimationFrame(render);\n }\n requestAnimationFrame(render);\n });\n }\n // scrollTop(top, duration, easing, callback) {\n function scrollTop() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var top = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, top = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollTop; }\n return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n }\n function scrollLeft() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, left = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollLeft; }\n return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n }\n\n var Scroll = /*#__PURE__*/Object.freeze({\n scrollTo: scrollTo,\n scrollTop: scrollTop,\n scrollLeft: scrollLeft\n });\n\n function animate(initialProps, initialParams) {\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n }, initialParams),\n\n elements: els,\n animating: false,\n que: [],\n\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - (Math.cos(progress * Math.PI) / 2);\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) { complete(els); }\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n var elements = [];\n\n // Define & Cache Initials & Units\n a.elements.each(function (index, el) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n\n if (!el.dom7AnimateInstance) { a.elements[index].dom7AnimateInstance = a; }\n\n elements[index] = {\n container: el,\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = win.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue,\n };\n });\n });\n\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress;\n // let el;\n if (!began) {\n began = true;\n if (params.begin) { params.begin(els); }\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) { return; }\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) { return; }\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var ref = el[prop];\n var initialValue = ref.initialValue;\n var finalValue = ref.finalValue;\n var unit = ref.unit;\n el[prop].currentValue = initialValue + (easeProgress * (finalValue - initialValue));\n var currentValue = el[prop].currentValue;\n\n if (\n (finalValue > initialValue && currentValue >= finalValue) ||\n (finalValue < initialValue && currentValue <= finalValue)) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return;\n }\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) { return; }\n // Then call\n a.frameId = requestAnimationFrame(render);\n }\n a.frameId = requestAnimationFrame(render);\n return a;\n },\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else { a.elements[i].dom7AnimateInstance = a; }\n }\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n }\n\n function stop() {\n var els = this;\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n }\n\n var Animate = /*#__PURE__*/Object.freeze({\n animate: animate,\n stop: stop\n });\n\n var noTrigger = ('resize scroll').split(' ');\n function eventShortcut(name) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) { this[i][name](); }\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n return (ref = this).on.apply(ref, [ name ].concat( args ));\n }\n\n function click() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'click' ].concat( args ));\n }\n function blur() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'blur' ].concat( args ));\n }\n function focus() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focus' ].concat( args ));\n }\n function focusin() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusin' ].concat( args ));\n }\n function focusout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusout' ].concat( args ));\n }\n function keyup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keyup' ].concat( args ));\n }\n function keydown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keydown' ].concat( args ));\n }\n function keypress() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keypress' ].concat( args ));\n }\n function submit() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'submit' ].concat( args ));\n }\n function change() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'change' ].concat( args ));\n }\n function mousedown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousedown' ].concat( args ));\n }\n function mousemove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousemove' ].concat( args ));\n }\n function mouseup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseup' ].concat( args ));\n }\n function mouseenter() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseenter' ].concat( args ));\n }\n function mouseleave() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseleave' ].concat( args ));\n }\n function mouseout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseout' ].concat( args ));\n }\n function mouseover() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseover' ].concat( args ));\n }\n function touchstart() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchstart' ].concat( args ));\n }\n function touchend() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchend' ].concat( args ));\n }\n function touchmove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchmove' ].concat( args ));\n }\n function resize() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'resize' ].concat( args ));\n }\n function scroll() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'scroll' ].concat( args ));\n }\n\n var eventShortcuts = /*#__PURE__*/Object.freeze({\n click: click,\n blur: blur,\n focus: focus,\n focusin: focusin,\n focusout: focusout,\n keyup: keyup,\n keydown: keydown,\n keypress: keypress,\n submit: submit,\n change: change,\n mousedown: mousedown,\n mousemove: mousemove,\n mouseup: mouseup,\n mouseenter: mouseenter,\n mouseleave: mouseleave,\n mouseout: mouseout,\n mouseover: mouseover,\n touchstart: touchstart,\n touchend: touchend,\n touchmove: touchmove,\n resize: resize,\n scroll: scroll\n });\n\n [Methods, Scroll, Animate, eventShortcuts].forEach(function (group) {\n Object.keys(group).forEach(function (methodName) {\n $.fn[methodName] = group[methodName];\n });\n });\n\n return $;\n\n}));\n"]} \ No newline at end of file +{"version":3,"sources":["dom7.js"],"names":["global","factory","exports","module","define","amd","self","Dom7","this","doc","document","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","location","hash","win","window","navigator","userAgent","history","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","arr","i","length","$","selector","context","els","tempParent","html","trim","indexOf","toCreate","innerHTML","push","match","split","nodeType","unique","uniqueArray","requestAnimationFrame","callback","webkitRequestAnimationFrame","fn","prototype","Class","Methods","Object","freeze","addClass","className","classes","j","classList","add","removeClass","remove","hasClass","contains","toggleClass","toggle","attr","attrs","value","arguments$1","arguments","getAttribute","attrName","removeAttr","removeAttribute","prop","props","propName","data","key","el","dom7ElementDataStorage","dataKey","removeData","dataset","string","attributes","name","toLowerCase","replace","group1","toUpperCase","parseFloat","val","dom","i$1","Array","isArray","multiple","options","selected","values","selectedOptions","transform","elStyle","webkitTransform","transition","duration","webkitTransitionDuration","transitionDuration","on","assign","args","len","eventType","targetSelector","listener","capture","handleLiveEvent","e","target","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","undefined","events","event$1","dom7LiveListeners","proxyListener","event","dom7Listeners","off","handlers","handler","splice","dom7proxy","once","eventName","onceHandler","eventArgs","trigger","evt","detail","bubbles","cancelable","filter","dataIndex","dispatchEvent","transitionEnd","fireCallBack","call","animationEnd","width","innerWidth","css","outerWidth","includeMargins","styles","offsetWidth","height","innerHeight","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","hide","display","show","toArray","each","forEach","matchedItems","map","modifiedItems","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","index","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","appendTo","parent","prepend","insertBefore","prependTo","before","parentNode","cloneNode","insertAfter","after","nextSibling","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","siblings","closest","find","foundElements","found","removeChild","detach","toAdd","empty","Scroll","scrollTo","easing","currentTop","currentLeft","maxTop","maxLeft","newTop","newLeft","animateTop","animateLeft","scrollHeight","Math","max","min","scrollWidth","startTime","render","time","getTime","done","progress","easeProgress","cos","PI","Animate","animate","initialProps","initialParams","animateInstance","a","params","elements","animating","que","easingProgress","stop","id","frameId","cancelAnimationFrame","webkitCancelAnimationFrame","dom7AnimateInstance","complete","shift","initialFullValue","initialValue","unit","finalValue","finalFullValue","container","keys","currentValue","elementsDone","propsDone","began","begin","element","ref","noTrigger","eventShortcut","concat","click","bind","focus","focusin","focusout","keyup","keydown","keypress","submit","change","mousedown","mousemove","mouseup","mouseenter","mouseleave","mouseout","mouseover","touchstart","touchend","touchmove","resize","scroll","group","methodName"],"mappings":"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","file":"dom7.min.js","sourcesContent":["/**\n * Dom7 2.1.3\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * http://framework7.io/docs/dom.html\n *\n * Copyright 2019, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n *\n * Licensed under MIT\n *\n * Released on: December 21, 2019\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Dom7 = factory());\n}(this, function () { 'use strict';\n\n /**\n * SSR Window 1.0.1\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2018, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: July 18, 2018\n */\n var doc = (typeof document === 'undefined') ? {\n body: {},\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n activeElement: {\n blur: function blur() {},\n nodeName: '',\n },\n querySelector: function querySelector() {\n return null;\n },\n querySelectorAll: function querySelectorAll() {\n return [];\n },\n getElementById: function getElementById() {\n return null;\n },\n createEvent: function createEvent() {\n return {\n initEvent: function initEvent() {},\n };\n },\n createElement: function createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function setAttribute() {},\n getElementsByTagName: function getElementsByTagName() {\n return [];\n },\n };\n },\n location: { hash: '' },\n } : document; // eslint-disable-line\n\n var win = (typeof window === 'undefined') ? {\n document: doc,\n navigator: {\n userAgent: '',\n },\n location: {},\n history: {},\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n getComputedStyle: function getComputedStyle() {\n return {\n getPropertyValue: function getPropertyValue() {\n return '';\n },\n };\n },\n Image: function Image() {},\n Date: function Date() {},\n screen: {},\n setTimeout: function setTimeout() {},\n clearTimeout: function clearTimeout() {},\n } : window; // eslint-disable-line\n\n var Dom7 = function Dom7(arr) {\n var self = this;\n // Create array-like object\n for (var i = 0; i < arr.length; i += 1) {\n self[i] = arr[i];\n }\n self.length = arr.length;\n // Return collection with methods\n return this;\n };\n\n function $(selector, context) {\n var arr = [];\n var i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els;\n var tempParent;\n var html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [doc.getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || doc).querySelectorAll(selector.trim());\n }\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) { arr.push(els[i]); }\n }\n }\n } else if (selector.nodeType || selector === win || selector === doc) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n }\n\n $.fn = Dom7.prototype;\n $.Class = Dom7;\n $.Dom7 = Dom7;\n\n function unique(arr) {\n var uniqueArray = [];\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); }\n }\n return uniqueArray;\n }\n function toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group1) { return group1.toUpperCase(); });\n }\n\n function requestAnimationFrame(callback) {\n if (win.requestAnimationFrame) { return win.requestAnimationFrame(callback); }\n else if (win.webkitRequestAnimationFrame) { return win.webkitRequestAnimationFrame(callback); }\n return win.setTimeout(callback, 1000 / 60);\n }\n function cancelAnimationFrame(id) {\n if (win.cancelAnimationFrame) { return win.cancelAnimationFrame(id); }\n else if (win.webkitCancelAnimationFrame) { return win.webkitCancelAnimationFrame(id); }\n return win.clearTimeout(id);\n }\n\n // Classes and attributes\n function addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.add(classes[i]); }\n }\n }\n return this;\n }\n function removeClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.remove(classes[i]); }\n }\n }\n return this;\n }\n function hasClass(className) {\n if (!this[0]) { return false; }\n return this[0].classList.contains(className);\n }\n function toggleClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.toggle(classes[i]); }\n }\n }\n return this;\n }\n function attr(attrs, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) { return this[0].getAttribute(attrs); }\n return undefined;\n }\n\n // Set attrs\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n // eslint-disable-next-line\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n return this;\n }\n // eslint-disable-next-line\n function prop(props, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) { return this[0][props]; }\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n }\n function data(key, value) {\n var el;\n if (typeof value === 'undefined') {\n el = this[0];\n // Get value\n if (el) {\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute((\"data-\" + key));\n if (dataKey) {\n return dataKey;\n }\n return undefined;\n }\n return undefined;\n }\n\n // Set value\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) { el.dom7ElementDataStorage = {}; }\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n function removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n }\n function dataset() {\n var el = this[0];\n if (!el) { return undefined; }\n var dataset = {}; // eslint-disable-line\n if (el.dataset) {\n // eslint-disable-next-line\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n var attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n // eslint-disable-next-line\n for (var key in dataset) {\n if (dataset[key] === 'false') { dataset[key] = false; }\n else if (dataset[key] === 'true') { dataset[key] = true; }\n else if (parseFloat(dataset[key]) === dataset[key] * 1) { dataset[key] *= 1; }\n }\n return dataset;\n }\n function val(value) {\n var dom = this;\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n var values = [];\n for (var i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n return values;\n }\n return dom[0].value;\n }\n return undefined;\n }\n\n for (var i$1 = 0; i$1 < dom.length; i$1 += 1) {\n var el = dom[i$1];\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n return dom;\n }\n // Transforms\n // eslint-disable-next-line\n function transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n return this;\n }\n function transition(duration) {\n if (typeof duration !== 'string') {\n duration = duration + \"ms\"; // eslint-disable-line\n }\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n return this;\n }\n // Events\n function on() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) { return; }\n var eventData = e.target.dom7EventData || [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n if ($(target).is(targetSelector)) { listener.apply(target, eventData); }\n else {\n var parents = $(target).parents(); // eslint-disable-line\n for (var k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) { listener.apply(parents[k], eventData); }\n }\n }\n }\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n listener.apply(this, eventData);\n }\n var events = eventType.split(' ');\n var j;\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) { el.dom7Listeners = {}; }\n if (!el.dom7Listeners[event]) { el.dom7Listeners[event] = []; }\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent,\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var event$1 = events[j];\n if (!el.dom7LiveListeners) { el.dom7LiveListeners = {}; }\n if (!el.dom7LiveListeners[event$1]) { el.dom7LiveListeners[event$1] = []; }\n el.dom7LiveListeners[event$1].push({\n listener: listener,\n proxyListener: handleLiveEvent,\n });\n el.addEventListener(event$1, handleLiveEvent, capture);\n }\n }\n }\n return this;\n }\n function off() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n var events = eventType.split(' ');\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = (void 0);\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n return this;\n }\n function once() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var dom = this;\n var eventName = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventName = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n function onceHandler() {\n var eventArgs = [], len = arguments.length;\n while ( len-- ) eventArgs[ len ] = arguments[ len ];\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n }\n function trigger() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var events = args[0].split(' ');\n var eventData = args[1];\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var evt = (void 0);\n try {\n evt = new win.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true,\n });\n } catch (e) {\n evt = doc.createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n }\n // eslint-disable-next-line\n el.dom7EventData = args.filter(function (data, dataIndex) { return dataIndex > 0; });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n return this;\n }\n function transitionEnd(callback) {\n var events = ['webkitTransitionEnd', 'transitionend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n function animationEnd(callback) {\n var events = ['webkitAnimationEnd', 'animationend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n // Sizing/Styles\n function width() {\n if (this[0] === win) {\n return win.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n }\n function outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n return this[0].offsetWidth;\n }\n return null;\n }\n function height() {\n if (this[0] === win) {\n return win.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n }\n function outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n return this[0].offsetHeight;\n }\n return null;\n }\n function offset() {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = doc.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === win ? win.scrollY : el.scrollTop;\n var scrollLeft = el === win ? win.scrollX : el.scrollLeft;\n return {\n top: (box.top + scrollTop) - clientTop,\n left: (box.left + scrollLeft) - clientLeft,\n };\n }\n\n return null;\n }\n function hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n return this;\n }\n function show() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n if (win.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n return this;\n }\n function styles() {\n if (this[0]) { return win.getComputedStyle(this[0], null); }\n return {};\n }\n function css(props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) { return win.getComputedStyle(this[0], null).getPropertyValue(props); }\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n }\n\n // Dom manipulation\n function toArray() {\n var arr = [];\n for (var i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n return arr;\n }\n // Iterate over the collection passing elements to `callback`\n function each(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function filter(callback) {\n var matchedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) { matchedItems.push(dom[i]); }\n }\n return new Dom7(matchedItems);\n }\n function map(callback) {\n var modifiedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n return new Dom7(modifiedItems);\n }\n // eslint-disable-next-line\n function html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n return this;\n }\n // eslint-disable-next-line\n function text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n return null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n return this;\n }\n function is(selector) {\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') { return false; }\n if (typeof selector === 'string') {\n if (el.matches) { return el.matches(selector); }\n else if (el.webkitMatchesSelector) { return el.webkitMatchesSelector(selector); }\n else if (el.msMatchesSelector) { return el.msMatchesSelector(selector); }\n\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n } else if (selector === doc) { return el === doc; }\n else if (selector === win) { return el === win; }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n }\n return false;\n }\n function indexOf(el) {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i] === el) { return i; }\n }\n return -1;\n }\n function index() {\n var child = this[0];\n var i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) { i += 1; }\n }\n return i;\n }\n return undefined;\n }\n // eslint-disable-next-line\n function eq(index) {\n if (typeof index === 'undefined') { return this; }\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) { return new Dom7([]); }\n return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n }\n function append() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var newChild;\n\n for (var k = 0; k < args.length; k += 1) {\n newChild = args[k];\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n }\n // eslint-disable-next-line\n function appendTo(parent) {\n $(parent).append(this);\n return this;\n }\n function prepend(newChild) {\n var i;\n var j;\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function prependTo(parent) {\n $(parent).prepend(this);\n return this;\n }\n function insertBefore(selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n }\n function insertAfter(selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n }\n function next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) { return new Dom7([this[0].nextElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.nextElementSibling) {\n var next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if ($(next).is(selector)) { nextEls.push(next); }\n } else { nextEls.push(next); }\n el = next;\n }\n return new Dom7(nextEls);\n }\n function prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) { return new Dom7([el.previousElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if ($(prev).is(selector)) { prevEls.push(prev); }\n } else { prevEls.push(prev); }\n el = prev;\n }\n return new Dom7(prevEls);\n }\n function siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n }\n function parent(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) { parents.push(this[i].parentNode); }\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $(unique(parents));\n }\n function parents(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var parent = this[i].parentNode; // eslint-disable-line\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) { parents.push(parent); }\n } else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $(unique(parents));\n }\n function closest(selector) {\n var closest = this; // eslint-disable-line\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n }\n function find(selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n }\n function children(selector) {\n var children = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].childNodes;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) { children.push(childNodes[j]); }\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n return new Dom7(unique(children));\n }\n function remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) { this[i].parentNode.removeChild(this[i]); }\n }\n return this;\n }\n function detach() {\n return this.remove();\n }\n function add() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dom = this;\n var i;\n var j;\n for (i = 0; i < args.length; i += 1) {\n var toAdd = $(args[i]);\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n return dom;\n }\n function empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n el.textContent = '';\n }\n }\n return this;\n }\n\n var Methods = /*#__PURE__*/Object.freeze({\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n prop: prop,\n data: data,\n removeData: removeData,\n dataset: dataset,\n val: val,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n once: once,\n trigger: trigger,\n transitionEnd: transitionEnd,\n animationEnd: animationEnd,\n width: width,\n outerWidth: outerWidth,\n height: height,\n outerHeight: outerHeight,\n offset: offset,\n hide: hide,\n show: show,\n styles: styles,\n css: css,\n toArray: toArray,\n each: each,\n forEach: forEach,\n filter: filter,\n map: map,\n html: html,\n text: text,\n is: is,\n indexOf: indexOf,\n index: index,\n eq: eq,\n append: append,\n appendTo: appendTo,\n prepend: prepend,\n prependTo: prependTo,\n insertBefore: insertBefore,\n insertAfter: insertAfter,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n siblings: siblings,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n remove: remove,\n detach: detach,\n add: add,\n empty: empty\n });\n\n function scrollTo() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var top = args[1];\n var duration = args[2];\n var easing = args[3];\n var callback = args[4];\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n (assign = args, left = assign[0], top = assign[1], duration = assign[2], callback = assign[3], easing = assign[4]);\n }\n if (typeof easing === 'undefined') { easing = 'swing'; }\n\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n var scrollLeft; // eslint-disable-line\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) { return; }\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) { animateTop = false; }\n if (animateLeft && newLeft === currentLeft) { animateLeft = false; }\n if (!animateLeft && !animateTop) {\n return;\n }\n function render(time) {\n if ( time === void 0 ) time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : (0.5 - (Math.cos(progress * Math.PI) / 2));\n var done;\n if (animateTop) { scrollTop = currentTop + (easeProgress * (newTop - currentTop)); }\n if (animateLeft) { scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft)); }\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) { callback(); }\n return;\n }\n if (animateTop) { el.scrollTop = scrollTop; }\n if (animateLeft) { el.scrollLeft = scrollLeft; }\n requestAnimationFrame(render);\n }\n requestAnimationFrame(render);\n });\n }\n // scrollTop(top, duration, easing, callback) {\n function scrollTop() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var top = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, top = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollTop; }\n return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n }\n function scrollLeft() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, left = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollLeft; }\n return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n }\n\n var Scroll = /*#__PURE__*/Object.freeze({\n scrollTo: scrollTo,\n scrollTop: scrollTop,\n scrollLeft: scrollLeft\n });\n\n function animate(initialProps, initialParams) {\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n }, initialParams),\n\n elements: els,\n animating: false,\n que: [],\n\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - (Math.cos(progress * Math.PI) / 2);\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) { complete(els); }\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n var elements = [];\n\n // Define & Cache Initials & Units\n a.elements.each(function (index, el) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n\n if (!el.dom7AnimateInstance) { a.elements[index].dom7AnimateInstance = a; }\n\n elements[index] = {\n container: el,\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = win.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue,\n };\n });\n });\n\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress;\n // let el;\n if (!began) {\n began = true;\n if (params.begin) { params.begin(els); }\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) { return; }\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) { return; }\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var ref = el[prop];\n var initialValue = ref.initialValue;\n var finalValue = ref.finalValue;\n var unit = ref.unit;\n el[prop].currentValue = initialValue + (easeProgress * (finalValue - initialValue));\n var currentValue = el[prop].currentValue;\n\n if (\n (finalValue > initialValue && currentValue >= finalValue) ||\n (finalValue < initialValue && currentValue <= finalValue)) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return;\n }\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) { return; }\n // Then call\n a.frameId = requestAnimationFrame(render);\n }\n a.frameId = requestAnimationFrame(render);\n return a;\n },\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else { a.elements[i].dom7AnimateInstance = a; }\n }\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n }\n\n function stop() {\n var els = this;\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n }\n\n var Animate = /*#__PURE__*/Object.freeze({\n animate: animate,\n stop: stop\n });\n\n var noTrigger = ('resize scroll').split(' ');\n function eventShortcut(name) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) { this[i][name](); }\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n return (ref = this).on.apply(ref, [ name ].concat( args ));\n }\n\n function click() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'click' ].concat( args ));\n }\n function blur() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'blur' ].concat( args ));\n }\n function focus() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focus' ].concat( args ));\n }\n function focusin() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusin' ].concat( args ));\n }\n function focusout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusout' ].concat( args ));\n }\n function keyup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keyup' ].concat( args ));\n }\n function keydown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keydown' ].concat( args ));\n }\n function keypress() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keypress' ].concat( args ));\n }\n function submit() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'submit' ].concat( args ));\n }\n function change() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'change' ].concat( args ));\n }\n function mousedown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousedown' ].concat( args ));\n }\n function mousemove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousemove' ].concat( args ));\n }\n function mouseup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseup' ].concat( args ));\n }\n function mouseenter() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseenter' ].concat( args ));\n }\n function mouseleave() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseleave' ].concat( args ));\n }\n function mouseout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseout' ].concat( args ));\n }\n function mouseover() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseover' ].concat( args ));\n }\n function touchstart() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchstart' ].concat( args ));\n }\n function touchend() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchend' ].concat( args ));\n }\n function touchmove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchmove' ].concat( args ));\n }\n function resize() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'resize' ].concat( args ));\n }\n function scroll() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'scroll' ].concat( args ));\n }\n\n var eventShortcuts = /*#__PURE__*/Object.freeze({\n click: click,\n blur: blur,\n focus: focus,\n focusin: focusin,\n focusout: focusout,\n keyup: keyup,\n keydown: keydown,\n keypress: keypress,\n submit: submit,\n change: change,\n mousedown: mousedown,\n mousemove: mousemove,\n mouseup: mouseup,\n mouseenter: mouseenter,\n mouseleave: mouseleave,\n mouseout: mouseout,\n mouseover: mouseover,\n touchstart: touchstart,\n touchend: touchend,\n touchmove: touchmove,\n resize: resize,\n scroll: scroll\n });\n\n [Methods, Scroll, Animate, eventShortcuts].forEach(function (group) {\n Object.keys(group).forEach(function (methodName) {\n $.fn[methodName] = group[methodName];\n });\n });\n\n return $;\n\n}));\n"]} \ No newline at end of file diff --git a/dist/dom7.modular.js b/dist/dom7.modular.js index 10f87f3..5c2b5d4 100644 --- a/dist/dom7.modular.js +++ b/dist/dom7.modular.js @@ -9,7 +9,7 @@ * * Licensed under MIT * - * Released on: February 11, 2019 + * Released on: December 21, 2019 */ import { document, window } from 'ssr-window'; @@ -1014,6 +1014,9 @@ function scrollTo(...args) { let startTime = null; if (animateTop && newTop === currentTop) animateTop = false; if (animateLeft && newLeft === currentLeft) animateLeft = false; + if (!animateLeft && !animateTop) { + return; + } function render(time = new Date().getTime()) { if (startTime === null) { startTime = time; diff --git a/dist/dom7.module.js b/dist/dom7.module.js index b99ad15..543c7a5 100644 --- a/dist/dom7.module.js +++ b/dist/dom7.module.js @@ -9,7 +9,7 @@ * * Licensed under MIT * - * Released on: February 11, 2019 + * Released on: December 21, 2019 */ import { document, window } from 'ssr-window'; @@ -1076,6 +1076,9 @@ function scrollTo(...args) { let startTime = null; if (animateTop && newTop === currentTop) animateTop = false; if (animateLeft && newLeft === currentLeft) animateLeft = false; + if (!animateLeft && !animateTop) { + return; + } function render(time = new Date().getTime()) { if (startTime === null) { startTime = time; diff --git a/src/scroll.js b/src/scroll.js index 5b56ae7..28aa332 100644 --- a/src/scroll.js +++ b/src/scroll.js @@ -47,6 +47,9 @@ function scrollTo(...args) { let startTime = null; if (animateTop && newTop === currentTop) animateTop = false; if (animateLeft && newLeft === currentLeft) animateLeft = false; + if (!animateLeft && !animateTop) { + return; + } function render(time = new Date().getTime()) { if (startTime === null) { startTime = time; From c6b34e6b8755ccf032f234bbf53e7fb727c0cc17 Mon Sep 17 00:00:00 2001 From: Maxime Date: Thu, 16 Jan 2020 09:47:34 +0100 Subject: [PATCH 2/4] fix #30 --- src/scroll.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scroll.js b/src/scroll.js index 28aa332..b9abd05 100644 --- a/src/scroll.js +++ b/src/scroll.js @@ -48,6 +48,7 @@ function scrollTo(...args) { if (animateTop && newTop === currentTop) animateTop = false; if (animateLeft && newLeft === currentLeft) animateLeft = false; if (!animateLeft && !animateTop) { + if (callback) callback(); return; } function render(time = new Date().getTime()) { From 8d74871930784f5ad690e42b83b5b523c3040d03 Mon Sep 17 00:00:00 2001 From: Maxime Date: Tue, 2 Jun 2020 10:56:48 +0200 Subject: [PATCH 3/4] comment scrollTo for performance tests --- src/scroll.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scroll.js b/src/scroll.js index b9abd05..98f4fb3 100644 --- a/src/scroll.js +++ b/src/scroll.js @@ -1,7 +1,7 @@ import { requestAnimationFrame } from './utils'; function scrollTo(...args) { - let [left, top, duration, easing, callback] = args; + /*let [left, top, duration, easing, callback] = args; if (args.length === 4 && typeof easing === 'function') { callback = easing; [left, top, duration, callback, easing] = args; @@ -86,7 +86,7 @@ function scrollTo(...args) { requestAnimationFrame(render); } requestAnimationFrame(render); - }); + });*/ } // scrollTop(top, duration, easing, callback) { function scrollTop(...args) { From eee5b5215e185865da4c01c4ccae54df61a9dd76 Mon Sep 17 00:00:00 2001 From: Maxime Date: Tue, 23 Jun 2020 17:30:50 +0200 Subject: [PATCH 4/4] build prod --- dist/dom7.js | 6 +++++- dist/dom7.min.js | 4 ++-- dist/dom7.min.js.map | 2 +- dist/dom7.modular.js | 3 ++- dist/dom7.module.js | 3 ++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/dist/dom7.js b/dist/dom7.js index 58a2adb..57fa158 100644 --- a/dist/dom7.js +++ b/dist/dom7.js @@ -9,7 +9,7 @@ * * Licensed under MIT * - * Released on: May 15, 2020 + * Released on: June 23, 2020 */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : @@ -1253,6 +1253,10 @@ var startTime = null; if (animateTop && newTop === currentTop) { animateTop = false; } if (animateLeft && newLeft === currentLeft) { animateLeft = false; } + if (!animateLeft && !animateTop) { + if (callback) { callback(); } + return; + } function render(time) { if ( time === void 0 ) time = new Date().getTime(); diff --git a/dist/dom7.min.js b/dist/dom7.min.js index 39268f8..954add3 100644 --- a/dist/dom7.min.js +++ b/dist/dom7.min.js @@ -9,6 +9,6 @@ * * Licensed under MIT * - * Released on: May 15, 2020 - */!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Dom7=e()}(this,function(){"use strict";function i(t){return null!==t&&"object"==typeof t&&"constructor"in t&&t.constructor===Object}function r(e,n){void 0===e&&(e={}),void 0===n&&(n={}),Object.keys(n).forEach(function(t){void 0===e[t]?e[t]=n[t]:i(n[t])&&i(e[t])&&0")){var a="div";for(0===s.indexOf(":~]/)?(e||h).querySelectorAll(t.trim()):[h.getElementById(t.trim().split("#")[1])],i=0;i")){var a="div";for(0===s.indexOf(":~]/)?(e||h).querySelectorAll(t.trim()):[h.getElementById(t.trim().split("#")[1])],i=0;i 0) {\n extend(target[key], src[key]);\n }\n });\n }\n\n var doc = typeof document !== 'undefined' ? document : {};\n var ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n };\n extend(doc, ssrDocument);\n\n var win = typeof window !== 'undefined' ? window : {};\n var ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n };\n extend(win, ssrWindow);\n\n var Dom7 = function Dom7(arr) {\n var self = this;\n // Create array-like object\n for (var i = 0; i < arr.length; i += 1) {\n self[i] = arr[i];\n }\n self.length = arr.length;\n // Return collection with methods\n return this;\n };\n\n function $(selector, context) {\n var arr = [];\n var i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els;\n var tempParent;\n var html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [doc.getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || doc).querySelectorAll(selector.trim());\n }\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) { arr.push(els[i]); }\n }\n }\n } else if (selector.nodeType || selector === win || selector === doc) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n }\n\n $.fn = Dom7.prototype;\n $.Class = Dom7;\n $.Dom7 = Dom7;\n\n function unique(arr) {\n var uniqueArray = [];\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); }\n }\n return uniqueArray;\n }\n function toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group1) { return group1.toUpperCase(); });\n }\n\n function requestAnimationFrame(callback) {\n if (win.requestAnimationFrame) { return win.requestAnimationFrame(callback); }\n else if (win.webkitRequestAnimationFrame) { return win.webkitRequestAnimationFrame(callback); }\n return win.setTimeout(callback, 1000 / 60);\n }\n function cancelAnimationFrame(id) {\n if (win.cancelAnimationFrame) { return win.cancelAnimationFrame(id); }\n else if (win.webkitCancelAnimationFrame) { return win.webkitCancelAnimationFrame(id); }\n return win.clearTimeout(id);\n }\n\n // Classes and attributes\n function addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.add(classes[i]); }\n }\n }\n return this;\n }\n function removeClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.remove(classes[i]); }\n }\n }\n return this;\n }\n function hasClass(className) {\n if (!this[0]) { return false; }\n return this[0].classList.contains(className);\n }\n function toggleClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.toggle(classes[i]); }\n }\n }\n return this;\n }\n function attr(attrs, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) { return this[0].getAttribute(attrs); }\n return undefined;\n }\n\n // Set attrs\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n // eslint-disable-next-line\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n return this;\n }\n // eslint-disable-next-line\n function prop(props, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) { return this[0][props]; }\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n }\n function data(key, value) {\n var el;\n if (typeof value === 'undefined') {\n el = this[0];\n // Get value\n if (el) {\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute((\"data-\" + key));\n if (dataKey) {\n return dataKey;\n }\n return undefined;\n }\n return undefined;\n }\n\n // Set value\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) { el.dom7ElementDataStorage = {}; }\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n function removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n }\n function dataset() {\n var el = this[0];\n if (!el) { return undefined; }\n var dataset = {}; // eslint-disable-line\n if (el.dataset) {\n // eslint-disable-next-line\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n var attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n // eslint-disable-next-line\n for (var key in dataset) {\n if (dataset[key] === 'false') { dataset[key] = false; }\n else if (dataset[key] === 'true') { dataset[key] = true; }\n else if (parseFloat(dataset[key]) === dataset[key] * 1) { dataset[key] *= 1; }\n }\n return dataset;\n }\n function val(value) {\n var dom = this;\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n var values = [];\n for (var i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n return values;\n }\n return dom[0].value;\n }\n return undefined;\n }\n\n for (var i$1 = 0; i$1 < dom.length; i$1 += 1) {\n var el = dom[i$1];\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n return dom;\n }\n // Transforms\n // eslint-disable-next-line\n function transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n return this;\n }\n function transition(duration) {\n if (typeof duration !== 'string') {\n duration = duration + \"ms\"; // eslint-disable-line\n }\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n return this;\n }\n // Events\n function on() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) { return; }\n var eventData = e.target.dom7EventData || [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n if ($(target).is(targetSelector)) { listener.apply(target, eventData); }\n else {\n var parents = $(target).parents(); // eslint-disable-line\n for (var k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) { listener.apply(parents[k], eventData); }\n }\n }\n }\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n listener.apply(this, eventData);\n }\n var events = eventType.split(' ');\n var j;\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) { el.dom7Listeners = {}; }\n if (!el.dom7Listeners[event]) { el.dom7Listeners[event] = []; }\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent,\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var event$1 = events[j];\n if (!el.dom7LiveListeners) { el.dom7LiveListeners = {}; }\n if (!el.dom7LiveListeners[event$1]) { el.dom7LiveListeners[event$1] = []; }\n el.dom7LiveListeners[event$1].push({\n listener: listener,\n proxyListener: handleLiveEvent,\n });\n el.addEventListener(event$1, handleLiveEvent, capture);\n }\n }\n }\n return this;\n }\n function off() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n var events = eventType.split(' ');\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = (void 0);\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n return this;\n }\n function once() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var dom = this;\n var eventName = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventName = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n function onceHandler() {\n var eventArgs = [], len = arguments.length;\n while ( len-- ) eventArgs[ len ] = arguments[ len ];\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n }\n function trigger() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var events = args[0].split(' ');\n var eventData = args[1];\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var evt = (void 0);\n try {\n evt = new win.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true,\n });\n } catch (e) {\n evt = doc.createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n }\n // eslint-disable-next-line\n el.dom7EventData = args.filter(function (data, dataIndex) { return dataIndex > 0; });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n return this;\n }\n function transitionEnd(callback) {\n var events = ['webkitTransitionEnd', 'transitionend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n function animationEnd(callback) {\n var events = ['webkitAnimationEnd', 'animationend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n // Sizing/Styles\n function width() {\n if (this[0] === win) {\n return win.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n }\n function outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n return this[0].offsetWidth;\n }\n return null;\n }\n function height() {\n if (this[0] === win) {\n return win.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n }\n function outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n return this[0].offsetHeight;\n }\n return null;\n }\n function offset() {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = doc.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === win ? win.scrollY : el.scrollTop;\n var scrollLeft = el === win ? win.scrollX : el.scrollLeft;\n return {\n top: (box.top + scrollTop) - clientTop,\n left: (box.left + scrollLeft) - clientLeft,\n };\n }\n\n return null;\n }\n function hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n return this;\n }\n function show() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n if (win.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n return this;\n }\n function styles() {\n if (this[0]) { return win.getComputedStyle(this[0], null); }\n return {};\n }\n function css(props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) { return win.getComputedStyle(this[0], null).getPropertyValue(props); }\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n }\n\n // Dom manipulation\n function toArray() {\n var arr = [];\n for (var i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n return arr;\n }\n // Iterate over the collection passing elements to `callback`\n function each(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function filter(callback) {\n var matchedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) { matchedItems.push(dom[i]); }\n }\n return new Dom7(matchedItems);\n }\n function map(callback) {\n var modifiedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n return new Dom7(modifiedItems);\n }\n // eslint-disable-next-line\n function html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n return this;\n }\n // eslint-disable-next-line\n function text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n return null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n return this;\n }\n function is(selector) {\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') { return false; }\n if (typeof selector === 'string') {\n if (el.matches) { return el.matches(selector); }\n else if (el.webkitMatchesSelector) { return el.webkitMatchesSelector(selector); }\n else if (el.msMatchesSelector) { return el.msMatchesSelector(selector); }\n\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n } else if (selector === doc) { return el === doc; }\n else if (selector === win) { return el === win; }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n }\n return false;\n }\n function indexOf(el) {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i] === el) { return i; }\n }\n return -1;\n }\n function index() {\n var child = this[0];\n var i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) { i += 1; }\n }\n return i;\n }\n return undefined;\n }\n // eslint-disable-next-line\n function eq(index) {\n if (typeof index === 'undefined') { return this; }\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) { return new Dom7([]); }\n return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n }\n function append() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var newChild;\n\n for (var k = 0; k < args.length; k += 1) {\n newChild = args[k];\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n }\n // eslint-disable-next-line\n function appendTo(parent) {\n $(parent).append(this);\n return this;\n }\n function prepend(newChild) {\n var i;\n var j;\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function prependTo(parent) {\n $(parent).prepend(this);\n return this;\n }\n function insertBefore(selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n }\n function insertAfter(selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n }\n function next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) { return new Dom7([this[0].nextElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.nextElementSibling) {\n var next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if ($(next).is(selector)) { nextEls.push(next); }\n } else { nextEls.push(next); }\n el = next;\n }\n return new Dom7(nextEls);\n }\n function prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) { return new Dom7([el.previousElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if ($(prev).is(selector)) { prevEls.push(prev); }\n } else { prevEls.push(prev); }\n el = prev;\n }\n return new Dom7(prevEls);\n }\n function siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n }\n function parent(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) { parents.push(this[i].parentNode); }\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $(unique(parents));\n }\n function parents(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var parent = this[i].parentNode; // eslint-disable-line\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) { parents.push(parent); }\n } else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $(unique(parents));\n }\n function closest(selector) {\n var closest = this; // eslint-disable-line\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n }\n function find(selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n }\n function children(selector) {\n var children = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].childNodes;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) { children.push(childNodes[j]); }\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n return new Dom7(unique(children));\n }\n function remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) { this[i].parentNode.removeChild(this[i]); }\n }\n return this;\n }\n function detach() {\n return this.remove();\n }\n function add() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dom = this;\n var i;\n var j;\n for (i = 0; i < args.length; i += 1) {\n var toAdd = $(args[i]);\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n return dom;\n }\n function empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n el.textContent = '';\n }\n }\n return this;\n }\n\n var Methods = /*#__PURE__*/Object.freeze({\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n prop: prop,\n data: data,\n removeData: removeData,\n dataset: dataset,\n val: val,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n once: once,\n trigger: trigger,\n transitionEnd: transitionEnd,\n animationEnd: animationEnd,\n width: width,\n outerWidth: outerWidth,\n height: height,\n outerHeight: outerHeight,\n offset: offset,\n hide: hide,\n show: show,\n styles: styles,\n css: css,\n toArray: toArray,\n each: each,\n forEach: forEach,\n filter: filter,\n map: map,\n html: html,\n text: text,\n is: is,\n indexOf: indexOf,\n index: index,\n eq: eq,\n append: append,\n appendTo: appendTo,\n prepend: prepend,\n prependTo: prependTo,\n insertBefore: insertBefore,\n insertAfter: insertAfter,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n siblings: siblings,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n remove: remove,\n detach: detach,\n add: add,\n empty: empty\n });\n\n function scrollTo() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var top = args[1];\n var duration = args[2];\n var easing = args[3];\n var callback = args[4];\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n (assign = args, left = assign[0], top = assign[1], duration = assign[2], callback = assign[3], easing = assign[4]);\n }\n if (typeof easing === 'undefined') { easing = 'swing'; }\n\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n var scrollLeft; // eslint-disable-line\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) { return; }\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) { animateTop = false; }\n if (animateLeft && newLeft === currentLeft) { animateLeft = false; }\n function render(time) {\n if ( time === void 0 ) time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : (0.5 - (Math.cos(progress * Math.PI) / 2));\n var done;\n if (animateTop) { scrollTop = currentTop + (easeProgress * (newTop - currentTop)); }\n if (animateLeft) { scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft)); }\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) { callback(); }\n return;\n }\n if (animateTop) { el.scrollTop = scrollTop; }\n if (animateLeft) { el.scrollLeft = scrollLeft; }\n requestAnimationFrame(render);\n }\n requestAnimationFrame(render);\n });\n }\n // scrollTop(top, duration, easing, callback) {\n function scrollTop() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var top = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, top = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollTop; }\n return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n }\n function scrollLeft() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, left = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollLeft; }\n return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n }\n\n var Scroll = /*#__PURE__*/Object.freeze({\n scrollTo: scrollTo,\n scrollTop: scrollTop,\n scrollLeft: scrollLeft\n });\n\n function animate(initialProps, initialParams) {\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n }, initialParams),\n\n elements: els,\n animating: false,\n que: [],\n\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - (Math.cos(progress * Math.PI) / 2);\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) { complete(els); }\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n var elements = [];\n\n // Define & Cache Initials & Units\n a.elements.each(function (index, el) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n\n if (!el.dom7AnimateInstance) { a.elements[index].dom7AnimateInstance = a; }\n\n elements[index] = {\n container: el,\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = win.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue,\n };\n });\n });\n\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress;\n // let el;\n if (!began) {\n began = true;\n if (params.begin) { params.begin(els); }\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) { return; }\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) { return; }\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var ref = el[prop];\n var initialValue = ref.initialValue;\n var finalValue = ref.finalValue;\n var unit = ref.unit;\n el[prop].currentValue = initialValue + (easeProgress * (finalValue - initialValue));\n var currentValue = el[prop].currentValue;\n\n if (\n (finalValue > initialValue && currentValue >= finalValue) ||\n (finalValue < initialValue && currentValue <= finalValue)) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return;\n }\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) { return; }\n // Then call\n a.frameId = requestAnimationFrame(render);\n }\n a.frameId = requestAnimationFrame(render);\n return a;\n },\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else { a.elements[i].dom7AnimateInstance = a; }\n }\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n }\n\n function stop() {\n var els = this;\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n }\n\n var Animate = /*#__PURE__*/Object.freeze({\n animate: animate,\n stop: stop\n });\n\n var noTrigger = ('resize scroll').split(' ');\n function eventShortcut(name) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) { this[i][name](); }\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n return (ref = this).on.apply(ref, [ name ].concat( args ));\n }\n\n function click() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'click' ].concat( args ));\n }\n function blur() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'blur' ].concat( args ));\n }\n function focus() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focus' ].concat( args ));\n }\n function focusin() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusin' ].concat( args ));\n }\n function focusout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusout' ].concat( args ));\n }\n function keyup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keyup' ].concat( args ));\n }\n function keydown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keydown' ].concat( args ));\n }\n function keypress() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keypress' ].concat( args ));\n }\n function submit() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'submit' ].concat( args ));\n }\n function change() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'change' ].concat( args ));\n }\n function mousedown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousedown' ].concat( args ));\n }\n function mousemove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousemove' ].concat( args ));\n }\n function mouseup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseup' ].concat( args ));\n }\n function mouseenter() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseenter' ].concat( args ));\n }\n function mouseleave() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseleave' ].concat( args ));\n }\n function mouseout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseout' ].concat( args ));\n }\n function mouseover() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseover' ].concat( args ));\n }\n function touchstart() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchstart' ].concat( args ));\n }\n function touchend() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchend' ].concat( args ));\n }\n function touchmove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchmove' ].concat( args ));\n }\n function resize() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'resize' ].concat( args ));\n }\n function scroll() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'scroll' ].concat( args ));\n }\n\n var eventShortcuts = /*#__PURE__*/Object.freeze({\n click: click,\n blur: blur,\n focus: focus,\n focusin: focusin,\n focusout: focusout,\n keyup: keyup,\n keydown: keydown,\n keypress: keypress,\n submit: submit,\n change: change,\n mousedown: mousedown,\n mousemove: mousemove,\n mouseup: mouseup,\n mouseenter: mouseenter,\n mouseleave: mouseleave,\n mouseout: mouseout,\n mouseover: mouseover,\n touchstart: touchstart,\n touchend: touchend,\n touchmove: touchmove,\n resize: resize,\n scroll: scroll\n });\n\n [Methods, Scroll, Animate, eventShortcuts].forEach(function (group) {\n Object.keys(group).forEach(function (methodName) {\n $.fn[methodName] = group[methodName];\n });\n });\n\n return $;\n\n}));\n"]} +{"version":3,"sources":["dom7.js"],"names":["global","factory","exports","module","define","amd","self","Dom7","this","isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","doc","document","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","win","window","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","arr","i","$","selector","context","els","tempParent","html","trim","indexOf","toCreate","innerHTML","push","match","split","nodeType","unique","uniqueArray","requestAnimationFrame","callback","webkitRequestAnimationFrame","fn","prototype","Class","Methods","freeze","addClass","className","classes","j","classList","add","removeClass","remove","hasClass","contains","toggleClass","toggle","attr","attrs","value","arguments$1","arguments","getAttribute","attrName","removeAttr","removeAttribute","prop","props","propName","data","el","dom7ElementDataStorage","dataKey","removeData","dataset","string","attributes","name","toLowerCase","replace","group1","toUpperCase","parseFloat","val","dom","i$1","Array","isArray","multiple","options","selected","values","selectedOptions","transform","elStyle","webkitTransform","transition","duration","webkitTransitionDuration","transitionDuration","on","assign","args","len","eventType","targetSelector","listener","capture","handleLiveEvent","e","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","undefined","events","event$1","dom7LiveListeners","proxyListener","event","dom7Listeners","off","handlers","handler","splice","dom7proxy","once","eventName","onceHandler","eventArgs","trigger","evt","detail","bubbles","cancelable","filter","dataIndex","dispatchEvent","transitionEnd","fireCallBack","call","animationEnd","width","innerWidth","css","outerWidth","includeMargins","styles","offsetWidth","height","innerHeight","outerHeight","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","hide","display","show","toArray","each","matchedItems","map","modifiedItems","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","index","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","appendTo","parent","prepend","insertBefore","prependTo","before","parentNode","cloneNode","insertAfter","after","nextSibling","next","nextElementSibling","nextAll","nextEls","prev","previousElementSibling","prevAll","prevEls","siblings","closest","find","foundElements","found","removeChild","detach","toAdd","empty","Scroll","scrollTo","easing","currentTop","currentLeft","maxTop","maxLeft","newTop","newLeft","animateTop","animateLeft","scrollHeight","Math","max","min","scrollWidth","startTime","render","time","getTime","done","progress","easeProgress","cos","PI","Animate","animate","initialProps","initialParams","animateInstance","a","params","elements","animating","que","easingProgress","stop","id","frameId","cancelAnimationFrame","webkitCancelAnimationFrame","dom7AnimateInstance","complete","shift","initialFullValue","initialValue","unit","finalValue","finalFullValue","container","currentValue","elementsDone","propsDone","began","begin","element","ref","noTrigger","eventShortcut","concat","click","bind","focus","focusin","focusout","keyup","keydown","keypress","submit","change","mousedown","mousemove","mouseup","mouseenter","mouseleave","mouseout","mouseover","touchstart","touchend","touchmove","resize","scroll","group","methodName"],"mappings":"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","file":"dom7.min.js","sourcesContent":["/**\n * Dom7 2.1.5\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * http://framework7.io/docs/dom.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n *\n * Licensed under MIT\n *\n * Released on: June 23, 2020\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Dom7 = factory());\n}(this, function () { 'use strict';\n\n /**\n * SSR Window 2.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: May 12, 2020\n */\n /* eslint-disable no-param-reassign */\n function isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n }\n function extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n { target[key] = src[key]; }\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n }\n\n var doc = typeof document !== 'undefined' ? document : {};\n var ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n };\n extend(doc, ssrDocument);\n\n var win = typeof window !== 'undefined' ? window : {};\n var ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n };\n extend(win, ssrWindow);\n\n var Dom7 = function Dom7(arr) {\n var self = this;\n // Create array-like object\n for (var i = 0; i < arr.length; i += 1) {\n self[i] = arr[i];\n }\n self.length = arr.length;\n // Return collection with methods\n return this;\n };\n\n function $(selector, context) {\n var arr = [];\n var i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els;\n var tempParent;\n var html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [doc.getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || doc).querySelectorAll(selector.trim());\n }\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) { arr.push(els[i]); }\n }\n }\n } else if (selector.nodeType || selector === win || selector === doc) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n }\n\n $.fn = Dom7.prototype;\n $.Class = Dom7;\n $.Dom7 = Dom7;\n\n function unique(arr) {\n var uniqueArray = [];\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) { uniqueArray.push(arr[i]); }\n }\n return uniqueArray;\n }\n function toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group1) { return group1.toUpperCase(); });\n }\n\n function requestAnimationFrame(callback) {\n if (win.requestAnimationFrame) { return win.requestAnimationFrame(callback); }\n else if (win.webkitRequestAnimationFrame) { return win.webkitRequestAnimationFrame(callback); }\n return win.setTimeout(callback, 1000 / 60);\n }\n function cancelAnimationFrame(id) {\n if (win.cancelAnimationFrame) { return win.cancelAnimationFrame(id); }\n else if (win.webkitCancelAnimationFrame) { return win.webkitCancelAnimationFrame(id); }\n return win.clearTimeout(id);\n }\n\n // Classes and attributes\n function addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.add(classes[i]); }\n }\n }\n return this;\n }\n function removeClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.remove(classes[i]); }\n }\n }\n return this;\n }\n function hasClass(className) {\n if (!this[0]) { return false; }\n return this[0].classList.contains(className);\n }\n function toggleClass(className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') { this[j].classList.toggle(classes[i]); }\n }\n }\n return this;\n }\n function attr(attrs, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) { return this[0].getAttribute(attrs); }\n return undefined;\n }\n\n // Set attrs\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n // eslint-disable-next-line\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n return this;\n }\n // eslint-disable-next-line\n function prop(props, value) {\n var arguments$1 = arguments;\n\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) { return this[0][props]; }\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments$1.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n }\n function data(key, value) {\n var el;\n if (typeof value === 'undefined') {\n el = this[0];\n // Get value\n if (el) {\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute((\"data-\" + key));\n if (dataKey) {\n return dataKey;\n }\n return undefined;\n }\n return undefined;\n }\n\n // Set value\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) { el.dom7ElementDataStorage = {}; }\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n function removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n }\n function dataset() {\n var el = this[0];\n if (!el) { return undefined; }\n var dataset = {}; // eslint-disable-line\n if (el.dataset) {\n // eslint-disable-next-line\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n var attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n // eslint-disable-next-line\n for (var key in dataset) {\n if (dataset[key] === 'false') { dataset[key] = false; }\n else if (dataset[key] === 'true') { dataset[key] = true; }\n else if (parseFloat(dataset[key]) === dataset[key] * 1) { dataset[key] *= 1; }\n }\n return dataset;\n }\n function val(value) {\n var dom = this;\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n var values = [];\n for (var i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n return values;\n }\n return dom[0].value;\n }\n return undefined;\n }\n\n for (var i$1 = 0; i$1 < dom.length; i$1 += 1) {\n var el = dom[i$1];\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n return dom;\n }\n // Transforms\n // eslint-disable-next-line\n function transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n return this;\n }\n function transition(duration) {\n if (typeof duration !== 'string') {\n duration = duration + \"ms\"; // eslint-disable-line\n }\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n return this;\n }\n // Events\n function on() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) { return; }\n var eventData = e.target.dom7EventData || [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n if ($(target).is(targetSelector)) { listener.apply(target, eventData); }\n else {\n var parents = $(target).parents(); // eslint-disable-line\n for (var k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) { listener.apply(parents[k], eventData); }\n }\n }\n }\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n listener.apply(this, eventData);\n }\n var events = eventType.split(' ');\n var j;\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) { el.dom7Listeners = {}; }\n if (!el.dom7Listeners[event]) { el.dom7Listeners[event] = []; }\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent,\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var event$1 = events[j];\n if (!el.dom7LiveListeners) { el.dom7LiveListeners = {}; }\n if (!el.dom7LiveListeners[event$1]) { el.dom7LiveListeners[event$1] = []; }\n el.dom7LiveListeners[event$1].push({\n listener: listener,\n proxyListener: handleLiveEvent,\n });\n el.addEventListener(event$1, handleLiveEvent, capture);\n }\n }\n }\n return this;\n }\n function off() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var eventType = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n if (!capture) { capture = false; }\n\n var events = eventType.split(' ');\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = (void 0);\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n return this;\n }\n function once() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var dom = this;\n var eventName = args[0];\n var targetSelector = args[1];\n var listener = args[2];\n var capture = args[3];\n if (typeof args[1] === 'function') {\n (assign = args, eventName = assign[0], listener = assign[1], capture = assign[2]);\n targetSelector = undefined;\n }\n function onceHandler() {\n var eventArgs = [], len = arguments.length;\n while ( len-- ) eventArgs[ len ] = arguments[ len ];\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n }\n function trigger() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var events = args[0].split(' ');\n var eventData = args[1];\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var evt = (void 0);\n try {\n evt = new win.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true,\n });\n } catch (e) {\n evt = doc.createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n }\n // eslint-disable-next-line\n el.dom7EventData = args.filter(function (data, dataIndex) { return dataIndex > 0; });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n return this;\n }\n function transitionEnd(callback) {\n var events = ['webkitTransitionEnd', 'transitionend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n function animationEnd(callback) {\n var events = ['webkitAnimationEnd', 'animationend'];\n var dom = this;\n var i;\n function fireCallBack(e) {\n if (e.target !== this) { return; }\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n }\n // Sizing/Styles\n function width() {\n if (this[0] === win) {\n return win.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n }\n function outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n return this[0].offsetWidth;\n }\n return null;\n }\n function height() {\n if (this[0] === win) {\n return win.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n }\n function outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n return this[0].offsetHeight;\n }\n return null;\n }\n function offset() {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = doc.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === win ? win.scrollY : el.scrollTop;\n var scrollLeft = el === win ? win.scrollX : el.scrollLeft;\n return {\n top: (box.top + scrollTop) - clientTop,\n left: (box.left + scrollLeft) - clientLeft,\n };\n }\n\n return null;\n }\n function hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n return this;\n }\n function show() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n if (win.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n return this;\n }\n function styles() {\n if (this[0]) { return win.getComputedStyle(this[0], null); }\n return {};\n }\n function css(props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) { return win.getComputedStyle(this[0], null).getPropertyValue(props); }\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n }\n\n // Dom manipulation\n function toArray() {\n var arr = [];\n for (var i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n return arr;\n }\n // Iterate over the collection passing elements to `callback`\n function each(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) { return this; }\n // Iterate over the current collection\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n }\n function filter(callback) {\n var matchedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) { matchedItems.push(dom[i]); }\n }\n return new Dom7(matchedItems);\n }\n function map(callback) {\n var modifiedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n return new Dom7(modifiedItems);\n }\n // eslint-disable-next-line\n function html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n return this;\n }\n // eslint-disable-next-line\n function text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n return null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n return this;\n }\n function is(selector) {\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') { return false; }\n if (typeof selector === 'string') {\n if (el.matches) { return el.matches(selector); }\n else if (el.webkitMatchesSelector) { return el.webkitMatchesSelector(selector); }\n else if (el.msMatchesSelector) { return el.msMatchesSelector(selector); }\n\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n } else if (selector === doc) { return el === doc; }\n else if (selector === win) { return el === win; }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) { return true; }\n }\n return false;\n }\n return false;\n }\n function indexOf(el) {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i] === el) { return i; }\n }\n return -1;\n }\n function index() {\n var child = this[0];\n var i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) { i += 1; }\n }\n return i;\n }\n return undefined;\n }\n // eslint-disable-next-line\n function eq(index) {\n if (typeof index === 'undefined') { return this; }\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) { return new Dom7([]); }\n return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n }\n function append() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var newChild;\n\n for (var k = 0; k < args.length; k += 1) {\n newChild = args[k];\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n }\n // eslint-disable-next-line\n function appendTo(parent) {\n $(parent).append(this);\n return this;\n }\n function prepend(newChild) {\n var i;\n var j;\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = doc.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n }\n // eslint-disable-next-line\n function prependTo(parent) {\n $(parent).prepend(this);\n return this;\n }\n function insertBefore(selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n }\n function insertAfter(selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n }\n function next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) { return new Dom7([this[0].nextElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.nextElementSibling) {\n var next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if ($(next).is(selector)) { nextEls.push(next); }\n } else { nextEls.push(next); }\n el = next;\n }\n return new Dom7(nextEls);\n }\n function prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) { return new Dom7([el.previousElementSibling]); }\n return new Dom7([]);\n }\n return new Dom7([]);\n }\n function prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) { return new Dom7([]); }\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if ($(prev).is(selector)) { prevEls.push(prev); }\n } else { prevEls.push(prev); }\n el = prev;\n }\n return new Dom7(prevEls);\n }\n function siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n }\n function parent(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) { parents.push(this[i].parentNode); }\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $(unique(parents));\n }\n function parents(selector) {\n var parents = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var parent = this[i].parentNode; // eslint-disable-line\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) { parents.push(parent); }\n } else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $(unique(parents));\n }\n function closest(selector) {\n var closest = this; // eslint-disable-line\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n }\n function find(selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n }\n function children(selector) {\n var children = []; // eslint-disable-line\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].childNodes;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) { children.push(childNodes[j]); }\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n return new Dom7(unique(children));\n }\n function remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) { this[i].parentNode.removeChild(this[i]); }\n }\n return this;\n }\n function detach() {\n return this.remove();\n }\n function add() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dom = this;\n var i;\n var j;\n for (i = 0; i < args.length; i += 1) {\n var toAdd = $(args[i]);\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n return dom;\n }\n function empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n el.textContent = '';\n }\n }\n return this;\n }\n\n var Methods = /*#__PURE__*/Object.freeze({\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n prop: prop,\n data: data,\n removeData: removeData,\n dataset: dataset,\n val: val,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n once: once,\n trigger: trigger,\n transitionEnd: transitionEnd,\n animationEnd: animationEnd,\n width: width,\n outerWidth: outerWidth,\n height: height,\n outerHeight: outerHeight,\n offset: offset,\n hide: hide,\n show: show,\n styles: styles,\n css: css,\n toArray: toArray,\n each: each,\n forEach: forEach,\n filter: filter,\n map: map,\n html: html,\n text: text,\n is: is,\n indexOf: indexOf,\n index: index,\n eq: eq,\n append: append,\n appendTo: appendTo,\n prepend: prepend,\n prependTo: prependTo,\n insertBefore: insertBefore,\n insertAfter: insertAfter,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n siblings: siblings,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n remove: remove,\n detach: detach,\n add: add,\n empty: empty\n });\n\n function scrollTo() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var top = args[1];\n var duration = args[2];\n var easing = args[3];\n var callback = args[4];\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n (assign = args, left = assign[0], top = assign[1], duration = assign[2], callback = assign[3], easing = assign[4]);\n }\n if (typeof easing === 'undefined') { easing = 'swing'; }\n\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n var scrollLeft; // eslint-disable-line\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) { return; }\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) { animateTop = false; }\n if (animateLeft && newLeft === currentLeft) { animateLeft = false; }\n if (!animateLeft && !animateTop) {\n if (callback) { callback(); }\n return;\n }\n function render(time) {\n if ( time === void 0 ) time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : (0.5 - (Math.cos(progress * Math.PI) / 2));\n var done;\n if (animateTop) { scrollTop = currentTop + (easeProgress * (newTop - currentTop)); }\n if (animateLeft) { scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft)); }\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) { callback(); }\n return;\n }\n if (animateTop) { el.scrollTop = scrollTop; }\n if (animateLeft) { el.scrollLeft = scrollLeft; }\n requestAnimationFrame(render);\n }\n requestAnimationFrame(render);\n });\n }\n // scrollTop(top, duration, easing, callback) {\n function scrollTop() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var top = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, top = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollTop; }\n return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n }\n function scrollLeft() {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n var left = args[0];\n var duration = args[1];\n var easing = args[2];\n var callback = args[3];\n if (args.length === 3 && typeof easing === 'function') {\n (assign = args, left = assign[0], duration = assign[1], callback = assign[2], easing = assign[3]);\n }\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) { return dom[0].scrollLeft; }\n return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n }\n\n var Scroll = /*#__PURE__*/Object.freeze({\n scrollTo: scrollTo,\n scrollTop: scrollTop,\n scrollLeft: scrollLeft\n });\n\n function animate(initialProps, initialParams) {\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n }, initialParams),\n\n elements: els,\n animating: false,\n que: [],\n\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - (Math.cos(progress * Math.PI) / 2);\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) { complete(els); }\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n var elements = [];\n\n // Define & Cache Initials & Units\n a.elements.each(function (index, el) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n\n if (!el.dom7AnimateInstance) { a.elements[index].dom7AnimateInstance = a; }\n\n elements[index] = {\n container: el,\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = win.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue,\n };\n });\n });\n\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress;\n // let el;\n if (!began) {\n began = true;\n if (params.begin) { params.begin(els); }\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) { return; }\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) { return; }\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var ref = el[prop];\n var initialValue = ref.initialValue;\n var finalValue = ref.finalValue;\n var unit = ref.unit;\n el[prop].currentValue = initialValue + (easeProgress * (finalValue - initialValue));\n var currentValue = el[prop].currentValue;\n\n if (\n (finalValue > initialValue && currentValue >= finalValue) ||\n (finalValue < initialValue && currentValue <= finalValue)) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return;\n }\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) { return; }\n // Then call\n a.frameId = requestAnimationFrame(render);\n }\n a.frameId = requestAnimationFrame(render);\n return a;\n },\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else { a.elements[i].dom7AnimateInstance = a; }\n }\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n }\n\n function stop() {\n var els = this;\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n }\n\n var Animate = /*#__PURE__*/Object.freeze({\n animate: animate,\n stop: stop\n });\n\n var noTrigger = ('resize scroll').split(' ');\n function eventShortcut(name) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) { this[i][name](); }\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n return (ref = this).on.apply(ref, [ name ].concat( args ));\n }\n\n function click() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'click' ].concat( args ));\n }\n function blur() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'blur' ].concat( args ));\n }\n function focus() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focus' ].concat( args ));\n }\n function focusin() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusin' ].concat( args ));\n }\n function focusout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'focusout' ].concat( args ));\n }\n function keyup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keyup' ].concat( args ));\n }\n function keydown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keydown' ].concat( args ));\n }\n function keypress() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'keypress' ].concat( args ));\n }\n function submit() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'submit' ].concat( args ));\n }\n function change() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'change' ].concat( args ));\n }\n function mousedown() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousedown' ].concat( args ));\n }\n function mousemove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mousemove' ].concat( args ));\n }\n function mouseup() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseup' ].concat( args ));\n }\n function mouseenter() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseenter' ].concat( args ));\n }\n function mouseleave() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseleave' ].concat( args ));\n }\n function mouseout() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseout' ].concat( args ));\n }\n function mouseover() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'mouseover' ].concat( args ));\n }\n function touchstart() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchstart' ].concat( args ));\n }\n function touchend() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchend' ].concat( args ));\n }\n function touchmove() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'touchmove' ].concat( args ));\n }\n function resize() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'resize' ].concat( args ));\n }\n function scroll() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return eventShortcut.bind(this).apply(void 0, [ 'scroll' ].concat( args ));\n }\n\n var eventShortcuts = /*#__PURE__*/Object.freeze({\n click: click,\n blur: blur,\n focus: focus,\n focusin: focusin,\n focusout: focusout,\n keyup: keyup,\n keydown: keydown,\n keypress: keypress,\n submit: submit,\n change: change,\n mousedown: mousedown,\n mousemove: mousemove,\n mouseup: mouseup,\n mouseenter: mouseenter,\n mouseleave: mouseleave,\n mouseout: mouseout,\n mouseover: mouseover,\n touchstart: touchstart,\n touchend: touchend,\n touchmove: touchmove,\n resize: resize,\n scroll: scroll\n });\n\n [Methods, Scroll, Animate, eventShortcuts].forEach(function (group) {\n Object.keys(group).forEach(function (methodName) {\n $.fn[methodName] = group[methodName];\n });\n });\n\n return $;\n\n}));\n"]} \ No newline at end of file diff --git a/dist/dom7.modular.js b/dist/dom7.modular.js index 5e81dea..75c148a 100644 --- a/dist/dom7.modular.js +++ b/dist/dom7.modular.js @@ -9,7 +9,7 @@ * * Licensed under MIT * - * Released on: May 15, 2020 + * Released on: June 23, 2020 */ import { document, window } from 'ssr-window'; @@ -1015,6 +1015,7 @@ function scrollTo(...args) { if (animateTop && newTop === currentTop) animateTop = false; if (animateLeft && newLeft === currentLeft) animateLeft = false; if (!animateLeft && !animateTop) { + if (callback) callback(); return; } function render(time = new Date().getTime()) { diff --git a/dist/dom7.module.js b/dist/dom7.module.js index 2f31008..6f12055 100644 --- a/dist/dom7.module.js +++ b/dist/dom7.module.js @@ -9,7 +9,7 @@ * * Licensed under MIT * - * Released on: May 15, 2020 + * Released on: June 23, 2020 */ import { document, window } from 'ssr-window'; @@ -1077,6 +1077,7 @@ function scrollTo(...args) { if (animateTop && newTop === currentTop) animateTop = false; if (animateLeft && newLeft === currentLeft) animateLeft = false; if (!animateLeft && !animateTop) { + if (callback) callback(); return; } function render(time = new Date().getTime()) {