framework7 8.0.0-beta.1 → 8.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/components/checkbox/checkbox-rtl.css +1 -1
  2. package/components/checkbox/checkbox.css +1 -1
  3. package/components/checkbox/checkbox.less +22 -0
  4. package/components/dialog/dialog-md.less +1 -0
  5. package/components/dialog/dialog-rtl.css +1 -1
  6. package/components/dialog/dialog.css +1 -1
  7. package/components/notification/notification.d.ts +1 -1
  8. package/components/panel/panel-class.js +14 -0
  9. package/components/photo-browser/photo-browser-class.js +1 -0
  10. package/components/photo-browser/photo-browser.d.ts +2 -0
  11. package/components/photo-browser/photo-browser.js +2 -0
  12. package/components/picker/picker-rtl.css +1 -1
  13. package/components/picker/picker.css +1 -1
  14. package/components/picker/picker.less +36 -33
  15. package/components/popover/popover-rtl.css +1 -1
  16. package/components/popover/popover.css +1 -1
  17. package/components/popover/popover.less +4 -0
  18. package/components/smart-select/smart-select-class.js +19 -5
  19. package/components/smart-select/smart-select.d.ts +4 -1
  20. package/components/smart-select/smart-select.js +2 -0
  21. package/components/swiper/swiper-rtl.css +1 -1
  22. package/components/swiper/swiper.css +1 -1
  23. package/components/swiper/swiper.js +6 -18
  24. package/framework7-bundle-rtl.css +87 -36
  25. package/framework7-bundle-rtl.min.css +4 -4
  26. package/framework7-bundle.css +87 -36
  27. package/framework7-bundle.esm.js +3 -3
  28. package/framework7-bundle.js +783 -433
  29. package/framework7-bundle.js.map +1 -1
  30. package/framework7-bundle.less +3 -3
  31. package/framework7-bundle.min.css +4 -4
  32. package/framework7-bundle.min.js +4 -4
  33. package/framework7-bundle.min.js.map +1 -1
  34. package/framework7-lite-bundle.esm.js +3 -3
  35. package/framework7-lite.esm.js +3 -3
  36. package/framework7-rtl.css +3 -3
  37. package/framework7-rtl.min.css +3 -3
  38. package/framework7.css +3 -3
  39. package/framework7.esm.js +3 -3
  40. package/framework7.less +3 -3
  41. package/framework7.min.css +3 -3
  42. package/modules/router/back.js +22 -6
  43. package/modules/router/navigate.js +11 -2
  44. package/modules/router/router-class.js +3 -2
  45. package/modules/router/router.d.ts +1 -1
  46. package/package.json +3 -3
  47. package/components/accordion/accordion.lazy.js +0 -1
  48. package/components/actions/actions.lazy.js +0 -1
  49. package/components/area-chart/area-chart.lazy.js +0 -1
  50. package/components/autocomplete/autocomplete.lazy.js +0 -1
  51. package/components/breadcrumbs/breadcrumbs.lazy.js +0 -1
  52. package/components/calendar/calendar.lazy.js +0 -1
  53. package/components/card/card.lazy.js +0 -1
  54. package/components/checkbox/checkbox.lazy.js +0 -1
  55. package/components/chip/chip.lazy.js +0 -1
  56. package/components/color-picker/color-picker.lazy.js +0 -1
  57. package/components/contacts-list/contacts-list.lazy.js +0 -1
  58. package/components/data-table/data-table.lazy.js +0 -1
  59. package/components/dialog/dialog.lazy.js +0 -1
  60. package/components/fab/fab.lazy.js +0 -1
  61. package/components/form/form.lazy.js +0 -1
  62. package/components/gauge/gauge.lazy.js +0 -1
  63. package/components/grid/grid.lazy.js +0 -1
  64. package/components/infinite-scroll/infinite-scroll.lazy.js +0 -1
  65. package/components/input/input.lazy.js +0 -1
  66. package/components/list-index/list-index.lazy.js +0 -1
  67. package/components/login-screen/login-screen.lazy.js +0 -1
  68. package/components/messagebar/messagebar.lazy.js +0 -1
  69. package/components/messages/messages.lazy.js +0 -1
  70. package/components/notification/notification.lazy.js +0 -1
  71. package/components/panel/panel.lazy.js +0 -1
  72. package/components/photo-browser/photo-browser.lazy.js +0 -1
  73. package/components/picker/picker.lazy.js +0 -1
  74. package/components/pie-chart/pie-chart.lazy.js +0 -1
  75. package/components/popover/popover.lazy.js +0 -1
  76. package/components/popup/popup.lazy.js +0 -1
  77. package/components/preloader/preloader.lazy.js +0 -1
  78. package/components/progressbar/progressbar.lazy.js +0 -1
  79. package/components/pull-to-refresh/pull-to-refresh.lazy.js +0 -1
  80. package/components/radio/radio.lazy.js +0 -1
  81. package/components/range/range.lazy.js +0 -1
  82. package/components/searchbar/searchbar.lazy.js +0 -1
  83. package/components/sheet/sheet.lazy.js +0 -1
  84. package/components/skeleton/skeleton.lazy.js +0 -1
  85. package/components/smart-select/smart-select.lazy.js +0 -1
  86. package/components/sortable/sortable.lazy.js +0 -1
  87. package/components/stepper/stepper.lazy.js +0 -1
  88. package/components/swipeout/swipeout.lazy.js +0 -1
  89. package/components/swiper/swiper.lazy.js +0 -1
  90. package/components/tabs/tabs.lazy.js +0 -1
  91. package/components/text-editor/text-editor.lazy.js +0 -1
  92. package/components/timeline/timeline.lazy.js +0 -1
  93. package/components/toast/toast.lazy.js +0 -1
  94. package/components/toggle/toggle.lazy.js +0 -1
  95. package/components/tooltip/tooltip.lazy.js +0 -1
  96. package/components/treeview/treeview.lazy.js +0 -1
  97. package/components/typography/typography.lazy.js +0 -1
  98. package/components/virtual-list/virtual-list.lazy.js +0 -1
  99. package/framework7-lite.js +0 -31
  100. package/framework7.js +0 -13027
  101. package/framework7.js.map +0 -1
  102. package/framework7.min.js +0 -14
  103. package/framework7.min.js.map +0 -1
  104. package/less/plugin.js +0 -15
package/framework7.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"framework7.js.map","sources":["../../node_modules/ssr-window/ssr-window.esm.js","../../node_modules/dom7/dom7.esm.js","../../src/core/shared/dom7.js","../../src/core/shared/material-color-utils.js","../../src/core/shared/material-colors.js","../../src/core/shared/utils.js","../../src/core/shared/get-support.js","../../src/core/shared/get-device.js","../../src/core/shared/events-class.js","../../src/core/shared/class.js","../../src/core/shared/constructor-methods.js","../../src/core/shared/modal-methods.js","../../src/core/components/app/load-module.js","../../src/core/shared/$jsx.js","../../src/core/components/app/app-class.js","../../src/core/modules/device/device.js","../../src/core/modules/support/support.js","../../src/core/modules/utils/utils.js","../../src/core/modules/resize/resize.js","../../src/core/modules/touch/touch.js","../../node_modules/path-to-regexp/dist.es2015/index.js","../../src/core/shared/history.js","../../src/core/modules/router/swipe-back.js","../../src/core/modules/router/redirect.js","../../src/core/modules/router/process-route-queue.js","../../src/core/modules/router/app-router-check.js","../../src/core/modules/router/async-component.js","../../src/core/modules/router/navigate.js","../../src/core/modules/router/tab.js","../../src/core/modules/router/modal.js","../../src/core/modules/router/back.js","../../src/core/modules/router/clear-previous-history.js","../../src/core/modules/router/router-class.js","../../src/core/modules/router/router.js","../../src/core/components/view/resizable-view.js","../../src/core/components/view/view-class.js","../../src/core/modules/clicks/clicks.js","../../src/core/modules/router/component-loader.js","../../node_modules/htm/dist/htm.mjs","../../src/core/modules/component/$h.js","../../src/core/modules/component/snabbdom/vnode.js","../../src/core/modules/component/snabbdom/is.js","../../src/core/modules/component/snabbdom/h.js","../../src/core/modules/component/custom-components.js","../../src/core/modules/component/vdom.js","../../src/core/modules/component/snabbdom/htmldomapi.js","../../src/core/modules/component/snabbdom/snabbdom.js","../../src/core/modules/component/snabbdom/modules/attributes.js","../../src/core/modules/component/snabbdom/modules/props.js","../../src/core/modules/component/snabbdom/modules/style.js","../../src/core/modules/component/eventslisteners.js","../../src/core/modules/component/patch.js","../../src/core/modules/component/$jsx.js","../../src/core/modules/component/component-class.js","../../src/core/modules/component/parse-component.js","../../src/core/modules/component/component.js","../../src/core/modules/history/history.js","../../src/core/modules/service-worker/service-worker.js","../../src/core/modules/store/create-store.js","../../src/core/modules/store/store.js","../../src/core/components/statusbar/statusbar.js","../../src/core/components/view/view.js","../../src/core/components/navbar/navbar.js","../../src/core/components/toolbar/toolbar.js","../../src/core/components/subnavbar/subnavbar.js","../../src/core/components/touch-ripple/touch-ripple-class.js","../../src/core/components/touch-ripple/touch-ripple.js","../../src/core/components/modal/modal-class.js","../../src/core/components/modal/custom-modal-class.js","../../src/core/components/modal/modal.js","../../src/core/framework7.js"],"sourcesContent":["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((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\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst 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() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n const tempParent = document.createElement(toCreate);\n tempParent.innerHTML = html;\n\n for (let i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n}\n\n$.fn = Dom7.prototype;\n\n// eslint-disable-next-line\n\nfunction addClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\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 (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let 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\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n 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 const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\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\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.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\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let 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\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\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\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let 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 (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let 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 (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let 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\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let 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\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\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\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.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,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\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(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(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 const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let 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\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\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","// eslint-disable-next-line\nimport * as methods from 'dom7';\n\nObject.keys(methods).forEach((methodName) => {\n if (methodName === '$') return;\n methods.$.fn[methodName] = methods[methodName];\n});\n\nexport default methods.$;\n","/* eslint-disable */\nfunction signum(num) {\n return num < 0 ? -1 : 0 === num ? 0 : 1;\n}\n\nfunction lerp(start, stop, amount) {\n return (1 - amount) * start + amount * stop;\n}\n\nfunction clampInt(min, max, input) {\n return input < min ? min : input > max ? max : input;\n}\n\nfunction sanitizeDegreesDouble(degrees) {\n return (degrees %= 360) < 0 && (degrees += 360), degrees;\n}\n\nfunction rotationDirection(from, to) {\n return sanitizeDegreesDouble(to - from) <= 180 ? 1 : -1;\n}\n\nfunction differenceDegrees(a, b) {\n return 180 - Math.abs(Math.abs(a - b) - 180);\n}\n\nfunction matrixMultiply(row, matrix) {\n return [ row[0] * matrix[0][0] + row[1] * matrix[0][1] + row[2] * matrix[0][2], row[0] * matrix[1][0] + row[1] * matrix[1][1] + row[2] * matrix[1][2], row[0] * matrix[2][0] + row[1] * matrix[2][1] + row[2] * matrix[2][2] ];\n}\n\nconst SRGB_TO_XYZ = [ [ .41233895, .35762064, .18051042 ], [ .2126, .7152, .0722 ], [ .01932141, .11916382, .95034478 ] ], XYZ_TO_SRGB = [ [ 3.2413774792388685, -1.5376652402851851, -.49885366846268053 ], [ -.9691452513005321, 1.8758853451067872, .04156585616912061 ], [ .05562093689691305, -.20395524564742123, 1.0571799111220335 ] ], WHITE_POINT_D65 = [ 95.047, 100, 108.883 ];\n\nfunction argbFromRgb(red, green, blue) {\n return (255 << 24 | (255 & red) << 16 | (255 & green) << 8 | 255 & blue) >>> 0;\n}\n\nfunction argbFromLinrgb(linrgb) {\n return argbFromRgb(delinearized(linrgb[0]), delinearized(linrgb[1]), delinearized(linrgb[2]));\n}\n\nfunction redFromArgb(argb) {\n return argb >> 16 & 255;\n}\n\nfunction greenFromArgb(argb) {\n return argb >> 8 & 255;\n}\n\nfunction blueFromArgb(argb) {\n return 255 & argb;\n}\n\nfunction argbFromXyz(x, y, z) {\n const matrix = XYZ_TO_SRGB, linearR = matrix[0][0] * x + matrix[0][1] * y + matrix[0][2] * z, linearG = matrix[1][0] * x + matrix[1][1] * y + matrix[1][2] * z, linearB = matrix[2][0] * x + matrix[2][1] * y + matrix[2][2] * z;\n return argbFromRgb(delinearized(linearR), delinearized(linearG), delinearized(linearB));\n}\n\nfunction xyzFromArgb(argb) {\n return matrixMultiply([ linearized(redFromArgb(argb)), linearized(greenFromArgb(argb)), linearized(blueFromArgb(argb)) ], SRGB_TO_XYZ);\n}\n\nfunction argbFromLstar(lstar) {\n const component = delinearized(yFromLstar(lstar));\n return argbFromRgb(component, component, component);\n}\n\nfunction lstarFromArgb(argb) {\n return 116 * labF(xyzFromArgb(argb)[1] / 100) - 16;\n}\n\nfunction yFromLstar(lstar) {\n return 100 * labInvf((lstar + 16) / 116);\n}\n\nfunction linearized(rgbComponent) {\n const normalized = rgbComponent / 255;\n return normalized <= .040449936 ? normalized / 12.92 * 100 : 100 * Math.pow((normalized + .055) / 1.055, 2.4);\n}\n\nfunction delinearized(rgbComponent) {\n const normalized = rgbComponent / 100;\n let delinearized = 0;\n return delinearized = normalized <= .0031308 ? 12.92 * normalized : 1.055 * Math.pow(normalized, 1 / 2.4) - .055, \n clampInt(0, 255, Math.round(255 * delinearized));\n}\n\nfunction whitePointD65() {\n return WHITE_POINT_D65;\n}\n\nfunction labF(t) {\n return t > 216 / 24389 ? Math.pow(t, 1 / 3) : (903.2962962962963 * t + 16) / 116;\n}\n\nfunction labInvf(ft) {\n const ft3 = ft * ft * ft;\n return ft3 > 216 / 24389 ? ft3 : (116 * ft - 16) / 903.2962962962963;\n}\n\nclass ViewingConditions {\n constructor(n, aw, nbb, ncb, c, nc, rgbD, fl, fLRoot, z) {\n this.n = n, this.aw = aw, this.nbb = nbb, this.ncb = ncb, this.c = c, this.nc = nc, \n this.rgbD = rgbD, this.fl = fl, this.fLRoot = fLRoot, this.z = z;\n }\n static make(whitePoint = whitePointD65(), adaptingLuminance = 200 / Math.PI * yFromLstar(50) / 100, backgroundLstar = 50, surround = 2, discountingIlluminant = !1) {\n const xyz = whitePoint, rW = .401288 * xyz[0] + .650173 * xyz[1] + -.051461 * xyz[2], gW = -.250268 * xyz[0] + 1.204414 * xyz[1] + .045854 * xyz[2], bW = -.002079 * xyz[0] + .048952 * xyz[1] + .953127 * xyz[2], f = .8 + surround / 10, c = f >= .9 ? lerp(.59, .69, 10 * (f - .9)) : lerp(.525, .59, 10 * (f - .8));\n let d = discountingIlluminant ? 1 : f * (1 - 1 / 3.6 * Math.exp((-adaptingLuminance - 42) / 92));\n d = d > 1 ? 1 : d < 0 ? 0 : d;\n const nc = f, rgbD = [ d * (100 / rW) + 1 - d, d * (100 / gW) + 1 - d, d * (100 / bW) + 1 - d ], k = 1 / (5 * adaptingLuminance + 1), k4 = k * k * k * k, k4F = 1 - k4, fl = k4 * adaptingLuminance + .1 * k4F * k4F * Math.cbrt(5 * adaptingLuminance), n = yFromLstar(backgroundLstar) / whitePoint[1], z = 1.48 + Math.sqrt(n), nbb = .725 / Math.pow(n, .2), ncb = nbb, rgbAFactors = [ Math.pow(fl * rgbD[0] * rW / 100, .42), Math.pow(fl * rgbD[1] * gW / 100, .42), Math.pow(fl * rgbD[2] * bW / 100, .42) ], rgbA = [ 400 * rgbAFactors[0] / (rgbAFactors[0] + 27.13), 400 * rgbAFactors[1] / (rgbAFactors[1] + 27.13), 400 * rgbAFactors[2] / (rgbAFactors[2] + 27.13) ];\n return new ViewingConditions(n, (2 * rgbA[0] + rgbA[1] + .05 * rgbA[2]) * nbb, nbb, ncb, c, nc, rgbD, fl, Math.pow(fl, .25), z);\n }\n}\n\nViewingConditions.DEFAULT = ViewingConditions.make();\n\nclass Cam16 {\n constructor(hue, chroma, j, q, m, s, jstar, astar, bstar) {\n this.hue = hue, this.chroma = chroma, this.j = j, this.q = q, this.m = m, this.s = s, \n this.jstar = jstar, this.astar = astar, this.bstar = bstar;\n }\n distance(other) {\n const dJ = this.jstar - other.jstar, dA = this.astar - other.astar, dB = this.bstar - other.bstar, dEPrime = Math.sqrt(dJ * dJ + dA * dA + dB * dB);\n return 1.41 * Math.pow(dEPrime, .63);\n }\n static fromInt(argb) {\n return Cam16.fromIntInViewingConditions(argb, ViewingConditions.DEFAULT);\n }\n static fromIntInViewingConditions(argb, viewingConditions) {\n const green = (65280 & argb) >> 8, blue = 255 & argb, redL = linearized((16711680 & argb) >> 16), greenL = linearized(green), blueL = linearized(blue), x = .41233895 * redL + .35762064 * greenL + .18051042 * blueL, y = .2126 * redL + .7152 * greenL + .0722 * blueL, z = .01932141 * redL + .11916382 * greenL + .95034478 * blueL, rC = .401288 * x + .650173 * y - .051461 * z, gC = -.250268 * x + 1.204414 * y + .045854 * z, bC = -.002079 * x + .048952 * y + .953127 * z, rD = viewingConditions.rgbD[0] * rC, gD = viewingConditions.rgbD[1] * gC, bD = viewingConditions.rgbD[2] * bC, rAF = Math.pow(viewingConditions.fl * Math.abs(rD) / 100, .42), gAF = Math.pow(viewingConditions.fl * Math.abs(gD) / 100, .42), bAF = Math.pow(viewingConditions.fl * Math.abs(bD) / 100, .42), rA = 400 * signum(rD) * rAF / (rAF + 27.13), gA = 400 * signum(gD) * gAF / (gAF + 27.13), bA = 400 * signum(bD) * bAF / (bAF + 27.13), a = (11 * rA + -12 * gA + bA) / 11, b = (rA + gA - 2 * bA) / 9, u = (20 * rA + 20 * gA + 21 * bA) / 20, p2 = (40 * rA + 20 * gA + bA) / 20, atanDegrees = 180 * Math.atan2(b, a) / Math.PI, hue = atanDegrees < 0 ? atanDegrees + 360 : atanDegrees >= 360 ? atanDegrees - 360 : atanDegrees, hueRadians = hue * Math.PI / 180, ac = p2 * viewingConditions.nbb, j = 100 * Math.pow(ac / viewingConditions.aw, viewingConditions.c * viewingConditions.z), q = 4 / viewingConditions.c * Math.sqrt(j / 100) * (viewingConditions.aw + 4) * viewingConditions.fLRoot, huePrime = hue < 20.14 ? hue + 360 : hue, t = 5e4 / 13 * (.25 * (Math.cos(huePrime * Math.PI / 180 + 2) + 3.8)) * viewingConditions.nc * viewingConditions.ncb * Math.sqrt(a * a + b * b) / (u + .305), alpha = Math.pow(t, .9) * Math.pow(1.64 - Math.pow(.29, viewingConditions.n), .73), c = alpha * Math.sqrt(j / 100), m = c * viewingConditions.fLRoot, s = 50 * Math.sqrt(alpha * viewingConditions.c / (viewingConditions.aw + 4)), jstar = (1 + 100 * .007) * j / (1 + .007 * j), mstar = 1 / .0228 * Math.log(1 + .0228 * m), astar = mstar * Math.cos(hueRadians), bstar = mstar * Math.sin(hueRadians);\n return new Cam16(hue, c, j, q, m, s, jstar, astar, bstar);\n }\n static fromJch(j, c, h) {\n return Cam16.fromJchInViewingConditions(j, c, h, ViewingConditions.DEFAULT);\n }\n static fromJchInViewingConditions(j, c, h, viewingConditions) {\n const q = 4 / viewingConditions.c * Math.sqrt(j / 100) * (viewingConditions.aw + 4) * viewingConditions.fLRoot, m = c * viewingConditions.fLRoot, alpha = c / Math.sqrt(j / 100), s = 50 * Math.sqrt(alpha * viewingConditions.c / (viewingConditions.aw + 4)), hueRadians = h * Math.PI / 180, jstar = (1 + 100 * .007) * j / (1 + .007 * j), mstar = 1 / .0228 * Math.log(1 + .0228 * m), astar = mstar * Math.cos(hueRadians), bstar = mstar * Math.sin(hueRadians);\n return new Cam16(h, c, j, q, m, s, jstar, astar, bstar);\n }\n static fromUcs(jstar, astar, bstar) {\n return Cam16.fromUcsInViewingConditions(jstar, astar, bstar, ViewingConditions.DEFAULT);\n }\n static fromUcsInViewingConditions(jstar, astar, bstar, viewingConditions) {\n const a = astar, b = bstar, m = Math.sqrt(a * a + b * b), c = (Math.exp(.0228 * m) - 1) / .0228 / viewingConditions.fLRoot;\n let h = Math.atan2(b, a) * (180 / Math.PI);\n h < 0 && (h += 360);\n const j = jstar / (1 - .007 * (jstar - 100));\n return Cam16.fromJchInViewingConditions(j, c, h, viewingConditions);\n }\n toInt() {\n return this.viewed(ViewingConditions.DEFAULT);\n }\n viewed(viewingConditions) {\n const alpha = 0 === this.chroma || 0 === this.j ? 0 : this.chroma / Math.sqrt(this.j / 100), t = Math.pow(alpha / Math.pow(1.64 - Math.pow(.29, viewingConditions.n), .73), 1 / .9), hRad = this.hue * Math.PI / 180, eHue = .25 * (Math.cos(hRad + 2) + 3.8), ac = viewingConditions.aw * Math.pow(this.j / 100, 1 / viewingConditions.c / viewingConditions.z), p1 = eHue * (5e4 / 13) * viewingConditions.nc * viewingConditions.ncb, p2 = ac / viewingConditions.nbb, hSin = Math.sin(hRad), hCos = Math.cos(hRad), gamma = 23 * (p2 + .305) * t / (23 * p1 + 11 * t * hCos + 108 * t * hSin), a = gamma * hCos, b = gamma * hSin, rA = (460 * p2 + 451 * a + 288 * b) / 1403, gA = (460 * p2 - 891 * a - 261 * b) / 1403, bA = (460 * p2 - 220 * a - 6300 * b) / 1403, rCBase = Math.max(0, 27.13 * Math.abs(rA) / (400 - Math.abs(rA))), rC = signum(rA) * (100 / viewingConditions.fl) * Math.pow(rCBase, 1 / .42), gCBase = Math.max(0, 27.13 * Math.abs(gA) / (400 - Math.abs(gA))), gC = signum(gA) * (100 / viewingConditions.fl) * Math.pow(gCBase, 1 / .42), bCBase = Math.max(0, 27.13 * Math.abs(bA) / (400 - Math.abs(bA))), bC = signum(bA) * (100 / viewingConditions.fl) * Math.pow(bCBase, 1 / .42), rF = rC / viewingConditions.rgbD[0], gF = gC / viewingConditions.rgbD[1], bF = bC / viewingConditions.rgbD[2];\n return argbFromXyz(1.86206786 * rF - 1.01125463 * gF + .14918677 * bF, .38752654 * rF + .62144744 * gF - .00897398 * bF, -.0158415 * rF - .03412294 * gF + 1.04996444 * bF);\n }\n}\n\nclass HctSolver {\n static sanitizeRadians(angle) {\n return (angle + 8 * Math.PI) % (2 * Math.PI);\n }\n static trueDelinearized(rgbComponent) {\n const normalized = rgbComponent / 100;\n let delinearized = 0;\n return delinearized = normalized <= .0031308 ? 12.92 * normalized : 1.055 * Math.pow(normalized, 1 / 2.4) - .055, \n 255 * delinearized;\n }\n static chromaticAdaptation(component) {\n const af = Math.pow(Math.abs(component), .42);\n return 400 * signum(component) * af / (af + 27.13);\n }\n static hueOf(linrgb) {\n const scaledDiscount = matrixMultiply(linrgb, HctSolver.SCALED_DISCOUNT_FROM_LINRGB), rA = HctSolver.chromaticAdaptation(scaledDiscount[0]), gA = HctSolver.chromaticAdaptation(scaledDiscount[1]), bA = HctSolver.chromaticAdaptation(scaledDiscount[2]), a = (11 * rA + -12 * gA + bA) / 11, b = (rA + gA - 2 * bA) / 9;\n return Math.atan2(b, a);\n }\n static areInCyclicOrder(a, b, c) {\n return HctSolver.sanitizeRadians(b - a) < HctSolver.sanitizeRadians(c - a);\n }\n static intercept(source, mid, target) {\n return (mid - source) / (target - source);\n }\n static lerpPoint(source, t, target) {\n return [ source[0] + (target[0] - source[0]) * t, source[1] + (target[1] - source[1]) * t, source[2] + (target[2] - source[2]) * t ];\n }\n static setCoordinate(source, coordinate, target, axis) {\n const t = HctSolver.intercept(source[axis], coordinate, target[axis]);\n return HctSolver.lerpPoint(source, t, target);\n }\n static isBounded(x) {\n return 0 <= x && x <= 100;\n }\n static nthVertex(y, n) {\n const kR = HctSolver.Y_FROM_LINRGB[0], kG = HctSolver.Y_FROM_LINRGB[1], kB = HctSolver.Y_FROM_LINRGB[2], coordA = n % 4 <= 1 ? 0 : 100, coordB = n % 2 == 0 ? 0 : 100;\n if (n < 4) {\n const g = coordA, b = coordB, r = (y - g * kG - b * kB) / kR;\n return HctSolver.isBounded(r) ? [ r, g, b ] : [ -1, -1, -1 ];\n }\n if (n < 8) {\n const b = coordA, r = coordB, g = (y - r * kR - b * kB) / kG;\n return HctSolver.isBounded(g) ? [ r, g, b ] : [ -1, -1, -1 ];\n }\n {\n const r = coordA, g = coordB, b = (y - r * kR - g * kG) / kB;\n return HctSolver.isBounded(b) ? [ r, g, b ] : [ -1, -1, -1 ];\n }\n }\n static bisectToSegment(y, targetHue) {\n let left = [ -1, -1, -1 ], right = left, leftHue = 0, rightHue = 0, initialized = !1, uncut = !0;\n for (let n = 0; n < 12; n++) {\n const mid = HctSolver.nthVertex(y, n);\n if (mid[0] < 0) continue;\n const midHue = HctSolver.hueOf(mid);\n initialized ? (uncut || HctSolver.areInCyclicOrder(leftHue, midHue, rightHue)) && (uncut = !1, \n HctSolver.areInCyclicOrder(leftHue, targetHue, midHue) ? (right = mid, rightHue = midHue) : (left = mid, \n leftHue = midHue)) : (left = mid, right = mid, leftHue = midHue, rightHue = midHue, \n initialized = !0);\n }\n return [ left, right ];\n }\n static midpoint(a, b) {\n return [ (a[0] + b[0]) / 2, (a[1] + b[1]) / 2, (a[2] + b[2]) / 2 ];\n }\n static criticalPlaneBelow(x) {\n return Math.floor(x - .5);\n }\n static criticalPlaneAbove(x) {\n return Math.ceil(x - .5);\n }\n static bisectToLimit(y, targetHue) {\n const segment = HctSolver.bisectToSegment(y, targetHue);\n let left = segment[0], leftHue = HctSolver.hueOf(left), right = segment[1];\n for (let axis = 0; axis < 3; axis++) if (left[axis] !== right[axis]) {\n let lPlane = -1, rPlane = 255;\n left[axis] < right[axis] ? (lPlane = HctSolver.criticalPlaneBelow(HctSolver.trueDelinearized(left[axis])), \n rPlane = HctSolver.criticalPlaneAbove(HctSolver.trueDelinearized(right[axis]))) : (lPlane = HctSolver.criticalPlaneAbove(HctSolver.trueDelinearized(left[axis])), \n rPlane = HctSolver.criticalPlaneBelow(HctSolver.trueDelinearized(right[axis])));\n for (let i = 0; i < 8 && !(Math.abs(rPlane - lPlane) <= 1); i++) {\n const mPlane = Math.floor((lPlane + rPlane) / 2), midPlaneCoordinate = HctSolver.CRITICAL_PLANES[mPlane], mid = HctSolver.setCoordinate(left, midPlaneCoordinate, right, axis), midHue = HctSolver.hueOf(mid);\n HctSolver.areInCyclicOrder(leftHue, targetHue, midHue) ? (right = mid, rPlane = mPlane) : (left = mid, \n leftHue = midHue, lPlane = mPlane);\n }\n }\n return HctSolver.midpoint(left, right);\n }\n static inverseChromaticAdaptation(adapted) {\n const adaptedAbs = Math.abs(adapted), base = Math.max(0, 27.13 * adaptedAbs / (400 - adaptedAbs));\n return signum(adapted) * Math.pow(base, 1 / .42);\n }\n static findResultByJ(hueRadians, chroma, y) {\n let j = 11 * Math.sqrt(y);\n const viewingConditions = ViewingConditions.DEFAULT, tInnerCoeff = 1 / Math.pow(1.64 - Math.pow(.29, viewingConditions.n), .73), p1 = .25 * (Math.cos(hueRadians + 2) + 3.8) * (5e4 / 13) * viewingConditions.nc * viewingConditions.ncb, hSin = Math.sin(hueRadians), hCos = Math.cos(hueRadians);\n for (let iterationRound = 0; iterationRound < 5; iterationRound++) {\n const jNormalized = j / 100, alpha = 0 === chroma || 0 === j ? 0 : chroma / Math.sqrt(jNormalized), t = Math.pow(alpha * tInnerCoeff, 1 / .9), p2 = viewingConditions.aw * Math.pow(jNormalized, 1 / viewingConditions.c / viewingConditions.z) / viewingConditions.nbb, gamma = 23 * (p2 + .305) * t / (23 * p1 + 11 * t * hCos + 108 * t * hSin), a = gamma * hCos, b = gamma * hSin, rA = (460 * p2 + 451 * a + 288 * b) / 1403, gA = (460 * p2 - 891 * a - 261 * b) / 1403, bA = (460 * p2 - 220 * a - 6300 * b) / 1403, linrgb = matrixMultiply([ HctSolver.inverseChromaticAdaptation(rA), HctSolver.inverseChromaticAdaptation(gA), HctSolver.inverseChromaticAdaptation(bA) ], HctSolver.LINRGB_FROM_SCALED_DISCOUNT);\n if (linrgb[0] < 0 || linrgb[1] < 0 || linrgb[2] < 0) return 0;\n const kR = HctSolver.Y_FROM_LINRGB[0], kG = HctSolver.Y_FROM_LINRGB[1], kB = HctSolver.Y_FROM_LINRGB[2], fnj = kR * linrgb[0] + kG * linrgb[1] + kB * linrgb[2];\n if (fnj <= 0) return 0;\n if (4 === iterationRound || Math.abs(fnj - y) < .002) return linrgb[0] > 100.01 || linrgb[1] > 100.01 || linrgb[2] > 100.01 ? 0 : argbFromLinrgb(linrgb);\n j -= (fnj - y) * j / (2 * fnj);\n }\n return 0;\n }\n static solveToInt(hueDegrees, chroma, lstar) {\n if (chroma < 1e-4 || lstar < 1e-4 || lstar > 99.9999) return argbFromLstar(lstar);\n const hueRadians = (hueDegrees = sanitizeDegreesDouble(hueDegrees)) / 180 * Math.PI, y = yFromLstar(lstar), exactAnswer = HctSolver.findResultByJ(hueRadians, chroma, y);\n if (0 !== exactAnswer) return exactAnswer;\n return argbFromLinrgb(HctSolver.bisectToLimit(y, hueRadians));\n }\n static solveToCam(hueDegrees, chroma, lstar) {\n return Cam16.fromInt(HctSolver.solveToInt(hueDegrees, chroma, lstar));\n }\n}\n\nHctSolver.SCALED_DISCOUNT_FROM_LINRGB = [ [ .001200833568784504, .002389694492170889, .0002795742885861124 ], [ .0005891086651375999, .0029785502573438758, .0003270666104008398 ], [ .00010146692491640572, .0005364214359186694, .0032979401770712076 ] ], \nHctSolver.LINRGB_FROM_SCALED_DISCOUNT = [ [ 1373.2198709594231, -1100.4251190754821, -7.278681089101213 ], [ -271.815969077903, 559.6580465940733, -32.46047482791194 ], [ 1.9622899599665666, -57.173814538844006, 308.7233197812385 ] ], \nHctSolver.Y_FROM_LINRGB = [ .2126, .7152, .0722 ], HctSolver.CRITICAL_PLANES = [ .015176349177441876, .045529047532325624, .07588174588720938, .10623444424209313, .13658714259697685, .16693984095186062, .19729253930674434, .2276452376616281, .2579979360165119, .28835063437139563, .3188300904430532, .350925934958123, .3848314933096426, .42057480301049466, .458183274052838, .4976837250274023, .5391024159806381, .5824650784040898, .6277969426914107, .6751227633498623, .7244668422128921, .775853049866786, .829304845476233, .8848452951698498, .942497089126609, 1.0022825574869039, 1.0642236851973577, 1.1283421258858297, 1.1946592148522128, 1.2631959812511864, 1.3339731595349034, 1.407011200216447, 1.4823302800086415, 1.5599503113873272, 1.6398909516233677, 1.7221716113234105, 1.8068114625156377, 1.8938294463134073, 1.9832442801866852, 2.075074464868551, 2.1693382909216234, 2.2660538449872063, 2.36523901573795, 2.4669114995532007, 2.5710888059345764, 2.6777882626779785, 2.7870270208169257, 2.898822059350997, 3.0131901897720907, 3.1301480604002863, 3.2497121605402226, 3.3718988244681087, 3.4967242352587946, 3.624204428461639, 3.754355295633311, 3.887192587735158, 4.022731918402185, 4.160988767090289, 4.301978482107941, 4.445716283538092, 4.592217266055746, 4.741496401646282, 4.893568542229298, 5.048448422192488, 5.20615066083972, 5.3666897647573375, 5.5300801301023865, 5.696336044816294, 5.865471690767354, 6.037501145825082, 6.212438385869475, 6.390297286737924, 6.571091626112461, 6.7548350853498045, 6.941541251256611, 7.131223617812143, 7.323895587840543, 7.5195704746346665, 7.7182615035334345, 7.919981813454504, 8.124744458384042, 8.332562408825165, 8.543448553206703, 8.757415699253682, 8.974476575321063, 9.194643831691977, 9.417930041841839, 9.644347703669503, 9.873909240696694, 10.106627003236781, 10.342513269534024, 10.58158024687427, 10.8238400726681, 11.069304815507364, 11.317986476196008, 11.569896988756009, 11.825048221409341, 12.083451977536606, 12.345119996613247, 12.610063955123938, 12.878295467455942, 13.149826086772048, 13.42466730586372, 13.702830557985108, 13.984327217668513, 14.269168601521828, 14.55736596900856, 14.848930523210871, 15.143873411576273, 15.44220572664832, 15.743938506781891, 16.04908273684337, 16.35764934889634, 16.66964922287304, 16.985093187232053, 17.30399201960269, 17.62635644741625, 17.95219714852476, 18.281524751807332, 18.614349837764564, 18.95068293910138, 19.290534541298456, 19.633915083172692, 19.98083495742689, 20.331304511189067, 20.685334046541502, 21.042933821039977, 21.404114048223256, 21.76888489811322, 22.137256497705877, 22.50923893145328, 22.884842241736916, 23.264076429332462, 23.6469514538663, 24.033477234264016, 24.42366364919083, 24.817520537484558, 25.21505769858089, 25.61628489293138, 26.021211842414342, 26.429848230738664, 26.842203703840827, 27.258287870275353, 27.678110301598522, 28.10168053274597, 28.529008062403893, 28.96010235337422, 29.39497283293396, 29.83362889318845, 30.276079891419332, 30.722335150426627, 31.172403958865512, 31.62629557157785, 32.08401920991837, 32.54558406207592, 33.010999283389665, 33.4802739966603, 33.953417292456834, 34.430438229418264, 34.911345834551085, 35.39614910352207, 35.88485700094671, 36.37747846067349, 36.87402238606382, 37.37449765026789, 37.87891309649659, 38.38727753828926, 38.89959975977785, 39.41588851594697, 39.93615253289054, 40.460400508064545, 40.98864111053629, 41.520882981230194, 42.05713473317016, 42.597404951718396, 43.141702194811224, 43.6900349931913, 44.24241185063697, 44.798841244188324, 45.35933162437017, 45.92389141541209, 46.49252901546552, 47.065252796817916, 47.64207110610409, 48.22299226451468, 48.808024568002054, 49.3971762874833, 49.9904556690408, 50.587870934119984, 51.189430279724725, 51.79514187861014, 52.40501387947288, 53.0190544071392, 53.637271562750364, 54.259673423945976, 54.88626804504493, 55.517063457223934, 56.15206766869424, 56.79128866487574, 57.43473440856916, 58.08241284012621, 58.734331877617365, 59.39049941699807, 60.05092333227251, 60.715611475655585, 61.38457167773311, 62.057811747619894, 62.7353394731159, 63.417162620860914, 64.10328893648692, 64.79372614476921, 65.48848194977529, 66.18756403501224, 66.89098006357258, 67.59873767827808, 68.31084450182222, 69.02730813691093, 69.74813616640164, 70.47333615344107, 71.20291564160104, 71.93688215501312, 72.67524319850172, 73.41800625771542, 74.16517879925733, 74.9167682708136, 75.67278210128072, 76.43322770089146, 77.1981124613393, 77.96744375590167, 78.74122893956174, 79.51947534912904, 80.30219030335869, 81.08938110306934, 81.88105503125999, 82.67721935322541, 83.4778813166706, 84.28304815182372, 85.09272707154808, 85.90692527145302, 86.72564993000343, 87.54890820862819, 88.3767072518277, 89.2090541872801, 90.04595612594655, 90.88742016217518, 91.73345337380438, 92.58406282226491, 93.43925555268066, 94.29903859396902, 95.16341895893969, 96.03240364439274, 96.9059996312159, 97.78421388448044, 98.6670533535366, 99.55452497210776 ];\n\nclass Hct {\n constructor(argb) {\n this.argb = argb;\n const cam = Cam16.fromInt(argb);\n this.internalHue = cam.hue, this.internalChroma = cam.chroma, this.internalTone = lstarFromArgb(argb), \n this.argb = argb;\n }\n static from(hue, chroma, tone) {\n return new Hct(HctSolver.solveToInt(hue, chroma, tone));\n }\n static fromInt(argb) {\n return new Hct(argb);\n }\n toInt() {\n return this.argb;\n }\n get hue() {\n return this.internalHue;\n }\n set hue(newHue) {\n this.setInternalState(HctSolver.solveToInt(newHue, this.internalChroma, this.internalTone));\n }\n get chroma() {\n return this.internalChroma;\n }\n set chroma(newChroma) {\n this.setInternalState(HctSolver.solveToInt(this.internalHue, newChroma, this.internalTone));\n }\n get tone() {\n return this.internalTone;\n }\n set tone(newTone) {\n this.setInternalState(HctSolver.solveToInt(this.internalHue, this.internalChroma, newTone));\n }\n setInternalState(argb) {\n const cam = Cam16.fromInt(argb);\n this.internalHue = cam.hue, this.internalChroma = cam.chroma, this.internalTone = lstarFromArgb(argb), \n this.argb = argb;\n }\n}\n\nclass Blend {\n static harmonize(designColor, sourceColor) {\n const fromHct = Hct.fromInt(designColor), toHct = Hct.fromInt(sourceColor), differenceDegrees$1 = differenceDegrees(fromHct.hue, toHct.hue), rotationDegrees = Math.min(.5 * differenceDegrees$1, 15), outputHue = sanitizeDegreesDouble(fromHct.hue + rotationDegrees * rotationDirection(fromHct.hue, toHct.hue));\n return Hct.from(outputHue, fromHct.chroma, fromHct.tone).toInt();\n }\n static hctHue(from, to, amount) {\n const ucs = Blend.cam16Ucs(from, to, amount), ucsCam = Cam16.fromInt(ucs), fromCam = Cam16.fromInt(from);\n return Hct.from(ucsCam.hue, fromCam.chroma, lstarFromArgb(from)).toInt();\n }\n static cam16Ucs(from, to, amount) {\n const fromCam = Cam16.fromInt(from), toCam = Cam16.fromInt(to), fromJ = fromCam.jstar, fromA = fromCam.astar, fromB = fromCam.bstar, jstar = fromJ + (toCam.jstar - fromJ) * amount, astar = fromA + (toCam.astar - fromA) * amount, bstar = fromB + (toCam.bstar - fromB) * amount;\n return Cam16.fromUcs(jstar, astar, bstar).toInt();\n }\n}\n\nclass TonalPalette {\n constructor(hue, chroma) {\n this.hue = hue, this.chroma = chroma, this.cache = new Map;\n }\n static fromInt(argb) {\n const hct = Hct.fromInt(argb);\n return TonalPalette.fromHueAndChroma(hct.hue, hct.chroma);\n }\n static fromHueAndChroma(hue, chroma) {\n return new TonalPalette(hue, chroma);\n }\n tone(tone) {\n let argb = this.cache.get(tone);\n return void 0 === argb && (argb = Hct.from(this.hue, this.chroma, tone).toInt(), \n this.cache.set(tone, argb)), argb;\n }\n}\n\nclass CorePalette {\n constructor(argb, isContent) {\n const hct = Hct.fromInt(argb), hue = hct.hue, chroma = hct.chroma;\n isContent ? (this.a1 = TonalPalette.fromHueAndChroma(hue, chroma), this.a2 = TonalPalette.fromHueAndChroma(hue, chroma / 3), \n this.a3 = TonalPalette.fromHueAndChroma(hue + 60, chroma / 2), this.n1 = TonalPalette.fromHueAndChroma(hue, Math.min(chroma / 12, 4)), \n this.n2 = TonalPalette.fromHueAndChroma(hue, Math.min(chroma / 6, 8))) : (this.a1 = TonalPalette.fromHueAndChroma(hue, Math.max(48, chroma)), \n this.a2 = TonalPalette.fromHueAndChroma(hue, 16), this.a3 = TonalPalette.fromHueAndChroma(hue + 60, 24), \n this.n1 = TonalPalette.fromHueAndChroma(hue, 4), this.n2 = TonalPalette.fromHueAndChroma(hue, 8)), \n this.error = TonalPalette.fromHueAndChroma(25, 84);\n }\n static of(argb) {\n return new CorePalette(argb, !1);\n }\n static contentOf(argb) {\n return new CorePalette(argb, !0);\n }\n}\n\nclass Scheme {\n constructor(props) {\n this.props = props;\n }\n get primary() {\n return this.props.primary;\n }\n get onPrimary() {\n return this.props.onPrimary;\n }\n get primaryContainer() {\n return this.props.primaryContainer;\n }\n get onPrimaryContainer() {\n return this.props.onPrimaryContainer;\n }\n get secondary() {\n return this.props.secondary;\n }\n get onSecondary() {\n return this.props.onSecondary;\n }\n get secondaryContainer() {\n return this.props.secondaryContainer;\n }\n get onSecondaryContainer() {\n return this.props.onSecondaryContainer;\n }\n get tertiary() {\n return this.props.tertiary;\n }\n get onTertiary() {\n return this.props.onTertiary;\n }\n get tertiaryContainer() {\n return this.props.tertiaryContainer;\n }\n get onTertiaryContainer() {\n return this.props.onTertiaryContainer;\n }\n get error() {\n return this.props.error;\n }\n get onError() {\n return this.props.onError;\n }\n get errorContainer() {\n return this.props.errorContainer;\n }\n get onErrorContainer() {\n return this.props.onErrorContainer;\n }\n get background() {\n return this.props.background;\n }\n get onBackground() {\n return this.props.onBackground;\n }\n get surface() {\n return this.props.surface;\n }\n get onSurface() {\n return this.props.onSurface;\n }\n get surfaceVariant() {\n return this.props.surfaceVariant;\n }\n get onSurfaceVariant() {\n return this.props.onSurfaceVariant;\n }\n get outline() {\n return this.props.outline;\n }\n get outlineVariant() {\n return this.props.outlineVariant;\n }\n get shadow() {\n return this.props.shadow;\n }\n get scrim() {\n return this.props.scrim;\n }\n get inverseSurface() {\n return this.props.inverseSurface;\n }\n get inverseOnSurface() {\n return this.props.inverseOnSurface;\n }\n get inversePrimary() {\n return this.props.inversePrimary;\n }\n static light(argb) {\n return Scheme.lightFromCorePalette(CorePalette.of(argb));\n }\n static dark(argb) {\n return Scheme.darkFromCorePalette(CorePalette.of(argb));\n }\n static lightContent(argb) {\n return Scheme.lightFromCorePalette(CorePalette.contentOf(argb));\n }\n static darkContent(argb) {\n return Scheme.darkFromCorePalette(CorePalette.contentOf(argb));\n }\n static lightFromCorePalette(core) {\n return new Scheme({\n primary: core.a1.tone(40),\n onPrimary: core.a1.tone(100),\n primaryContainer: core.a1.tone(90),\n onPrimaryContainer: core.a1.tone(10),\n secondary: core.a2.tone(40),\n onSecondary: core.a2.tone(100),\n secondaryContainer: core.a2.tone(90),\n onSecondaryContainer: core.a2.tone(10),\n tertiary: core.a3.tone(40),\n onTertiary: core.a3.tone(100),\n tertiaryContainer: core.a3.tone(90),\n onTertiaryContainer: core.a3.tone(10),\n error: core.error.tone(40),\n onError: core.error.tone(100),\n errorContainer: core.error.tone(90),\n onErrorContainer: core.error.tone(10),\n background: core.n1.tone(99),\n onBackground: core.n1.tone(10),\n surface: core.n1.tone(99),\n onSurface: core.n1.tone(10),\n surfaceVariant: core.n2.tone(90),\n onSurfaceVariant: core.n2.tone(30),\n outline: core.n2.tone(50),\n outlineVariant: core.n2.tone(80),\n shadow: core.n1.tone(0),\n scrim: core.n1.tone(0),\n inverseSurface: core.n1.tone(20),\n inverseOnSurface: core.n1.tone(95),\n inversePrimary: core.a1.tone(80)\n });\n }\n static darkFromCorePalette(core) {\n return new Scheme({\n primary: core.a1.tone(80),\n onPrimary: core.a1.tone(20),\n primaryContainer: core.a1.tone(30),\n onPrimaryContainer: core.a1.tone(90),\n secondary: core.a2.tone(80),\n onSecondary: core.a2.tone(20),\n secondaryContainer: core.a2.tone(30),\n onSecondaryContainer: core.a2.tone(90),\n tertiary: core.a3.tone(80),\n onTertiary: core.a3.tone(20),\n tertiaryContainer: core.a3.tone(30),\n onTertiaryContainer: core.a3.tone(90),\n error: core.error.tone(80),\n onError: core.error.tone(20),\n errorContainer: core.error.tone(30),\n onErrorContainer: core.error.tone(80),\n background: core.n1.tone(10),\n onBackground: core.n1.tone(90),\n surface: core.n1.tone(10),\n onSurface: core.n1.tone(90),\n surfaceVariant: core.n2.tone(30),\n onSurfaceVariant: core.n2.tone(80),\n outline: core.n2.tone(60),\n outlineVariant: core.n2.tone(30),\n shadow: core.n1.tone(0),\n scrim: core.n1.tone(0),\n inverseSurface: core.n1.tone(90),\n inverseOnSurface: core.n1.tone(20),\n inversePrimary: core.a1.tone(40)\n });\n }\n toJSON() {\n return Object.assign({}, this.props);\n }\n}\n\nconst hexFromArgb = argb => {\n const r = redFromArgb(argb), g = greenFromArgb(argb), b = blueFromArgb(argb), outParts = [ r.toString(16), g.toString(16), b.toString(16) ];\n for (const [i, part] of outParts.entries()) 1 === part.length && (outParts[i] = \"0\" + part);\n return \"#\" + outParts.join(\"\");\n}, argbFromHex = hex => {\n const isThree = 3 === (hex = hex.replace(\"#\", \"\")).length, isSix = 6 === hex.length, isEight = 8 === hex.length;\n if (!isThree && !isSix && !isEight) throw new Error(\"unexpected hex \" + hex);\n let r = 0, g = 0, b = 0;\n return isThree ? (r = parseIntHex(hex.slice(0, 1).repeat(2)), g = parseIntHex(hex.slice(1, 2).repeat(2)), \n b = parseIntHex(hex.slice(2, 3).repeat(2))) : isSix ? (r = parseIntHex(hex.slice(0, 2)), \n g = parseIntHex(hex.slice(2, 4)), b = parseIntHex(hex.slice(4, 6))) : isEight && (r = parseIntHex(hex.slice(2, 4)), \n g = parseIntHex(hex.slice(4, 6)), b = parseIntHex(hex.slice(6, 8))), (255 << 24 | (255 & r) << 16 | (255 & g) << 8 | 255 & b) >>> 0;\n};\n\nfunction parseIntHex(value) {\n return parseInt(value, 16);\n}\n\nfunction themeFromSourceColor(source, customColors = []) {\n const palette = CorePalette.of(source);\n return {\n source: source,\n schemes: {\n light: Scheme.light(source),\n dark: Scheme.dark(source)\n },\n palettes: {\n primary: palette.a1,\n secondary: palette.a2,\n tertiary: palette.a3,\n neutral: palette.n1,\n neutralVariant: palette.n2,\n error: palette.error\n },\n customColors: customColors.map((c => customColor(source, c)))\n };\n}\n\nfunction customColor(source, color) {\n let value = color.value;\n const from = value, to = source;\n color.blend && (value = Blend.harmonize(from, to));\n const tones = CorePalette.of(value).a1;\n return {\n color: color,\n value: value,\n light: {\n color: tones.tone(40),\n onColor: tones.tone(100),\n colorContainer: tones.tone(90),\n onColorContainer: tones.tone(10)\n },\n dark: {\n color: tones.tone(80),\n onColor: tones.tone(20),\n colorContainer: tones.tone(30),\n onColorContainer: tones.tone(90)\n }\n };\n}\n\nexport { argbFromHex, hexFromArgb, themeFromSourceColor };","// eslint-disable-next-line\nimport { argbFromHex, hexFromArgb, themeFromSourceColor } from './material-color-utils.js';\n\n/* eslint-disable */\n// prettier-ignore\nfunction toRGBA(d) {\n const r = Math.round;\n const l = d.length;\n\tconst rgba = {};\n\tif (d.slice(0, 3).toLowerCase() === 'rgb') {\n\t\td = d.replace(' ', '').split(',');\n\t\trgba[0] = parseInt(d[0].slice(d[3].toLowerCase() === 'a' ? 5 : 4), 10);\n\t\trgba[1] = parseInt(d[1], 10);\n\t\trgba[2] = parseInt(d[2], 10);\n\t\trgba[3] = d[3] ? parseFloat(d[3]) : -1;\n\t} else {\n\t\tif (l < 6) d = parseInt(String(d[1]) + d[1] + d[2] + d[2] + d[3] + d[3] + (l > 4 ? String(d[4]) + d[4] : ''), 16);\n\t\telse d = parseInt(d.slice(1), 16);\n\t\trgba[0] = (d >> 16) & 255;\n\t\trgba[1] = (d >> 8) & 255;\n\t\trgba[2] = d & 255;\n\t\trgba[3] = l === 9 || l === 5 ? r((((d >> 24) & 255) / 255) * 10000) / 10000 : -1;\n\t}\n\treturn rgba;\n}\n\n// prettier-ignore\nfunction blend(from, to, p = 0.5) {\n const r = Math.round;\n from = from.trim();\n\tto = to.trim();\n\tconst b = p < 0;\n\tp = b ? p * -1 : p;\n\tconst f = toRGBA(from);\n\tconst t = toRGBA(to);\n\tif (to[0] === 'r') {\n\t\treturn 'rgb' + (to[3] === 'a' ? 'a(' : '(') +\n\t\t\tr(((t[0] - f[0]) * p) + f[0]) + ',' +\n\t\t\tr(((t[1] - f[1]) * p) + f[1]) + ',' +\n\t\t\tr(((t[2] - f[2]) * p) + f[2]) + (\n\t\t\t\tf[3] < 0 && t[3] < 0 ? '' : ',' + (\n\t\t\t\t\tf[3] > -1 && t[3] > -1\n\t\t\t\t\t\t? r((((t[3] - f[3]) * p) + f[3]) * 10000) / 10000\n\t\t\t\t\t\t: t[3] < 0 ? f[3] : t[3]\n\t\t\t\t)\n\t\t\t) + ')';\n\t}\n\n\treturn '#' + (0x100000000 + ((\n\t\tf[3] > -1 && t[3] > -1\n\t\t\t? r((((t[3] - f[3]) * p) + f[3]) * 255)\n\t\t\t: t[3] > -1 ? r(t[3] * 255) : f[3] > -1 ? r(f[3] * 255) : 255\n\t\t) * 0x1000000) +\n\t\t(r(((t[0] - f[0]) * p) + f[0]) * 0x10000) +\n\t\t(r(((t[1] - f[1]) * p) + f[1]) * 0x100) +\n\t\tr(((t[2] - f[2]) * p) + f[2])\n\t).toString(16).slice(f[3] > -1 || t[3] > -1 ? 1 : 3);\n}\n/* eslint-enable */\n\nexport const materialColors = (hexColor = '') => {\n const theme = themeFromSourceColor(argbFromHex(`#${hexColor.replace('#', '')}`));\n [0.05, 0.08, 0.11, 0.12, 0.14].forEach((amount, index) => {\n theme.schemes.light.props[`surface${index + 1}`] = argbFromHex(\n blend(\n hexFromArgb(theme.schemes.light.props.surface),\n hexFromArgb(theme.schemes.light.props.primary),\n amount,\n ),\n );\n theme.schemes.dark.props[`surface${index + 1}`] = argbFromHex(\n blend(\n hexFromArgb(theme.schemes.dark.props.surface),\n hexFromArgb(theme.schemes.dark.props.primary),\n amount,\n ),\n );\n });\n\n const name = (n) => {\n return n\n .split('')\n .map((char) =>\n char.toUpperCase() === char && char !== '-' && char !== '7'\n ? `-${char.toLowerCase()}`\n : char,\n )\n .join('');\n };\n\n const shouldSkip = (prop) => {\n const skip = ['tertiary', 'shadow', 'scrim', 'error', 'background'];\n return skip.filter((v) => prop.toLowerCase().includes(v)).length > 0;\n };\n\n const light = {};\n const dark = {};\n Object.keys(theme.schemes.light.props).forEach((prop) => {\n if (shouldSkip(prop)) return;\n light[name(`--f7-md-${prop}`)] = hexFromArgb(theme.schemes.light.props[prop]);\n });\n Object.keys(theme.schemes.dark.props).forEach((prop) => {\n if (shouldSkip(prop)) return;\n dark[name(`--f7-md-${prop}`)] = hexFromArgb(theme.schemes.dark.props[prop]);\n });\n\n return { light, dark };\n};\n","import { getWindow } from 'ssr-window';\nimport { materialColors } from './material-colors.js';\n\nlet uniqueNum = 0;\nexport function uniqueNumber() {\n uniqueNum += 1;\n return uniqueNum;\n}\nexport function id(mask = 'xxxxxxxxxx', map = '0123456789abcdef') {\n const length = map.length;\n return mask.replace(/x/g, () => map[Math.floor(Math.random() * length)]);\n}\nexport const mdPreloaderContent = `\n <span class=\"preloader-inner\">\n <svg viewBox=\"0 0 36 36\">\n <circle cx=\"18\" cy=\"18\" r=\"16\"></circle>\n </svg>\n </span>\n`.trim();\n\nexport const iosPreloaderContent = `\n <span class=\"preloader-inner\">\n ${[0, 1, 2, 3, 4, 5, 6, 7].map(() => '<span class=\"preloader-inner-line\"></span>').join('')}\n </span>\n`.trim();\n\nexport function eventNameToColonCase(eventName) {\n let hasColon;\n return eventName\n .split('')\n .map((char, index) => {\n if (char.match(/[A-Z]/) && index !== 0 && !hasColon) {\n hasColon = true;\n return `:${char.toLowerCase()}`;\n }\n return char.toLowerCase();\n })\n .join('');\n}\nexport function deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach((key) => {\n try {\n object[key] = null;\n } catch (e) {\n // no setter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nexport function requestAnimationFrame(callback) {\n const window = getWindow();\n return window.requestAnimationFrame(callback);\n}\nexport function cancelAnimationFrame(frameId) {\n const window = getWindow();\n return window.cancelAnimationFrame(frameId);\n}\nexport function nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nexport function nextFrame(callback) {\n return requestAnimationFrame(() => {\n requestAnimationFrame(callback);\n });\n}\nexport function now() {\n return Date.now();\n}\n\nexport function parseUrlQuery(url) {\n const window = getWindow();\n const query = {};\n let urlToParse = url || window.location.href;\n let i;\n let params;\n let param;\n let length;\n if (typeof urlToParse === 'string' && urlToParse.length) {\n urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\\S*\\?/, '') : '';\n params = urlToParse.split('&').filter((paramsPart) => paramsPart !== '');\n length = params.length;\n\n for (i = 0; i < length; i += 1) {\n param = params[i].replace(/#\\S+/g, '').split('=');\n query[decodeURIComponent(param[0])] =\n typeof param[1] === 'undefined'\n ? undefined\n : decodeURIComponent(param.slice(1).join('=')) || '';\n }\n }\n return query;\n}\nexport function getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n\n const curStyle = window.getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform\n .split(', ')\n .map((a) => a.replace(',', '.'))\n .join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix =\n curStyle.MozTransform ||\n curStyle.OTransform ||\n curStyle.MsTransform ||\n curStyle.msTransform ||\n curStyle.transform ||\n curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nexport function serializeObject(obj, parents = []) {\n if (typeof obj === 'string') return obj;\n const resultArray = [];\n const separator = '&';\n let newParents;\n function varName(name) {\n if (parents.length > 0) {\n let parentParts = '';\n for (let j = 0; j < parents.length; j += 1) {\n if (j === 0) parentParts += parents[j];\n else parentParts += `[${encodeURIComponent(parents[j])}]`;\n }\n return `${parentParts}[${encodeURIComponent(name)}]`;\n }\n return encodeURIComponent(name);\n }\n function varValue(value) {\n return encodeURIComponent(value);\n }\n Object.keys(obj).forEach((prop) => {\n let toPush;\n if (Array.isArray(obj[prop])) {\n toPush = [];\n for (let i = 0; i < obj[prop].length; i += 1) {\n if (!Array.isArray(obj[prop][i]) && typeof obj[prop][i] === 'object') {\n newParents = parents.slice();\n newParents.push(prop);\n newParents.push(String(i));\n toPush.push(serializeObject(obj[prop][i], newParents));\n } else {\n toPush.push(`${varName(prop)}[]=${varValue(obj[prop][i])}`);\n }\n }\n if (toPush.length > 0) resultArray.push(toPush.join(separator));\n } else if (obj[prop] === null || obj[prop] === '') {\n resultArray.push(`${varName(prop)}=`);\n } else if (typeof obj[prop] === 'object') {\n // Object, convert to named array\n newParents = parents.slice();\n newParents.push(prop);\n toPush = serializeObject(obj[prop], newParents);\n if (toPush !== '') resultArray.push(toPush);\n } else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') {\n // Should be string or plain value\n resultArray.push(`${varName(prop)}=${varValue(obj[prop])}`);\n } else if (obj[prop] === '') resultArray.push(varName(prop));\n });\n return resultArray.join(separator);\n}\nexport function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;\n}\nexport function merge(...args) {\n const to = args[0];\n args.splice(0, 1);\n const from = args;\n\n for (let i = 0; i < from.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null) {\n const keysArray = Object.keys(Object(nextSource));\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexport function extend(...args) {\n let deep = true;\n let to;\n let from;\n if (typeof args[0] === 'boolean') {\n deep = args[0];\n to = args[1];\n args.splice(0, 2);\n from = args;\n } else {\n to = args[0];\n args.splice(0, 1);\n from = args;\n }\n for (let i = 0; i < from.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null) {\n const keysArray = Object.keys(Object(nextSource));\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (!deep) {\n to[nextKey] = nextSource[nextKey];\n } else if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n extend(to[nextKey], nextSource[nextKey]);\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n extend(to[nextKey], nextSource[nextKey]);\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nexport function colorHexToRgb(hex) {\n const h = hex.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i, (m, r, g, b) => r + r + g + g + b + b);\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(h);\n return result ? result.slice(1).map((n) => parseInt(n, 16)) : null;\n}\nexport function colorRgbToHex(r, g, b) {\n const result = [r, g, b]\n .map((n) => {\n const hex = n.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n })\n .join('');\n return `#${result}`;\n}\nexport function colorRgbToHsl(r, g, b) {\n r /= 255; // eslint-disable-line\n g /= 255; // eslint-disable-line\n b /= 255; // eslint-disable-line\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n let h;\n if (d === 0) h = 0;\n else if (max === r) h = ((g - b) / d) % 6;\n else if (max === g) h = (b - r) / d + 2;\n else if (max === b) h = (r - g) / d + 4;\n const l = (min + max) / 2;\n const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));\n if (h < 0) h = 360 / 60 + h;\n return [h * 60, s, l];\n}\nexport function colorHslToRgb(h, s, l) {\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const hp = h / 60;\n const x = c * (1 - Math.abs((hp % 2) - 1));\n let rgb1;\n if (Number.isNaN(h) || typeof h === 'undefined') {\n rgb1 = [0, 0, 0];\n } else if (hp <= 1) rgb1 = [c, x, 0];\n else if (hp <= 2) rgb1 = [x, c, 0];\n else if (hp <= 3) rgb1 = [0, c, x];\n else if (hp <= 4) rgb1 = [0, x, c];\n else if (hp <= 5) rgb1 = [x, 0, c];\n else if (hp <= 6) rgb1 = [c, 0, x];\n const m = l - c / 2;\n return rgb1.map((n) => Math.max(0, Math.min(255, Math.round(255 * (n + m)))));\n}\nexport function colorHsbToHsl(h, s, b) {\n const HSL = {\n h,\n s: 0,\n l: 0,\n };\n const HSB = { h, s, b };\n\n HSL.l = ((2 - HSB.s) * HSB.b) / 2;\n HSL.s = HSL.l && HSL.l < 1 ? (HSB.s * HSB.b) / (HSL.l < 0.5 ? HSL.l * 2 : 2 - HSL.l * 2) : HSL.s;\n\n return [HSL.h, HSL.s, HSL.l];\n}\nexport function colorHslToHsb(h, s, l) {\n const HSB = {\n h,\n s: 0,\n b: 0,\n };\n const HSL = { h, s, l };\n\n const t = HSL.s * (HSL.l < 0.5 ? HSL.l : 1 - HSL.l);\n HSB.b = HSL.l + t;\n HSB.s = HSL.l > 0 ? (2 * t) / HSB.b : HSB.s;\n\n return [HSB.h, HSB.s, HSB.b];\n}\n\nconst getShadeTintColors = (rgb) => {\n const hsl = colorRgbToHsl(...rgb);\n const hslShade = [hsl[0], hsl[1], Math.max(0, hsl[2] - 0.08)];\n const hslTint = [hsl[0], hsl[1], Math.max(0, hsl[2] + 0.08)];\n const shade = colorRgbToHex(...colorHslToRgb(...hslShade));\n const tint = colorRgbToHex(...colorHslToRgb(...hslTint));\n return { shade, tint };\n};\nexport function colorThemeCSSProperties(...args) {\n let hex;\n let rgb;\n if (args.length === 1) {\n hex = args[0];\n rgb = colorHexToRgb(hex);\n } else if (args.length === 3) {\n rgb = args;\n hex = colorRgbToHex(...rgb);\n }\n if (!rgb) return {};\n const { light, dark } = materialColors(hex);\n const shadeTintIos = getShadeTintColors(rgb);\n const shadeTintMdLight = getShadeTintColors(colorHexToRgb(light['--f7-md-primary']));\n const shadeTintMdDark = getShadeTintColors(colorHexToRgb(dark['--f7-md-primary']));\n Object.keys(light).forEach((key) => {\n if (key.includes('surface-')) {\n light[`${key}-rgb`] = colorHexToRgb(light[key]);\n }\n });\n Object.keys(dark).forEach((key) => {\n if (key.includes('surface-')) {\n dark[`${key}-rgb`] = colorHexToRgb(dark[key]);\n }\n });\n return {\n ios: {\n '--f7-theme-color': 'var(--f7-ios-primary)',\n '--f7-theme-color-rgb': 'var(--f7-ios-primary-rgb)',\n '--f7-theme-color-shade': 'var(--f7-ios-primary-shade)',\n '--f7-theme-color-tint': 'var(--f7-ios-primary-tint)',\n },\n md: {\n '--f7-theme-color': 'var(--f7-md-primary)',\n '--f7-theme-color-rgb': 'var(--f7-md-primary-rgb)',\n '--f7-theme-color-shade': 'var(--f7-md-primary-shade)',\n '--f7-theme-color-tint': 'var(--f7-md-primary-tint)',\n },\n light: {\n '--f7-ios-primary': hex,\n '--f7-ios-primary-shade': shadeTintIos.shade,\n '--f7-ios-primary-tint': shadeTintIos.tint,\n '--f7-ios-primary-rgb': rgb.join(', '),\n '--f7-md-primary-shade': shadeTintMdLight.shade,\n '--f7-md-primary-tint': shadeTintMdLight.tint,\n '--f7-md-primary-rgb': colorHexToRgb(light['--f7-md-primary']).join(', '),\n ...light,\n },\n dark: {\n '--f7-md-primary-shade': shadeTintMdDark.shade,\n '--f7-md-primary-tint': shadeTintMdDark.tint,\n '--f7-md-primary-rgb': colorHexToRgb(dark['--f7-md-primary']).join(', '),\n ...dark,\n },\n };\n}\n\nexport function bindMethods(instance, obj) {\n Object.keys(obj).forEach((key) => {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach((subKey) => {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n instance[key] = obj[key];\n });\n}\n\nexport function flattenArray(...args) {\n const arr = [];\n args.forEach((arg) => {\n if (Array.isArray(arg)) arr.push(...flattenArray(...arg));\n else arr.push(arg);\n });\n return arr;\n}\n\nexport function colorThemeCSSStyles(colors = {}) {\n const stringifyObject = (obj) => {\n let res = '';\n Object.keys(obj).forEach((key) => {\n res += `${key}:${obj[key]};`;\n });\n return res;\n };\n const colorVars = colorThemeCSSProperties(colors.primary);\n\n const primary = [\n `:root{`,\n stringifyObject(colorVars.light),\n `--swiper-theme-color:var(--f7-theme-color);`,\n ...Object.keys(colors).map((colorName) => `--f7-color-${colorName}: ${colors[colorName]};`),\n `}`,\n `.dark{`,\n stringifyObject(colorVars.dark),\n `}`,\n `.ios{`,\n stringifyObject(colorVars.ios),\n '}',\n `.md{`,\n stringifyObject(colorVars.md),\n '}',\n ].join('');\n\n const restVars = {};\n\n Object.keys(colors).forEach((colorName) => {\n const colorValue = colors[colorName];\n restVars[colorName] = colorThemeCSSProperties(colorValue);\n });\n\n // rest\n let rest = '';\n\n Object.keys(colors).forEach((colorName) => {\n const { light, dark, ios, md } = restVars[colorName];\n const whiteColorVars = `\n --f7-ios-primary: #ffffff;\n --f7-ios-primary-shade: #ebebeb;\n --f7-ios-primary-tint: #ffffff;\n --f7-ios-primary-rgb: 255, 255, 255;\n --f7-md-primary-shade: #eee;\n --f7-md-primary-tint: #fff;\n --f7-md-primary-rgb: 255, 255, 255;\n --f7-md-primary: #fff;\n --f7-md-on-primary: #000;\n --f7-md-primary-container: #fff;\n --f7-md-on-primary-container: #000;\n --f7-md-secondary: #fff;\n --f7-md-on-secondary: #000;\n --f7-md-secondary-container: #555;\n --f7-md-on-secondary-container: #fff;\n --f7-md-surface: #fff;\n --f7-md-on-surface: #000;\n --f7-md-surface-variant: #333;\n --f7-md-on-surface-variant: #fff;\n --f7-md-outline: #fff;\n --f7-md-outline-variant: #fff;\n --f7-md-inverse-surface: #000;\n --f7-md-inverse-on-surface: #fff;\n --f7-md-inverse-primary: #000;\n --f7-md-surface-1: #f8f8f8;\n --f7-md-surface-2: #f1f1f1;\n --f7-md-surface-3: #e7e7e7;\n --f7-md-surface-4: #e1e1e1;\n --f7-md-surface-5: #d7d7d7;\n --f7-md-surface-variant-rgb: 51, 51, 51;\n --f7-md-on-surface-variant-rgb: 255, 255, 255;\n --f7-md-surface-1-rgb: 248, 248, 248;\n --f7-md-surface-2-rgb: 241, 241, 241;\n --f7-md-surface-3-rgb: 231, 231, 231;\n --f7-md-surface-4-rgb: 225, 225, 225;\n --f7-md-surface-5-rgb: 215, 215, 215;\n `;\n const blackColorVars = `\n --f7-ios-primary: #000;\n --f7-ios-primary-shade: #000;\n --f7-ios-primary-tint: #232323;\n --f7-ios-primary-rgb: 0, 0, 0;\n --f7-md-primary-shade: #000;\n --f7-md-primary-tint: #232323;\n --f7-md-primary-rgb: 0, 0, 0;\n --f7-md-primary: #000;\n --f7-md-on-primary: #fff;\n --f7-md-primary-container: #000;\n --f7-md-on-primary-container: #fff;\n --f7-md-secondary: #000;\n --f7-md-on-secondary: #fff;\n --f7-md-secondary-container: #aaa;\n --f7-md-on-secondary-container: #000;\n --f7-md-surface: #000;\n --f7-md-on-surface: #fff;\n --f7-md-surface-variant: #ccc;\n --f7-md-on-surface-variant: #000;\n --f7-md-outline: #000;\n --f7-md-outline-variant: #000;\n --f7-md-inverse-surface: #fff;\n --f7-md-inverse-on-surface: #000;\n --f7-md-inverse-primary: #fff;\n --f7-md-surface-1: #070707;\n --f7-md-surface-2: #161616;\n --f7-md-surface-3: #232323;\n --f7-md-surface-4: #303030;\n --f7-md-surface-5: #373737;\n --f7-md-surface-variant-rgb: 204, 204, 204;\n --f7-md-on-surface-variant-rgb: 0, 0, 0;\n --f7-md-surface-1-rgb: 7, 7, 7;\n --f7-md-surface-2-rgb: 22, 22, 22;\n --f7-md-surface-3-rgb: 35, 35, 35;\n --f7-md-surface-4-rgb: 48, 48, 48;\n --f7-md-surface-5-rgb: 55, 55, 55;\n `;\n /* eslint-disable */\n const lightString =\n colorName === 'white'\n ? whiteColorVars\n : colorName === 'black'\n ? blackColorVars\n : stringifyObject(light);\n const darkString =\n colorName === 'white'\n ? whiteColorVars\n : colorName === 'black'\n ? blackColorVars\n : stringifyObject(dark);\n /* eslint-enable */\n rest += [\n `.color-${colorName} {`,\n lightString,\n `--swiper-theme-color: var(--f7-theme-color);`,\n `}`,\n `.color-${colorName}.dark, .color-${colorName} .dark, .dark .color-${colorName} {`,\n darkString,\n `--swiper-theme-color: var(--f7-theme-color);`,\n `}`,\n `.ios .color-${colorName}, .ios.color-${colorName} {`,\n stringifyObject(ios),\n `}`,\n `.md .color-${colorName}, .md.color-${colorName} {`,\n stringifyObject(md),\n `}`,\n\n // text color\n `.text-color-${colorName} {`,\n `--f7-theme-color-text-color: ${colors[colorName]};`,\n `}`,\n\n // bg color\n `.bg-color-${colorName} {`,\n `--f7-theme-color-bg-color: ${colors[colorName]};`,\n `}`,\n\n // border color\n `.border-color-${colorName} {`,\n `--f7-theme-color-border-color: ${colors[colorName]};`,\n `}`,\n\n // ripple color\n `.ripple-color-${colorName} {`,\n `--f7-theme-color-ripple-color: rgba(${light['--f7-ios-primary-rgb']}, 0.3);`,\n `}`,\n ].join('');\n });\n\n return `${primary}${rest}`;\n}\n","import { getWindow, getDocument } from 'ssr-window';\n\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n\n return {\n touch: !!(\n 'ontouchstart' in window ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)\n ),\n\n pointerEvents:\n !!window.PointerEvent &&\n 'maxTouchPoints' in window.navigator &&\n window.navigator.maxTouchPoints >= 0,\n\n passiveListener: (function checkPassiveListener() {\n let supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n },\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {\n // No support\n }\n return supportsPassive;\n })(),\n\n intersectionObserver: (function checkObserver() {\n return 'IntersectionObserver' in window;\n })(),\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nexport { getSupport };\n","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\n\nlet deviceCalculated;\n\nfunction calcDevice({ userAgent } = {}) {\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n\n const device = {\n ios: false,\n android: false,\n androidChrome: false,\n desktop: false,\n iphone: false,\n ipod: false,\n ipad: false,\n edge: false,\n ie: false,\n firefox: false,\n macos: false,\n windows: false,\n cordova: !!window.cordova,\n electron: false,\n capacitor: !!window.Capacitor,\n nwjs: false,\n };\n\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS|iPhone;\\sCPU\\sOS)\\s([\\d_]+)/);\n const ie = ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\n const edge = ua.indexOf('Edge/') >= 0;\n const firefox = ua.indexOf('Gecko/') >= 0 && ua.indexOf('Firefox/') >= 0;\n const windows = platform === 'Win32';\n const electron = ua.toLowerCase().indexOf('electron') >= 0;\n const nwjs =\n typeof nw !== 'undefined' &&\n typeof process !== 'undefined' &&\n typeof process.versions !== 'undefined' &&\n typeof process.versions.nw !== 'undefined';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = [\n '1024x1366',\n '1366x1024',\n '834x1194',\n '1194x834',\n '834x1112',\n '1112x834',\n '768x1024',\n '1024x768',\n '820x1180',\n '1180x820',\n '810x1080',\n '1080x810',\n ];\n if (\n !ipad &&\n macos &&\n support.touch &&\n iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0\n ) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n device.ie = ie;\n device.edge = edge;\n device.firefox = firefox;\n\n // Android\n if (android) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.ipod = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n\n // Webview\n device.webView =\n !!(\n (iphone || ipad || ipod) &&\n (ua.match(/.*AppleWebKit(?!.*Safari)/i) || window.navigator.standalone)\n ) ||\n (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches);\n device.webview = device.webView;\n device.standalone = device.webView;\n\n // Desktop\n device.desktop = !(device.ios || device.android) || electron || nwjs;\n if (device.desktop) {\n device.electron = electron;\n device.nwjs = nwjs;\n device.macos = macos;\n device.windows = windows;\n if (device.macos) {\n device.os = 'macos';\n }\n if (device.windows) {\n device.os = 'windows';\n }\n }\n\n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n\n // Color Scheme\n const DARK = '(prefers-color-scheme: dark)';\n const LIGHT = '(prefers-color-scheme: light)';\n device.prefersColorScheme = function prefersColorTheme() {\n let theme;\n if (window.matchMedia && window.matchMedia(LIGHT).matches) {\n theme = 'light';\n }\n if (window.matchMedia && window.matchMedia(DARK).matches) {\n theme = 'dark';\n }\n return theme;\n };\n\n // Export object\n return device;\n}\n\nfunction getDevice(overrides = {}, reset) {\n if (!deviceCalculated || reset) {\n deviceCalculated = calcDevice(overrides);\n }\n return deviceCalculated;\n}\n\nexport { getDevice };\n","class EventsClass {\n constructor(parents = []) {\n const self = this;\n self.eventsParents = parents;\n self.eventsListeners = {};\n }\n\n on(events, handler, priority) {\n const self = this;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach((event) => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n }\n\n once(events, handler, priority) {\n const self = this;\n if (typeof handler !== 'function') return self;\n function onceHandler(...args) {\n self.off(events, onceHandler);\n if (onceHandler.f7proxy) {\n delete onceHandler.f7proxy;\n }\n handler.apply(self, args);\n }\n onceHandler.f7proxy = handler;\n return self.on(events, onceHandler, priority);\n }\n\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach((event) => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (\n eventHandler === handler ||\n (eventHandler.f7proxy && eventHandler.f7proxy === handler)\n ) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n }\n\n emit(...args) {\n const self = this;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n let eventsParents;\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n eventsParents = self.eventsParents;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n eventsParents = args[0].local ? [] : args[0].parents || self.eventsParents;\n }\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n const localEvents = eventsArray.map((eventName) => eventName.replace('local::', ''));\n const parentEvents = eventsArray.filter((eventName) => eventName.indexOf('local::') < 0);\n\n localEvents.forEach((event) => {\n if (self.eventsListeners && self.eventsListeners[event]) {\n const handlers = [];\n self.eventsListeners[event].forEach((eventHandler) => {\n handlers.push(eventHandler);\n });\n handlers.forEach((eventHandler) => {\n eventHandler.apply(context, data);\n });\n }\n });\n if (eventsParents && eventsParents.length > 0) {\n eventsParents.forEach((eventsParent) => {\n eventsParent.emit(parentEvents, ...data);\n });\n }\n return self;\n }\n}\n\nexport default EventsClass;\n","import { extend, now } from './utils.js';\nimport EventsClass from './events-class.js';\n\nclass Framework7Class extends EventsClass {\n constructor(params = {}, parents = []) {\n super(parents);\n const self = this;\n self.params = params;\n\n if (self.params && self.params.on) {\n Object.keys(self.params.on).forEach((eventName) => {\n self.on(eventName, self.params.on[eventName]);\n });\n }\n }\n\n // eslint-disable-next-line\n useModuleParams(module, instanceParams) {\n if (module.params) {\n const originalParams = {};\n Object.keys(module.params).forEach((paramKey) => {\n if (typeof instanceParams[paramKey] === 'undefined') return;\n originalParams[paramKey] = extend({}, instanceParams[paramKey]);\n });\n extend(instanceParams, module.params);\n Object.keys(originalParams).forEach((paramKey) => {\n extend(instanceParams[paramKey], originalParams[paramKey]);\n });\n }\n }\n\n useModulesParams(instanceParams) {\n const instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach((moduleName) => {\n const module = instance.modules[moduleName];\n // Extend params\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n }\n\n useModule(moduleName = '', moduleParams = {}) {\n const instance = this;\n if (!instance.modules) return;\n const module = typeof moduleName === 'string' ? instance.modules[moduleName] : moduleName;\n if (!module) return;\n\n // Extend instance methods and props\n if (module.instance) {\n Object.keys(module.instance).forEach((modulePropName) => {\n const moduleProp = module.instance[modulePropName];\n if (typeof moduleProp === 'function') {\n instance[modulePropName] = moduleProp.bind(instance);\n } else {\n instance[modulePropName] = moduleProp;\n }\n });\n }\n // Add event listeners\n if (module.on && instance.on) {\n Object.keys(module.on).forEach((moduleEventName) => {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n }\n // Add vnode hooks\n if (module.vnode) {\n if (!instance.vnodeHooks) instance.vnodeHooks = {};\n Object.keys(module.vnode).forEach((vnodeId) => {\n Object.keys(module.vnode[vnodeId]).forEach((hookName) => {\n const handler = module.vnode[vnodeId][hookName];\n if (!instance.vnodeHooks[hookName]) instance.vnodeHooks[hookName] = {};\n if (!instance.vnodeHooks[hookName][vnodeId]) instance.vnodeHooks[hookName][vnodeId] = [];\n instance.vnodeHooks[hookName][vnodeId].push(handler.bind(instance));\n });\n });\n }\n // Module create callback\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n }\n\n useModules(modulesParams = {}) {\n const instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach((moduleName) => {\n const moduleParams = modulesParams[moduleName] || {};\n instance.useModule(moduleName, moduleParams);\n });\n }\n\n static set components(components) {\n const Class = this;\n if (!Class.use) return;\n Class.use(components);\n }\n\n static installModule(module, ...params) {\n const Class = this;\n if (!Class.prototype.modules) Class.prototype.modules = {};\n const name = module.name || `${Object.keys(Class.prototype.modules).length}_${now()}`;\n Class.prototype.modules[name] = module;\n // Prototype\n if (module.proto) {\n Object.keys(module.proto).forEach((key) => {\n Class.prototype[key] = module.proto[key];\n });\n }\n // Class\n if (module.static) {\n Object.keys(module.static).forEach((key) => {\n Class[key] = module.static[key];\n });\n }\n // Callback\n if (module.install) {\n module.install.apply(Class, params);\n }\n return Class;\n }\n\n static use(module, ...params) {\n const Class = this;\n if (Array.isArray(module)) {\n module.forEach((m) => Class.installModule(m));\n return Class;\n }\n return Class.installModule(module, ...params);\n }\n}\n\nexport default Framework7Class;\n","import $ from './dom7.js';\n\nexport default function ConstructorMethods(parameters = {}) {\n const { defaultSelector, constructor: Constructor, domProp, app, addMethods } = parameters;\n const methods = {\n create(...args) {\n if (app) return new Constructor(app, ...args);\n return new Constructor(...args);\n },\n get(el = defaultSelector) {\n if (el instanceof Constructor) return el;\n const $el = $(el);\n if ($el.length === 0) return undefined;\n return $el[0][domProp];\n },\n destroy(el) {\n const instance = methods.get(el);\n if (instance && instance.destroy) return instance.destroy();\n return undefined;\n },\n };\n if (addMethods && Array.isArray(addMethods)) {\n addMethods.forEach((methodName) => {\n methods[methodName] = (el = defaultSelector, ...args) => {\n const instance = methods.get(el);\n if (instance && instance[methodName]) return instance[methodName](...args);\n return undefined;\n };\n });\n }\n return methods;\n}\n","import $ from './dom7.js';\nimport { extend } from './utils.js';\nimport ConstructorMethods from './constructor-methods.js';\n\nexport default function ModalMethods(parameters = {}) {\n const { defaultSelector, constructor: Constructor, app } = parameters;\n const methods = extend(\n ConstructorMethods({\n defaultSelector,\n constructor: Constructor,\n app,\n domProp: 'f7Modal',\n }),\n {\n open(el, animate, targetEl) {\n let $el = $(el);\n if ($el.length > 1 && targetEl) {\n // check if same modal in other page\n const $targetPage = $(targetEl).parents('.page');\n if ($targetPage.length) {\n $el.each((modalEl) => {\n const $modalEl = $(modalEl);\n if ($modalEl.parents($targetPage)[0] === $targetPage[0]) {\n $el = $modalEl;\n }\n });\n }\n }\n if ($el.length > 1) {\n $el = $el.eq($el.length - 1);\n }\n if (!$el.length) return undefined;\n let instance = $el[0].f7Modal;\n if (!instance) {\n const params = $el.dataset();\n instance = new Constructor(app, { el: $el, ...params });\n }\n return instance.open(animate);\n },\n close(el = defaultSelector, animate, targetEl) {\n let $el = $(el);\n if (!$el.length) return undefined;\n if ($el.length > 1) {\n // check if close link (targetEl) in this modal\n let $parentEl;\n if (targetEl) {\n const $targetEl = $(targetEl);\n if ($targetEl.length) {\n $parentEl = $targetEl.parents($el);\n }\n }\n if ($parentEl && $parentEl.length > 0) {\n $el = $parentEl;\n } else {\n $el = $el.eq($el.length - 1);\n }\n }\n let instance = $el[0].f7Modal;\n if (!instance) {\n const params = $el.dataset();\n instance = new Constructor(app, { el: $el, ...params });\n }\n return instance.close(animate);\n },\n },\n );\n return methods;\n}\n","import { getWindow, getDocument } from 'ssr-window';\nimport { id } from '../../shared/utils.js';\nimport $ from '../../shared/dom7.js';\n\nconst fetchedModules = [];\nfunction loadModule(moduleToLoad) {\n const Framework7 = this;\n const window = getWindow();\n const document = getDocument();\n return new Promise((resolve, reject) => {\n const app = Framework7.instance;\n let modulePath;\n let moduleObj;\n let moduleFunc;\n if (!moduleToLoad) {\n reject(new Error('Framework7: Lazy module must be specified'));\n return;\n }\n\n function install(module) {\n Framework7.use(module);\n\n if (app) {\n app.useModuleParams(module, app.params);\n app.useModule(module);\n }\n }\n\n if (typeof moduleToLoad === 'string') {\n const matchNamePattern = moduleToLoad.match(/([a-z0-9-]*)/i);\n if (\n moduleToLoad.indexOf('.') < 0 &&\n matchNamePattern &&\n matchNamePattern[0].length === moduleToLoad.length\n ) {\n if (!app || (app && !app.params.lazyModulesPath)) {\n reject(\n new Error(\n 'Framework7: \"lazyModulesPath\" app parameter must be specified to fetch module by name',\n ),\n );\n return;\n }\n modulePath = `${app.params.lazyModulesPath}/${moduleToLoad}/${moduleToLoad}.lazy.js`;\n } else {\n modulePath = moduleToLoad;\n }\n } else if (typeof moduleToLoad === 'function') {\n moduleFunc = moduleToLoad;\n } else {\n // considering F7-Plugin object\n moduleObj = moduleToLoad;\n }\n\n if (moduleFunc) {\n const module = moduleFunc(Framework7, false);\n if (!module) {\n reject(\n new Error(\"Framework7: Can't find Framework7 component in specified component function\"),\n );\n return;\n }\n // Check if it was added\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolve();\n return;\n }\n // Install It\n install(module);\n\n resolve();\n }\n if (moduleObj) {\n const module = moduleObj;\n if (!module) {\n reject(new Error(\"Framework7: Can't find Framework7 component in specified component\"));\n return;\n }\n // Check if it was added\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolve();\n return;\n }\n // Install It\n install(module);\n\n resolve();\n }\n if (modulePath) {\n if (fetchedModules.indexOf(modulePath) >= 0) {\n resolve();\n return;\n }\n fetchedModules.push(modulePath);\n const scriptLoad = new Promise((resolveScript, rejectScript) => {\n fetch(modulePath)\n .then((res) => res.text())\n .then((scriptContent) => {\n const callbackId = id();\n const callbackLoadName = `f7_component_loader_callback_${callbackId}`;\n\n const scriptEl = document.createElement('script');\n scriptEl.innerHTML = `window.${callbackLoadName} = function (Framework7, Framework7AutoInstallComponent) {return ${scriptContent.trim()}}`;\n $('head').append(scriptEl);\n\n const componentLoader = window[callbackLoadName];\n delete window[callbackLoadName];\n $(scriptEl).remove();\n\n const module = componentLoader(Framework7, false);\n\n if (!module) {\n rejectScript(\n new Error(`Framework7: Can't find Framework7 component in ${modulePath} file`),\n );\n return;\n }\n\n // Check if it was added\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolveScript();\n return;\n }\n\n // Install It\n install(module);\n\n resolveScript();\n })\n .catch((err) => {\n rejectScript(err);\n });\n });\n const styleLoad = new Promise((resolveStyle) => {\n fetch(\n modulePath\n .replace('.lazy.js', app.rtl ? '.rtl.css' : '.css')\n .replace('.js', app.rtl ? '.rtl.css' : '.css'),\n )\n .then((res) => res.text())\n .then((styleContent) => {\n const styleEl = document.createElement('style');\n styleEl.innerHTML = styleContent;\n $('head').append(styleEl);\n\n resolveStyle();\n })\n .catch(() => {\n resolveStyle();\n });\n });\n\n Promise.all([scriptLoad, styleLoad])\n .then(() => {\n resolve();\n })\n .catch((err) => {\n reject(err);\n });\n }\n });\n}\n\nexport default loadModule;\n","/* eslint-disable prefer-rest-params */\nconst $jsx = (tag, props, ...args) => {\n const attrs = props || {};\n const children = args || [];\n\n const attrsString = Object.keys(attrs)\n .map((attr) => {\n if (attr[0] === '_') {\n if (attrs[attr]) return attr.replace('_', '');\n return '';\n }\n return `${attr}=\"${attrs[attr]}\"`;\n })\n .filter((attr) => !!attr)\n .join(' ');\n\n if (['path', 'img', 'circle', 'polygon', 'line', 'input'].indexOf(tag) >= 0) {\n return `<${tag} ${attrsString} />`.trim();\n }\n const childrenContent = children\n .filter((c) => !!c)\n .map((c) => (Array.isArray(c) ? c.join('') : c))\n .join('');\n return `<${tag} ${attrsString}>${childrenContent}</${tag}>`.trim();\n};\n\nexport default $jsx;\n","/* eslint-disable no-underscore-dangle */\n\nimport { getWindow, getDocument } from 'ssr-window';\nimport { extend, nextFrame } from '../../shared/utils.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport { getSupport } from '../../shared/get-support.js';\nimport Framework7Class from '../../shared/class.js';\nimport EventsClass from '../../shared/events-class.js';\nimport ConstructorMethods from '../../shared/constructor-methods.js';\nimport ModalMethods from '../../shared/modal-methods.js';\nimport $ from '../../shared/dom7.js';\nimport loadModule from './load-module.js';\nimport $jsx from '../../shared/$jsx.js';\n\nclass Framework7 extends Framework7Class {\n constructor(params = {}) {\n super(params);\n // eslint-disable-next-line\n if (Framework7.instance && typeof window !== 'undefined') {\n throw new Error(\"Framework7 is already initialized and can't be initialized more than once\");\n }\n const device = getDevice({ userAgent: params.userAgent || undefined });\n const support = getSupport();\n\n const passedParams = extend({}, params);\n\n // App Instance\n const app = this;\n\n app.device = device;\n app.support = support;\n\n const w = getWindow();\n const d = getDocument();\n\n Framework7.instance = app;\n\n // Default\n const defaults = {\n version: '1.0.0',\n id: 'io.framework7.myapp',\n el: 'body',\n theme: 'auto',\n language: w.navigator.language,\n routes: [],\n name: 'Framework7',\n lazyModulesPath: null,\n initOnDeviceReady: true,\n init: true,\n darkMode: false,\n iosTranslucentBars: true,\n iosTranslucentModals: true,\n component: undefined,\n componentUrl: undefined,\n userAgent: null,\n url: null,\n colors: {\n primary: '#007aff',\n red: '#ff3b30',\n green: '#4cd964',\n blue: '#2196f3',\n pink: '#ff2d55',\n yellow: '#ffcc00',\n orange: '#ff9500',\n purple: '#9c27b0',\n deeppurple: '#673ab7',\n lightblue: '#5ac8fa',\n teal: '#009688',\n lime: '#cddc39',\n deeporange: '#ff6b22',\n white: '#ffffff',\n black: '#000000',\n },\n };\n\n // Extend defaults with modules params\n app.useModulesParams(defaults);\n\n // Extend defaults with passed params\n app.params = extend(defaults, params);\n\n extend(app, {\n // App Id\n id: app.params.id,\n // App Name\n name: app.params.name,\n // App version\n version: app.params.version,\n // Routes\n routes: app.params.routes,\n // Lang\n language: app.params.language,\n\n // Theme\n theme: (function getTheme() {\n if (app.params.theme === 'auto') {\n if (device.ios) return 'ios';\n return 'md';\n }\n return app.params.theme;\n })(),\n\n // Initially passed parameters\n passedParams,\n online: w.navigator.onLine,\n colors: app.params.colors,\n darkMode: app.params.darkMode,\n });\n\n if (params.store) app.params.store = params.store;\n\n // Save Root\n if (app.$el && app.$el[0]) {\n app.$el[0].f7 = app;\n }\n\n // Install Modules\n app.useModules();\n\n // Init Store\n app.initStore();\n\n // Init\n if (app.params.init) {\n if (device.cordova && app.params.initOnDeviceReady) {\n $(d).on('deviceready', () => {\n app.init();\n });\n } else {\n app.init();\n }\n }\n\n // Return app instance\n return app;\n }\n\n setColorTheme(color) {\n if (!color) return;\n const app = this;\n app.colors.primary = color;\n app.setColors();\n }\n\n setColors() {\n const app = this;\n const document = getDocument();\n if (!app.colorsStyleEl) {\n app.colorsStyleEl = document.createElement('style');\n document.head.appendChild(app.colorsStyleEl);\n }\n\n app.colorsStyleEl.textContent = app.utils.colorThemeCSSStyles(app.colors);\n }\n\n mount(rootEl) {\n const app = this;\n const window = getWindow();\n const document = getDocument();\n const $rootEl = $(rootEl || app.params.el).eq(0);\n app.$el = $rootEl;\n if (app.$el && app.$el[0]) {\n app.el = app.$el[0];\n app.el.f7 = app;\n app.rtl = $rootEl.css('direction') === 'rtl';\n }\n\n // Auto Dark Mode\n const DARK = '(prefers-color-scheme: dark)';\n const LIGHT = '(prefers-color-scheme: light)';\n app.mq = {};\n if (window.matchMedia) {\n app.mq.dark = window.matchMedia(DARK);\n app.mq.light = window.matchMedia(LIGHT);\n }\n app.colorSchemeListener = function colorSchemeListener({ matches, media }) {\n if (!matches) {\n return;\n }\n const html = document.querySelector('html');\n if (media === DARK) {\n html.classList.add('dark');\n app.darkMode = true;\n app.emit('darkModeChange', true);\n } else if (media === LIGHT) {\n html.classList.remove('dark');\n app.darkMode = false;\n app.emit('darkModeChange', false);\n }\n };\n app.emit('mount');\n }\n\n initStore() {\n const app = this;\n if (typeof app.params.store !== 'undefined' && app.params.store.__store) {\n app.store = app.params.store;\n } else {\n app.store = app.createStore(app.params.store);\n }\n }\n\n enableAutoDarkMode() {\n const window = getWindow();\n const document = getDocument();\n if (!window.matchMedia) return;\n const app = this;\n const html = document.querySelector('html');\n if (app.mq.dark && app.mq.light) {\n app.mq.dark.addListener(app.colorSchemeListener);\n app.mq.light.addListener(app.colorSchemeListener);\n }\n if (app.mq.dark && app.mq.dark.matches) {\n html.classList.add('dark');\n app.darkMode = true;\n app.emit('darkModeChange', true);\n } else if (app.mq.light && app.mq.light.matches) {\n html.classList.remove('dark');\n app.darkMode = false;\n app.emit('darkModeChange', false);\n }\n }\n\n disableAutoDarkMode() {\n const window = getWindow();\n if (!window.matchMedia) return;\n const app = this;\n if (app.mq.dark) app.mq.dark.removeListener(app.colorSchemeListener);\n if (app.mq.light) app.mq.light.removeListener(app.colorSchemeListener);\n }\n\n setDarkMode(mode) {\n const app = this;\n if (mode === 'auto') {\n app.enableAutoDarkMode();\n } else {\n app.disableAutoDarkMode();\n $('html')[mode ? 'addClass' : 'removeClass']('dark');\n app.darkMode = mode;\n }\n }\n\n initAppComponent(callback) {\n const app = this;\n app.router.componentLoader(\n app.params.component,\n app.params.componentUrl,\n { componentOptions: { el: app.$el[0] } },\n (el) => {\n app.$el = $(el);\n app.$el[0].f7 = app;\n app.$elComponent = el.f7Component;\n app.el = app.$el[0];\n if (callback) callback();\n },\n () => {},\n );\n }\n\n init(rootEl) {\n const app = this;\n\n app.setColors();\n app.mount(rootEl);\n\n const init = () => {\n if (app.initialized) return;\n\n app.$el.addClass('framework7-initializing');\n\n // RTL attr\n if (app.rtl) {\n $('html').attr('dir', 'rtl');\n }\n\n // Auto Dark Mode\n app.setDarkMode(app.params.darkMode);\n\n // Watch for online/offline state\n const window = getWindow();\n window.addEventListener('offline', () => {\n app.online = false;\n app.emit('offline');\n app.emit('connection', false);\n });\n window.addEventListener('online', () => {\n app.online = true;\n app.emit('online');\n app.emit('connection', true);\n });\n\n // Root class\n app.$el.addClass('framework7-root');\n\n // Theme class\n $('html').removeClass('ios md').addClass(app.theme);\n\n // iOS Translucent\n const device = app.device;\n if (app.params.iosTranslucentBars && app.theme === 'ios' && device.ios) {\n $('html').addClass('ios-translucent-bars');\n }\n if (app.params.iosTranslucentModals && app.theme === 'ios' && device.ios) {\n $('html').addClass('ios-translucent-modals');\n }\n\n // Init class\n nextFrame(() => {\n app.$el.removeClass('framework7-initializing');\n });\n // Emit, init other modules\n app.initialized = true;\n app.emit('init');\n };\n if (app.params.component || app.params.componentUrl) {\n app.initAppComponent(() => {\n init();\n });\n } else {\n init();\n }\n return app;\n }\n\n // eslint-disable-next-line\n loadModule(...args) {\n return Framework7.loadModule(...args);\n }\n\n // eslint-disable-next-line\n loadModules(...args) {\n return Framework7.loadModules(...args);\n }\n\n getVnodeHooks(hook, id) {\n const app = this;\n if (!app.vnodeHooks || !app.vnodeHooks[hook]) return [];\n return app.vnodeHooks[hook][id] || [];\n }\n\n // eslint-disable-next-line\n get $() {\n return $;\n }\n\n static get Dom7() {\n return $;\n }\n\n static get $() {\n return $;\n }\n\n static get device() {\n return getDevice();\n }\n\n static get support() {\n return getSupport();\n }\n\n static get Class() {\n return Framework7Class;\n }\n\n static get Events() {\n return EventsClass;\n }\n}\n\nFramework7.$jsx = $jsx;\nFramework7.ModalMethods = ModalMethods;\nFramework7.ConstructorMethods = ConstructorMethods;\n\nFramework7.loadModule = loadModule;\nFramework7.loadModules = function loadModules(modules) {\n return Promise.all(modules.map((module) => Framework7.loadModule(module)));\n};\n\nexport default Framework7;\n","import { getDocument } from 'ssr-window';\nimport { getDevice } from '../../shared/get-device.js';\n\nexport default {\n name: 'device',\n static: {\n getDevice,\n },\n on: {\n init() {\n const document = getDocument();\n const device = getDevice();\n const classNames = [];\n const html = document.querySelector('html');\n const metaStatusbar = document.querySelector(\n 'meta[name=\"apple-mobile-web-app-status-bar-style\"]',\n );\n if (!html) return;\n if (\n device.standalone &&\n device.ios &&\n metaStatusbar &&\n metaStatusbar.content === 'black-translucent'\n ) {\n classNames.push('device-full-viewport');\n }\n\n // Pixel Ratio\n classNames.push(`device-pixel-ratio-${Math.floor(device.pixelRatio)}`);\n // OS classes\n if (device.os && !device.desktop) {\n classNames.push(`device-${device.os}`);\n } else if (device.desktop) {\n classNames.push('device-desktop');\n if (device.os) {\n classNames.push(`device-${device.os}`);\n }\n }\n if (device.cordova) {\n classNames.push('device-cordova');\n }\n if (device.capacitor) {\n classNames.push('device-capacitor');\n }\n\n // Add html classes\n classNames.forEach((className) => {\n html.classList.add(className);\n });\n },\n },\n};\n","import { getSupport } from '../../shared/get-support.js';\n\nexport default {\n name: 'support',\n static: {\n getSupport,\n },\n};\n","import * as utils from '../../shared/utils.js';\n\nexport default {\n name: 'utils',\n proto: {\n utils,\n },\n static: {\n utils,\n },\n};\n","import { getWindow, getDocument } from 'ssr-window';\nimport { getDevice } from '../../shared/get-device.js';\n\nexport default {\n name: 'resize',\n create() {\n const app = this;\n app.getSize = () => {\n if (!app.el) return { width: 0, height: 0, left: 0, top: 0 };\n const offset = app.$el.offset();\n const [width, height, left, top] = [\n app.el.offsetWidth,\n app.el.offsetHeight,\n offset.left,\n offset.top,\n ];\n app.width = width;\n app.height = height;\n app.left = left;\n app.top = top;\n return { width, height, left, top };\n };\n },\n on: {\n init() {\n const app = this;\n const window = getWindow();\n\n // Get Size\n app.getSize();\n\n // Emit resize\n window.addEventListener(\n 'resize',\n () => {\n app.emit('resize');\n },\n false,\n );\n\n // Emit orientationchange\n window.addEventListener('orientationchange', () => {\n app.emit('orientationchange');\n });\n },\n orientationchange() {\n const document = getDocument();\n const device = getDevice();\n // Fix iPad weird body scroll\n if (device.ipad) {\n document.body.scrollLeft = 0;\n setTimeout(() => {\n document.body.scrollLeft = 0;\n }, 0);\n }\n },\n resize() {\n const app = this;\n app.getSize();\n },\n },\n};\n","/* eslint-disable no-nested-ternary */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { getSupport } from '../../shared/get-support.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport { extend } from '../../shared/utils.js';\n\nfunction initTouch() {\n const app = this;\n const device = getDevice();\n const support = getSupport();\n const window = getWindow();\n const document = getDocument();\n const params = app.params.touch;\n const useRipple = params[`${app.theme}TouchRipple`];\n\n if (device.ios && device.webView) {\n // Strange hack required for iOS 8 webview to work on inputs\n window.addEventListener('touchstart', () => {});\n }\n\n let touchStartX;\n let touchStartY;\n let targetElement;\n let isMoved;\n let tapHoldFired;\n let tapHoldTimeout;\n let preventClick;\n\n let activableElement;\n let activeTimeout;\n\n let rippleWave;\n let rippleTarget;\n let rippleTimeout;\n\n function findActivableElement(el) {\n const target = $(el);\n const parents = target.parents(params.activeStateElements);\n if (target.closest('.no-active-state').length) {\n return null;\n }\n let activable;\n if (target.is(params.activeStateElements)) {\n activable = target;\n }\n if (parents.length > 0) {\n activable = activable ? activable.add(parents) : parents;\n }\n if (activable && activable.length > 1) {\n const newActivable = [];\n let preventPropagation;\n for (let i = 0; i < activable.length; i += 1) {\n if (!preventPropagation) {\n newActivable.push(activable[i]);\n if (\n activable.eq(i).hasClass('prevent-active-state-propagation') ||\n activable.eq(i).hasClass('no-active-state-propagation')\n ) {\n preventPropagation = true;\n }\n }\n }\n activable = $(newActivable);\n }\n return activable || target;\n }\n\n function isInsideScrollableView(el) {\n const pageContent = el.parents('.page-content');\n return pageContent.length > 0;\n }\n\n function addActive() {\n if (!activableElement) return;\n activableElement.addClass('active-state');\n }\n function removeActive() {\n if (!activableElement) return;\n activableElement.removeClass('active-state');\n activableElement = null;\n }\n\n // Ripple handlers\n function findRippleElement(el) {\n const rippleElements = params.touchRippleElements;\n const $el = $(el);\n if ($el.is(rippleElements)) {\n if ($el.hasClass('no-ripple')) {\n return false;\n }\n return $el;\n }\n if ($el.parents(rippleElements).length > 0) {\n const rippleParent = $el.parents(rippleElements).eq(0);\n if (rippleParent.hasClass('no-ripple')) {\n return false;\n }\n return rippleParent;\n }\n return false;\n }\n function createRipple($el, x, y) {\n if (!$el) return;\n rippleWave = app.touchRipple.create(app, $el, x, y);\n }\n\n function removeRipple() {\n if (!rippleWave) return;\n rippleWave.remove();\n rippleWave = undefined;\n rippleTarget = undefined;\n }\n function rippleTouchStart(el) {\n rippleTarget = findRippleElement(el);\n if (!rippleTarget || rippleTarget.length === 0) {\n rippleTarget = undefined;\n return;\n }\n const inScrollable = isInsideScrollableView(rippleTarget);\n\n if (!inScrollable) {\n removeRipple();\n createRipple(rippleTarget, touchStartX, touchStartY);\n } else {\n clearTimeout(rippleTimeout);\n rippleTimeout = setTimeout(() => {\n removeRipple();\n createRipple(rippleTarget, touchStartX, touchStartY);\n }, 80);\n }\n }\n function rippleTouchMove() {\n clearTimeout(rippleTimeout);\n removeRipple();\n }\n function rippleTouchEnd() {\n if (!rippleWave && rippleTarget && !isMoved) {\n clearTimeout(rippleTimeout);\n createRipple(rippleTarget, touchStartX, touchStartY);\n setTimeout(removeRipple, 0);\n } else {\n removeRipple();\n }\n }\n\n // Mouse Handlers\n function handleMouseDown(e) {\n const $activableEl = findActivableElement(e.target);\n if ($activableEl) {\n $activableEl.addClass('active-state');\n if ('which' in e && e.which === 3) {\n setTimeout(() => {\n $('.active-state').removeClass('active-state');\n }, 0);\n }\n }\n\n if (useRipple) {\n touchStartX = e.pageX;\n touchStartY = e.pageY;\n rippleTouchStart(e.target, e.pageX, e.pageY);\n }\n }\n function handleMouseMove() {\n if (!params.activeStateOnMouseMove) {\n $('.active-state').removeClass('active-state');\n }\n if (useRipple) {\n rippleTouchMove();\n }\n }\n function handleMouseUp() {\n $('.active-state').removeClass('active-state');\n if (useRipple) {\n rippleTouchEnd();\n }\n }\n\n function handleTouchCancel() {\n targetElement = null;\n\n // Remove Active State\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n if (params.activeState) {\n removeActive();\n }\n\n // Remove Ripple\n if (useRipple) {\n rippleTouchEnd();\n }\n }\n\n let isScrolling;\n let isSegmentedStrong = false;\n let segmentedStrongEl = null;\n\n const touchMoveActivableIos = '.dialog-button, .actions-button';\n let isTouchMoveActivable = false;\n let touchmoveActivableEl = null;\n\n function handleTouchStart(e) {\n isMoved = false;\n tapHoldFired = false;\n preventClick = false;\n isScrolling = undefined;\n if (e.targetTouches.length > 1) {\n if (activableElement) removeActive();\n return true;\n }\n if (e.touches.length > 1 && activableElement) {\n removeActive();\n }\n if (params.tapHold) {\n if (tapHoldTimeout) clearTimeout(tapHoldTimeout);\n tapHoldTimeout = setTimeout(() => {\n if (e && e.touches && e.touches.length > 1) return;\n tapHoldFired = true;\n e.preventDefault();\n preventClick = true;\n $(e.target).trigger('taphold', e);\n app.emit('taphold', e);\n }, params.tapHoldDelay);\n }\n targetElement = e.target;\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n isSegmentedStrong = e.target.closest(\n '.segmented-strong .button-active, .segmented-strong .tab-link-active',\n );\n isTouchMoveActivable = app.theme === 'ios' && e.target.closest(touchMoveActivableIos);\n if (isSegmentedStrong) {\n segmentedStrongEl = isSegmentedStrong.closest('.segmented-strong');\n }\n\n if (params.activeState) {\n activableElement = findActivableElement(targetElement);\n if (activableElement && !isInsideScrollableView(activableElement)) {\n addActive();\n } else if (activableElement) {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n if (useRipple) {\n rippleTouchStart(targetElement, touchStartX, touchStartY);\n }\n return true;\n }\n function handleTouchMove(e) {\n let touch;\n let distance;\n let shouldRemoveActive = true;\n\n if (e.type === 'touchmove') {\n touch = e.targetTouches[0];\n distance = params.touchClicksDistanceThreshold;\n }\n\n const touchCurrentX = e.targetTouches[0].pageX;\n const touchCurrentY = e.targetTouches[0].pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(\n isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX)\n );\n }\n\n if (isTouchMoveActivable || (!isScrolling && isSegmentedStrong && segmentedStrongEl)) {\n if (e.cancelable) e.preventDefault();\n }\n\n if (!isScrolling && isSegmentedStrong && segmentedStrongEl) {\n const elementFromPoint = document.elementFromPoint(\n e.targetTouches[0].clientX,\n e.targetTouches[0].clientY,\n );\n const buttonEl = elementFromPoint.closest(\n '.segmented-strong .button:not(.button-active):not(.tab-link-active)',\n );\n if (buttonEl && segmentedStrongEl.contains(buttonEl)) {\n $(buttonEl).trigger('click', 'f7Segmented');\n targetElement = buttonEl;\n }\n }\n\n if (distance && touch) {\n const pageX = touch.pageX;\n const pageY = touch.pageY;\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n isMoved = true;\n }\n } else {\n isMoved = true;\n }\n if (isMoved) {\n preventClick = true;\n // Keep active state on touchMove (for dialog and actions buttons)\n if (isTouchMoveActivable) {\n const elementFromPoint = document.elementFromPoint(\n e.targetTouches[0].clientX,\n e.targetTouches[0].clientY,\n );\n touchmoveActivableEl = elementFromPoint.closest(touchMoveActivableIos);\n if (\n touchmoveActivableEl &&\n activableElement &&\n activableElement[0] === touchmoveActivableEl\n ) {\n shouldRemoveActive = false;\n } else if (touchmoveActivableEl) {\n setTimeout(() => {\n activableElement = findActivableElement(touchmoveActivableEl);\n addActive();\n });\n }\n }\n if (params.tapHold) {\n clearTimeout(tapHoldTimeout);\n }\n if (params.activeState && shouldRemoveActive) {\n clearTimeout(activeTimeout);\n removeActive();\n }\n if (useRipple) {\n rippleTouchMove();\n }\n }\n }\n function handleTouchEnd(e) {\n isScrolling = undefined;\n isSegmentedStrong = false;\n segmentedStrongEl = null;\n isTouchMoveActivable = false;\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n if (touchmoveActivableEl) {\n $(touchmoveActivableEl).trigger('click', 'f7TouchMoveActivable');\n touchmoveActivableEl = null;\n }\n if (document.activeElement === e.target) {\n if (params.activeState) removeActive();\n if (useRipple) {\n rippleTouchEnd();\n }\n return true;\n }\n if (params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n if (useRipple) {\n rippleTouchEnd();\n }\n if ((params.tapHoldPreventClicks && tapHoldFired) || preventClick) {\n if (e.cancelable) e.preventDefault();\n preventClick = true;\n return false;\n }\n return true;\n }\n function handleClick(e) {\n const isOverswipe = e && e.detail && e.detail === 'f7Overswipe';\n const isSegmented = e && e.detail && e.detail === 'f7Segmented';\n // eslint-disable-next-line\n const isTouchMoveActivable = e && e.detail && e.detail === 'f7TouchMoveActivable';\n let localPreventClick = preventClick;\n if (targetElement && e.target !== targetElement) {\n if (isOverswipe || isSegmented || isTouchMoveActivable) {\n localPreventClick = false;\n } else {\n localPreventClick = true;\n }\n } else if (isTouchMoveActivable) {\n localPreventClick = false;\n }\n if (params.tapHold && params.tapHoldPreventClicks && tapHoldFired) {\n localPreventClick = true;\n }\n if (localPreventClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n e.preventDefault();\n }\n\n if (params.tapHold) {\n tapHoldTimeout = setTimeout(\n () => {\n tapHoldFired = false;\n },\n device.ios || device.androidChrome ? 100 : 400,\n );\n }\n preventClick = false;\n targetElement = null;\n\n return !localPreventClick;\n }\n\n function emitAppTouchEvent(name, e) {\n app.emit({\n events: name,\n data: [e],\n });\n }\n function appClick(e) {\n emitAppTouchEvent('click', e);\n }\n function appTouchStartActive(e) {\n emitAppTouchEvent('touchstart touchstart:active', e);\n }\n function appTouchMoveActive(e) {\n emitAppTouchEvent('touchmove touchmove:active', e);\n }\n function appTouchEndActive(e) {\n emitAppTouchEvent('touchend touchend:active', e);\n }\n function appTouchStartPassive(e) {\n emitAppTouchEvent('touchstart:passive', e);\n }\n function appTouchMovePassive(e) {\n emitAppTouchEvent('touchmove:passive', e);\n }\n function appTouchEndPassive(e) {\n emitAppTouchEvent('touchend:passive', e);\n }\n\n const passiveListener = support.passiveListener ? { passive: true } : false;\n const passiveListenerCapture = support.passiveListener ? { passive: true, capture: true } : true;\n const activeListener = support.passiveListener ? { passive: false } : false;\n const activeListenerCapture = support.passiveListener ? { passive: false, capture: true } : true;\n\n document.addEventListener('click', appClick, true);\n\n if (support.passiveListener) {\n document.addEventListener(app.touchEvents.start, appTouchStartActive, activeListenerCapture);\n document.addEventListener(app.touchEvents.move, appTouchMoveActive, activeListener);\n document.addEventListener(app.touchEvents.end, appTouchEndActive, activeListener);\n\n document.addEventListener(app.touchEvents.start, appTouchStartPassive, passiveListenerCapture);\n document.addEventListener(app.touchEvents.move, appTouchMovePassive, passiveListener);\n document.addEventListener(app.touchEvents.end, appTouchEndPassive, passiveListener);\n } else {\n document.addEventListener(\n app.touchEvents.start,\n (e) => {\n appTouchStartActive(e);\n appTouchStartPassive(e);\n },\n true,\n );\n document.addEventListener(\n app.touchEvents.move,\n (e) => {\n appTouchMoveActive(e);\n appTouchMovePassive(e);\n },\n false,\n );\n document.addEventListener(\n app.touchEvents.end,\n (e) => {\n appTouchEndActive(e);\n appTouchEndPassive(e);\n },\n false,\n );\n }\n\n if (support.touch) {\n app.on('click', handleClick);\n app.on('touchstart', handleTouchStart);\n app.on('touchmove', handleTouchMove);\n app.on('touchend', handleTouchEnd);\n document.addEventListener('touchcancel', handleTouchCancel, { passive: true });\n } else if (params.activeState) {\n app.on('touchstart', handleMouseDown);\n app.on('touchmove', handleMouseMove);\n app.on('touchend', handleMouseUp);\n document.addEventListener('pointercancel', handleMouseUp, { passive: true });\n }\n document.addEventListener('contextmenu', (e) => {\n if (\n params.disableContextMenu &&\n (device.ios ||\n device.android ||\n device.cordova ||\n (window.Capacitor && window.Capacitor.isNative))\n ) {\n e.preventDefault();\n }\n if (useRipple) {\n if (activableElement) removeActive();\n rippleTouchEnd();\n }\n });\n}\n\nexport default {\n name: 'touch',\n params: {\n touch: {\n // Clicks\n touchClicksDistanceThreshold: 5,\n // ContextMenu\n disableContextMenu: false,\n // Tap Hold\n tapHold: false,\n tapHoldDelay: 750,\n tapHoldPreventClicks: true,\n // Active State\n activeState: true,\n activeStateElements:\n 'a, button, label, span, .actions-button, .stepper-button, .stepper-button-plus, .stepper-button-minus, .card-expandable, .menu-item, .link, .item-link, .accordion-item-toggle',\n activeStateOnMouseMove: false,\n mdTouchRipple: true,\n iosTouchRipple: false,\n touchRippleElements:\n '.ripple, .link, .item-link, .list label.item-content, .list-button, .links-list a, .button, button, .input-clear-button, .dialog-button, .tab-link, .item-radio, .item-checkbox, .actions-button, .searchbar-disable-button, .fab a, .checkbox, .radio, .data-table .sortable-cell:not(.input-cell), .notification-close-button, .stepper-button, .stepper-button-minus, .stepper-button-plus, .menu-item-content, .list.accordion-list .accordion-item-toggle',\n touchRippleInsetElements:\n '.ripple-inset, .icon-only, .searchbar-disable-button, .input-clear-button, .notification-close-button, .md .navbar .link.back',\n },\n },\n create() {\n const app = this;\n const support = getSupport();\n extend(app, {\n touchEvents: {\n start: support.touch ? 'touchstart' : support.pointerEvents ? 'pointerdown' : 'mousedown',\n move: support.touch ? 'touchmove' : support.pointerEvents ? 'pointermove' : 'mousemove',\n end: support.touch ? 'touchend' : support.pointerEvents ? 'pointerup' : 'mouseup',\n },\n });\n },\n on: {\n init: initTouch,\n },\n};\n","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \" + i);\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \" + j);\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \" + j);\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \" + i);\n if (!pattern)\n throw new TypeError(\"Missing pattern at \" + i);\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\" + escapeString(options.delimiter || \"/#?\") + \"]+?\";\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \" + nextType + \" at \" + index + \", expected \" + type);\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n // tslint:disable-next-line\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\" + token.pattern + \")$\", reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not repeat, but got an array\");\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not be empty\");\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to be \" + typeOfMessage);\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n // tslint:disable-next-line\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n var index = 0;\n var execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\" + parts.join(\"|\") + \")\", flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d;\n var endsWith = \"[\" + escapeString(options.endsWith || \"\") + \"]|$\";\n var delimiter = \"[\" + escapeString(options.delimiter || \"/#?\") + \"]\";\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\" + prefix + \"((?:\" + token.pattern + \")(?:\" + suffix + prefix + \"(?:\" + token.pattern + \"))*)\" + suffix + \")\" + mod;\n }\n else {\n route += \"(?:\" + prefix + \"(\" + token.pattern + \")\" + suffix + \")\" + token.modifier;\n }\n }\n else {\n route += \"(\" + token.pattern + \")\" + token.modifier;\n }\n }\n else {\n route += \"(?:\" + prefix + suffix + \")\" + token.modifier;\n }\n }\n }\n if (end) {\n if (!strict)\n route += delimiter + \"?\";\n route += !options.endsWith ? \"$\" : \"(?=\" + endsWith + \")\";\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiter.indexOf(endToken[endToken.length - 1]) > -1\n : // tslint:disable-next-line\n endToken === undefined;\n if (!strict) {\n route += \"(?:\" + delimiter + \"(?=\" + endsWith + \"))?\";\n }\n if (!isEndDelimited) {\n route += \"(?=\" + delimiter + \"|\" + endsWith + \")\";\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map","import { getWindow, getDocument } from 'ssr-window';\nimport $ from './dom7.js';\nimport { extend } from './utils.js';\n\nconst History = {\n queue: [],\n clearQueue() {\n if (History.queue.length === 0) return;\n const currentQueue = History.queue.shift();\n currentQueue();\n },\n routerQueue: [],\n clearRouterQueue() {\n if (History.routerQueue.length === 0) return;\n const currentQueue = History.routerQueue.pop();\n const { router, stateUrl, action } = currentQueue;\n\n let animate = router.params.animate;\n if (router.params.browserHistoryAnimate === false) animate = false;\n\n if (action === 'back') {\n router.back({ animate, browserHistory: false });\n }\n if (action === 'load') {\n router.navigate(stateUrl, { animate, browserHistory: false });\n }\n },\n handle(e) {\n if (History.blockPopstate) return;\n const app = this;\n // const mainView = app.views.main;\n let state = e.state;\n History.previousState = History.state;\n History.state = state;\n\n History.allowChange = true;\n History.clearQueue();\n\n state = History.state;\n if (!state) state = {};\n\n app.views.forEach((view) => {\n const router = view.router;\n let viewState = state[view.id];\n if (!viewState && view.params.browserHistory) {\n viewState = {\n url: view.router.history[0],\n };\n }\n if (!viewState) return;\n const stateUrl = viewState.url || undefined;\n\n let animate = router.params.animate;\n if (router.params.browserHistoryAnimate === false) animate = false;\n\n if (stateUrl !== router.url) {\n if (router.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (router.allowPageChange) {\n router.back({ animate, browserHistory: false });\n } else {\n History.routerQueue.push({\n action: 'back',\n router,\n });\n }\n } else if (router.allowPageChange) {\n // Load page\n router.navigate(stateUrl, { animate, browserHistory: false });\n } else {\n History.routerQueue.unshift({\n action: 'load',\n stateUrl,\n router,\n });\n }\n }\n });\n },\n initViewState(viewId, viewState) {\n const window = getWindow();\n const newState = extend({}, History.state || {}, {\n [viewId]: viewState,\n });\n History.state = newState;\n window.history.replaceState(newState, '');\n },\n push(viewId, viewState, url) {\n const window = getWindow();\n const document = getDocument();\n /* eslint-disable no-param-reassign */\n if (url.substr(-3) === '#!/') {\n url = url.replace('#!/', '');\n if (url === '') {\n url = document.location.href;\n if (url.includes('#!/')) {\n url = document.location.href.split('#!/')[0];\n }\n }\n }\n /* eslint-enable no-param-reassign */\n if (!History.allowChange) {\n History.queue.push(() => {\n History.push(viewId, viewState, url);\n });\n return;\n }\n History.previousState = History.state;\n const newState = extend({}, History.previousState || {}, {\n [viewId]: viewState,\n });\n History.state = newState;\n window.history.pushState(newState, '', url);\n },\n replace(viewId, viewState, url) {\n const window = getWindow();\n if (url.substr(-3) === '#!/') {\n // eslint-disable-next-line\n url = url.replace('#!/', '');\n }\n if (!History.allowChange) {\n History.queue.push(() => {\n History.replace(viewId, viewState, url);\n });\n return;\n }\n History.previousState = History.state;\n const newState = extend({}, History.previousState || {}, {\n [viewId]: viewState,\n });\n History.state = newState;\n window.history.replaceState(newState, '', url);\n },\n go(index) {\n const window = getWindow();\n History.allowChange = false;\n window.history.go(index);\n },\n back() {\n const window = getWindow();\n History.allowChange = false;\n window.history.back();\n },\n allowChange: true,\n previousState: {},\n state: {},\n blockPopstate: true,\n init(app) {\n const window = getWindow();\n const document = getDocument();\n History.state = window.history.state;\n $(window).on('load', () => {\n setTimeout(() => {\n History.blockPopstate = false;\n }, 0);\n });\n\n if (document.readyState && document.readyState === 'complete') {\n History.blockPopstate = false;\n }\n\n $(window).on('popstate', History.handle.bind(app));\n },\n};\n\nexport default History;\n","import $ from '../../shared/dom7.js';\nimport History from '../../shared/history.js';\nimport { getSupport } from '../../shared/get-support.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport { now } from '../../shared/utils.js';\n\nfunction SwipeBack(r) {\n const router = r;\n const { $el, $navbarsEl, app, params } = router;\n const support = getSupport();\n const device = getDevice();\n let isTouched = false;\n let isMoved = false;\n const touchesStart = {};\n let isScrolling;\n let $currentPageEl = [];\n let $previousPageEl = [];\n let viewContainerWidth;\n let touchesDiff;\n let allowViewTouchMove = true;\n let touchStartTime;\n let $currentNavbarEl = [];\n let $previousNavbarEl = [];\n let dynamicNavbar;\n let $pageShadowEl;\n let $pageOpacityEl;\n\n let animatableNavEls;\n\n const paramsSwipeBackAnimateShadow = params[`${app.theme}SwipeBackAnimateShadow`];\n const paramsSwipeBackAnimateOpacity = params[`${app.theme}SwipeBackAnimateOpacity`];\n const paramsSwipeBackActiveArea = params[`${app.theme}SwipeBackActiveArea`];\n const paramsSwipeBackThreshold = params[`${app.theme}SwipeBackThreshold`];\n\n const transformOrigin = app.rtl ? 'right center' : 'left center';\n const transformOriginTitleLarge = app.rtl\n ? 'calc(100% - var(--f7-navbar-large-title-padding-left) - var(--f7-safe-area-left)) center'\n : 'calc(var(--f7-navbar-large-title-padding-left) + var(--f7-safe-area-left)) center';\n\n function animatableNavElements() {\n const els = [];\n const inverter = app.rtl ? -1 : 1;\n const currentNavIsTransparent =\n $currentNavbarEl.hasClass('navbar-transparent') &&\n !$currentNavbarEl.hasClass('navbar-large') &&\n !$currentNavbarEl.hasClass('navbar-transparent-visible');\n const currentNavIsLarge = $currentNavbarEl.hasClass('navbar-large');\n const currentNavIsCollapsed = $currentNavbarEl.hasClass('navbar-large-collapsed');\n const currentNavIsLargeTransparent =\n $currentNavbarEl.hasClass('navbar-large-transparent') ||\n ($currentNavbarEl.hasClass('navbar-large') &&\n $currentNavbarEl.hasClass('navbar-transparent'));\n const previousNavIsTransparent =\n $previousNavbarEl.hasClass('navbar-transparent') &&\n !$previousNavbarEl.hasClass('navbar-large') &&\n !$previousNavbarEl.hasClass('navbar-transparent-visible');\n const previousNavIsLarge = $previousNavbarEl.hasClass('navbar-large');\n const previousNavIsCollapsed = $previousNavbarEl.hasClass('navbar-large-collapsed');\n const previousNavIsLargeTransparent =\n $previousNavbarEl.hasClass('navbar-large-transparent') ||\n ($previousNavbarEl.hasClass('navbar-large') &&\n $previousNavbarEl.hasClass('navbar-transparent'));\n const fromLarge = currentNavIsLarge && !currentNavIsCollapsed;\n const toLarge = previousNavIsLarge && !previousNavIsCollapsed;\n const $currentNavElements = $currentNavbarEl.find(\n '.left, .title, .right, .subnavbar, .fading, .title-large, .navbar-bg',\n );\n const $previousNavElements = $previousNavbarEl.find(\n '.left, .title, .right, .subnavbar, .fading, .title-large, .navbar-bg',\n );\n let activeNavBackIconText;\n let previousNavBackIconText;\n\n if (params.iosAnimateNavbarBackIcon) {\n if (\n $currentNavbarEl.hasClass('sliding') ||\n $currentNavbarEl.find('.navbar-inner.sliding').length\n ) {\n activeNavBackIconText = $currentNavbarEl.find('.left').find('.back .icon + span').eq(0);\n } else {\n activeNavBackIconText = $currentNavbarEl\n .find('.left.sliding')\n .find('.back .icon + span')\n .eq(0);\n }\n if (\n $previousNavbarEl.hasClass('sliding') ||\n $previousNavbarEl.find('.navbar-inner.sliding').length\n ) {\n previousNavBackIconText = $previousNavbarEl.find('.left').find('.back .icon + span').eq(0);\n } else {\n previousNavBackIconText = $previousNavbarEl\n .find('.left.sliding')\n .find('.back .icon + span')\n .eq(0);\n }\n if (activeNavBackIconText.length) {\n $previousNavElements.each((el) => {\n if (!$(el).hasClass('title')) return;\n el.f7NavbarLeftOffset += activeNavBackIconText.prev('.icon')[0].offsetWidth;\n });\n }\n }\n $currentNavElements.each((navEl) => {\n const $navEl = $(navEl);\n const isSubnavbar = $navEl.hasClass('subnavbar');\n const isLeft = $navEl.hasClass('left');\n const isTitle = $navEl.hasClass('title');\n const isBg = $navEl.hasClass('navbar-bg');\n if ((isTitle || isBg) && currentNavIsTransparent) return;\n if (!fromLarge && $navEl.hasClass('.title-large')) return;\n const el = {\n el: navEl,\n };\n if (fromLarge) {\n if (isTitle) return;\n if ($navEl.hasClass('title-large')) {\n if (els.indexOf(el) < 0) els.push(el);\n el.overflow = 'visible';\n $navEl.find('.title-large-text').each((subNavEl) => {\n els.push({\n el: subNavEl,\n transform: (progress) => `translateX(${progress * 100 * inverter}%)`,\n });\n });\n return;\n }\n }\n if (toLarge) {\n if (!fromLarge) {\n if ($navEl.hasClass('title-large')) {\n if (els.indexOf(el) < 0) els.push(el);\n el.opacity = 0;\n }\n }\n if (isLeft) {\n if (els.indexOf(el) < 0) els.push(el);\n el.opacity = (progress) => 1 - progress ** 0.33;\n $navEl.find('.back span').each((subNavEl) => {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOrigin,\n transform: (progress) =>\n `translateX(calc(${progress} * (var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset)))) translateY(calc(${progress} * (var(--f7-navbar-large-title-height) - var(--f7-navbar-large-title-padding-vertical) / 2))) scale(${\n 1 + 1 * progress\n })`,\n });\n });\n return;\n }\n }\n if (isBg) {\n if (els.indexOf(el) < 0) els.push(el);\n if (!fromLarge && !toLarge) {\n if (currentNavIsCollapsed) {\n if (currentNavIsLargeTransparent) {\n el.className = 'ios-swipeback-navbar-bg-large';\n }\n el.transform = (progress) =>\n `translateX(${\n 100 * progress * inverter\n }%) translateY(calc(-1 * var(--f7-navbar-large-title-height)))`;\n } else {\n el.transform = (progress) => `translateX(${100 * progress * inverter}%)`;\n }\n }\n if (!fromLarge && toLarge) {\n el.className = 'ios-swipeback-navbar-bg-large';\n el.transform = (progress) =>\n `translateX(${100 * progress * inverter}%) translateY(calc(-1 * ${\n 1 - progress\n } * var(--f7-navbar-large-title-height)))`;\n }\n if (fromLarge && toLarge) {\n el.transform = (progress) => `translateX(${100 * progress * inverter}%)`;\n }\n if (fromLarge && !toLarge) {\n el.transform = (progress) =>\n `translateX(${\n 100 * progress * inverter\n }%) translateY(calc(-${progress} * var(--f7-navbar-large-title-height)))`;\n }\n return;\n }\n if ($navEl.hasClass('title-large')) return;\n const isSliding =\n $navEl.hasClass('sliding') || $navEl.parents('.navbar-inner.sliding').length;\n if (els.indexOf(el) < 0) els.push(el);\n if (!isSubnavbar || (isSubnavbar && !isSliding)) {\n el.opacity = (progress) => 1 - progress ** 0.33;\n }\n if (isSliding) {\n let transformTarget = el;\n if (isLeft && activeNavBackIconText.length && params.iosAnimateNavbarBackIcon) {\n const textEl = { el: activeNavBackIconText[0] };\n transformTarget = textEl;\n els.push(textEl);\n }\n transformTarget.transform = (progress) => {\n let activeNavTranslate = progress * transformTarget.el.f7NavbarRightOffset;\n if (device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n if (isSubnavbar && currentNavIsLarge) {\n return `translate3d(${activeNavTranslate}px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`;\n }\n return `translate3d(${activeNavTranslate}px,0,0)`;\n };\n }\n });\n $previousNavElements.each((navEl) => {\n const $navEl = $(navEl);\n const isSubnavbar = $navEl.hasClass('subnavbar');\n const isLeft = $navEl.hasClass('left');\n const isTitle = $navEl.hasClass('title');\n const isBg = $navEl.hasClass('navbar-bg');\n if ((isTitle || isBg) && previousNavIsTransparent) return;\n const el = {\n el: navEl,\n };\n if (toLarge) {\n if (isTitle) return;\n if (els.indexOf(el) < 0) els.push(el);\n\n if ($navEl.hasClass('title-large')) {\n el.opacity = 1;\n el.overflow = 'visible';\n $navEl.find('.title-large-text').each((subNavEl) => {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOriginTitleLarge,\n opacity: (progress) => progress ** 3,\n transform: (progress) =>\n `translateX(calc(${\n 1 - progress\n } * (var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset)))) translateY(calc(${\n progress - 1\n } * var(--f7-navbar-large-title-height) + ${\n 1 - progress\n } * var(--f7-navbar-large-title-padding-vertical))) scale(${0.5 + progress * 0.5})`,\n });\n });\n return;\n }\n }\n if (isBg) {\n if (els.indexOf(el) < 0) els.push(el);\n if (!fromLarge && !toLarge) {\n if (previousNavIsCollapsed) {\n if (previousNavIsLargeTransparent) {\n el.className = 'ios-swipeback-navbar-bg-large';\n }\n el.transform = (progress) =>\n `translateX(${\n (-100 + 100 * progress) * inverter\n }%) translateY(calc(-1 * var(--f7-navbar-large-title-height)))`;\n } else {\n el.transform = (progress) => `translateX(${(-100 + 100 * progress) * inverter}%)`;\n }\n }\n if (!fromLarge && toLarge) {\n el.transform = (progress) =>\n `translateX(${(-100 + 100 * progress) * inverter}%) translateY(calc(-1 * ${\n 1 - progress\n } * var(--f7-navbar-large-title-height)))`;\n }\n if (fromLarge && !toLarge) {\n el.className = 'ios-swipeback-navbar-bg-large';\n el.transform = (progress) =>\n `translateX(${\n (-100 + 100 * progress) * inverter\n }%) translateY(calc(-${progress} * var(--f7-navbar-large-title-height)))`;\n }\n if (fromLarge && toLarge) {\n el.transform = (progress) => `translateX(${(-100 + 100 * progress) * inverter}%)`;\n }\n\n return;\n }\n if ($navEl.hasClass('title-large')) return;\n const isSliding =\n $navEl.hasClass('sliding') || $previousNavbarEl.children('.navbar-inner.sliding').length;\n if (els.indexOf(el) < 0) els.push(el);\n if (!isSubnavbar || (isSubnavbar && !isSliding)) {\n el.opacity = (progress) => progress ** 3;\n }\n if (isSliding) {\n let transformTarget = el;\n if (isLeft && previousNavBackIconText.length && params.iosAnimateNavbarBackIcon) {\n const textEl = { el: previousNavBackIconText[0] };\n transformTarget = textEl;\n els.push(textEl);\n }\n transformTarget.transform = (progress) => {\n let previousNavTranslate = transformTarget.el.f7NavbarLeftOffset * (1 - progress);\n if (device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n if (isSubnavbar && previousNavIsLarge) {\n return `translate3d(${previousNavTranslate}px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`;\n }\n return `translate3d(${previousNavTranslate}px,0,0)`;\n };\n }\n });\n return els;\n }\n\n function setAnimatableNavElements({ progress, reset, transition, reflow } = {}) {\n const styles = ['overflow', 'transform', 'transform-origin', 'opacity'];\n if (transition === true || transition === false) {\n for (let i = 0; i < animatableNavEls.length; i += 1) {\n const el = animatableNavEls[i];\n if (el && el.el) {\n if (transition === true) el.el.classList.add('navbar-page-transitioning');\n if (transition === false) el.el.classList.remove('navbar-page-transitioning');\n }\n }\n }\n if (reflow && animatableNavEls.length && animatableNavEls[0] && animatableNavEls[0].el) {\n // eslint-disable-next-line\n animatableNavEls[0].el._clientLeft = animatableNavEls[0].el.clientLeft;\n }\n for (let i = 0; i < animatableNavEls.length; i += 1) {\n const el = animatableNavEls[i];\n if (el && el.el) {\n if (el.className && !el.classNameSet && !reset) {\n el.el.classList.add(el.className);\n el.classNameSet = true;\n }\n if (el.className && reset) {\n el.el.classList.remove(el.className);\n }\n for (let j = 0; j < styles.length; j += 1) {\n const styleProp = styles[j];\n if (el[styleProp]) {\n if (reset) {\n el.el.style[styleProp] = '';\n } else if (typeof el[styleProp] === 'function') {\n el.el.style[styleProp] = el[styleProp](progress);\n } else {\n el.el.style[styleProp] = el[styleProp];\n }\n }\n }\n }\n }\n }\n\n function handleTouchStart(e) {\n const swipeBackEnabled = params[`${app.theme}SwipeBack`];\n if (\n !allowViewTouchMove ||\n !swipeBackEnabled ||\n isTouched ||\n (app.swipeout && app.swipeout.el) ||\n !router.allowPageChange\n )\n return;\n if ($(e.target).closest('.range-slider, .calendar-months').length > 0) return;\n if (\n $(e.target).closest('.page-master, .page-master-detail').length > 0 &&\n params.masterDetailBreakpoint > 0 &&\n app.width >= params.masterDetailBreakpoint\n )\n return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = now();\n dynamicNavbar = router.dynamicNavbar;\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n const pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling =\n !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)) ||\n (pageX < touchesStart.x && !app.rtl) ||\n (pageX > touchesStart.x && app.rtl);\n }\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n if (!isMoved) {\n // Calc values during first move fired\n let cancel = false;\n const target = $(e.target);\n\n const swipeout = target.closest('.swipeout');\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n\n $currentPageEl = target.closest('.page');\n if (\n $currentPageEl.hasClass('no-swipeback') ||\n target.closest('.no-swipeback, .card-opened').length > 0\n )\n cancel = true;\n $previousPageEl = $el.find('.page-previous');\n if ($previousPageEl.length > 1) {\n $previousPageEl = $previousPageEl.eq($previousPageEl.length - 1);\n }\n let notFromBorder = touchesStart.x - $el.offset().left > paramsSwipeBackActiveArea;\n viewContainerWidth = $el.width();\n if (app.rtl) {\n notFromBorder =\n touchesStart.x <\n $el.offset().left - $el[0].scrollLeft + (viewContainerWidth - paramsSwipeBackActiveArea);\n } else {\n notFromBorder = touchesStart.x - $el.offset().left > paramsSwipeBackActiveArea;\n }\n if (notFromBorder) cancel = true;\n if ($previousPageEl.length === 0 || $currentPageEl.length === 0) cancel = true;\n if (cancel) {\n isTouched = false;\n return;\n }\n\n if (paramsSwipeBackAnimateShadow) {\n $pageShadowEl = $currentPageEl.find('.page-shadow-effect');\n if ($pageShadowEl.length === 0) {\n $pageShadowEl = $('<div class=\"page-shadow-effect\"></div>');\n $currentPageEl.append($pageShadowEl);\n }\n }\n if (paramsSwipeBackAnimateOpacity) {\n $pageOpacityEl = $previousPageEl.find('.page-opacity-effect');\n if ($pageOpacityEl.length === 0) {\n $pageOpacityEl = $('<div class=\"page-opacity-effect\"></div>');\n $previousPageEl.append($pageOpacityEl);\n }\n }\n\n if (dynamicNavbar) {\n $currentNavbarEl = $navbarsEl.find('.navbar-current');\n $previousNavbarEl = $navbarsEl.find('.navbar-previous');\n if ($previousNavbarEl.length > 1) {\n $previousNavbarEl = $previousNavbarEl.eq($previousNavbarEl.length - 1);\n }\n\n animatableNavEls = animatableNavElements($previousNavbarEl, $currentNavbarEl);\n }\n\n // Close/Hide Any Picker\n if ($('.sheet.modal-in').length > 0 && app.sheet) {\n app.sheet.close($('.sheet.modal-in'));\n }\n }\n e.f7PreventSwipePanel = true;\n isMoved = true;\n app.preventSwipePanelBySwipeBack = true;\n e.preventDefault();\n\n // RTL inverter\n const inverter = app.rtl ? -1 : 1;\n\n // Touches diff\n touchesDiff = (pageX - touchesStart.x - paramsSwipeBackThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n const percentage = Math.min(Math.max(touchesDiff / viewContainerWidth, 0), 1);\n\n // Swipe Back Callback\n const callbackData = {\n percentage,\n progress: percentage,\n currentPageEl: $currentPageEl[0],\n previousPageEl: $previousPageEl[0],\n currentNavbarEl: $currentNavbarEl[0],\n previousNavbarEl: $previousNavbarEl[0],\n };\n $el.trigger('swipeback:move', callbackData);\n router.emit('swipebackMove', callbackData);\n\n // Transform pages\n let currentPageTranslate = touchesDiff * inverter;\n let previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n if (!app.rtl) {\n currentPageTranslate = Math.min(currentPageTranslate, viewContainerWidth);\n previousPageTranslate = Math.min(previousPageTranslate, 0);\n } else {\n currentPageTranslate = Math.max(currentPageTranslate, -viewContainerWidth);\n previousPageTranslate = Math.max(previousPageTranslate, 0);\n }\n if (device.pixelRatio === 1) {\n currentPageTranslate = Math.round(currentPageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n\n router.swipeBackActive = true;\n $([$currentPageEl[0], $previousPageEl[0]]).addClass('page-swipeback-active');\n\n $currentPageEl.transform(`translate3d(${currentPageTranslate}px,0,0)`);\n if (paramsSwipeBackAnimateShadow) $pageShadowEl[0].style.opacity = 1 - 1 * percentage;\n\n if (app.theme === 'ios') {\n $previousPageEl.transform(`translate3d(${previousPageTranslate}px,0,0)`);\n }\n if (paramsSwipeBackAnimateOpacity) $pageOpacityEl[0].style.opacity = 1 - 1 * percentage;\n\n // Dynamic Navbars Animation\n if (!dynamicNavbar) return;\n\n setAnimatableNavElements({ progress: percentage });\n }\n function handleTouchEnd() {\n app.preventSwipePanelBySwipeBack = false;\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n router.swipeBackActive = false;\n const $pages = $([$currentPageEl[0], $previousPageEl[0]]);\n $pages.removeClass('page-swipeback-active');\n if (touchesDiff === 0) {\n $pages.transform('');\n if ($pageShadowEl && $pageShadowEl.length > 0) $pageShadowEl.remove();\n if ($pageOpacityEl && $pageOpacityEl.length > 0) $pageOpacityEl.remove();\n if (dynamicNavbar) {\n setAnimatableNavElements({ reset: true });\n }\n return;\n }\n const timeDiff = now() - touchStartTime;\n let pageChanged = false;\n // Swipe back to previous page\n if (\n (timeDiff < 300 && touchesDiff > 10) ||\n (timeDiff >= 300 && touchesDiff > viewContainerWidth / 2)\n ) {\n $currentPageEl\n .removeClass('page-current')\n .addClass(`page-next${app.theme !== 'ios' ? ' page-next-on-right' : ''}`);\n $previousPageEl\n .removeClass('page-previous')\n .addClass('page-current')\n .removeAttr('aria-hidden');\n if ($pageShadowEl) $pageShadowEl[0].style.opacity = '';\n if ($pageOpacityEl) $pageOpacityEl[0].style.opacity = '';\n if (dynamicNavbar) {\n router.setNavbarPosition($currentNavbarEl, 'next');\n router.setNavbarPosition($previousNavbarEl, 'current', false);\n }\n pageChanged = true;\n }\n // Reset custom styles\n // Add transitioning class for transition-duration\n $pages.addClass('page-transitioning page-transitioning-swipeback');\n if (device.ios) {\n // eslint-disable-next-line\n $currentPageEl[0]._clientLeft = $currentPageEl[0].clientLeft;\n }\n $pages.transform('');\n\n if (dynamicNavbar) {\n setAnimatableNavElements({\n progress: pageChanged ? 1 : 0,\n transition: true,\n reflow: !!device.ios,\n });\n }\n allowViewTouchMove = false;\n router.allowPageChange = false;\n\n // Swipe Back Callback\n const callbackData = {\n currentPageEl: $currentPageEl[0],\n previousPageEl: $previousPageEl[0],\n currentNavbarEl: $currentNavbarEl[0],\n previousNavbarEl: $previousNavbarEl[0],\n };\n\n if (pageChanged) {\n // Update Route\n router.currentRoute = $previousPageEl[0].f7Page.route;\n router.currentPage = $previousPageEl[0];\n\n // Page before animation callback\n router.pageCallback('beforeOut', $currentPageEl, $currentNavbarEl, 'current', 'next', {\n route: $currentPageEl[0].f7Page.route,\n swipeBack: true,\n });\n router.pageCallback(\n 'beforeIn',\n $previousPageEl,\n $previousNavbarEl,\n 'previous',\n 'current',\n { route: $previousPageEl[0].f7Page.route, swipeBack: true },\n $currentPageEl[0],\n );\n\n $el.trigger('swipeback:beforechange', callbackData);\n router.emit('swipebackBeforeChange', callbackData);\n } else {\n $el.trigger('swipeback:beforereset', callbackData);\n router.emit('swipebackBeforeReset', callbackData);\n }\n\n $currentPageEl.transitionEnd(() => {\n $pages.removeClass('page-transitioning page-transitioning-swipeback');\n if (dynamicNavbar) {\n setAnimatableNavElements({ reset: true, transition: false });\n }\n allowViewTouchMove = true;\n router.allowPageChange = true;\n if (pageChanged) {\n // Update History\n if (router.history.length === 1) {\n router.history.unshift(router.url);\n }\n router.history.pop();\n router.saveHistory();\n\n // Update push state\n if (params.browserHistory) {\n History.back();\n }\n\n // Page after animation callback\n router.pageCallback('afterOut', $currentPageEl, $currentNavbarEl, 'current', 'next', {\n route: $currentPageEl[0].f7Page.route,\n swipeBack: true,\n });\n router.pageCallback('afterIn', $previousPageEl, $previousNavbarEl, 'previous', 'current', {\n route: $previousPageEl[0].f7Page.route,\n swipeBack: true,\n });\n\n // Remove Old Page\n\n router.pageCallback('beforeRemove', $currentPageEl, $currentNavbarEl, 'next', {\n swipeBack: true,\n });\n router.removePage($currentPageEl);\n if (dynamicNavbar) {\n router.removeNavbar($currentNavbarEl);\n }\n\n $el.trigger('swipeback:afterchange', callbackData);\n router.emit('swipebackAfterChange', callbackData);\n\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (params.preloadPreviousPage) {\n router.back(router.history[router.history.length - 2], { preload: true });\n }\n } else {\n $el.trigger('swipeback:afterreset', callbackData);\n router.emit('swipebackAfterReset', callbackData);\n }\n if ($pageShadowEl && $pageShadowEl.length > 0) $pageShadowEl.remove();\n if ($pageOpacityEl && $pageOpacityEl.length > 0) $pageOpacityEl.remove();\n });\n }\n\n function attachEvents() {\n const passiveListener =\n app.touchEvents.start === 'touchstart' && support.passiveListener\n ? { passive: true, capture: false }\n : false;\n $el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n function detachEvents() {\n const passiveListener =\n app.touchEvents.start === 'touchstart' && support.passiveListener\n ? { passive: true, capture: false }\n : false;\n $el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n\n attachEvents();\n\n router.on('routerDestroy', detachEvents);\n}\n\nexport default SwipeBack;\n","import { extend } from '../../shared/utils.js';\n\nexport default function redirect(direction, route, options) {\n const router = this;\n const r = route.route.redirect;\n const method = direction === 'forward' ? 'navigate' : 'back';\n if (options.initial && router.params.browserHistory) {\n options.replaceState = true; // eslint-disable-line\n options.history = true; // eslint-disable-line\n }\n function redirectResolve(redirectUrl, redirectOptions = {}) {\n router.allowPageChange = true;\n router[method](redirectUrl, extend({}, options, redirectOptions));\n }\n function redirectReject() {\n router.allowPageChange = true;\n }\n if (typeof r === 'function') {\n router.allowPageChange = false;\n const redirectUrl = r.call(router, {\n router,\n to: route,\n resolve: redirectResolve,\n reject: redirectReject,\n direction,\n app: router.app,\n });\n if (redirectUrl && typeof redirectUrl === 'string') {\n router.allowPageChange = true;\n return router[method](redirectUrl, options);\n }\n return router;\n }\n return router[method](r, options);\n}\n","function processQueue(router, routerQueue, routeQueue, to, from, resolve, reject, direction) {\n const queue = [];\n\n if (Array.isArray(routeQueue)) {\n queue.push(...routeQueue);\n } else if (routeQueue && typeof routeQueue === 'function') {\n queue.push(routeQueue);\n }\n if (routerQueue) {\n if (Array.isArray(routerQueue)) {\n queue.push(...routerQueue);\n } else {\n queue.push(routerQueue);\n }\n }\n\n function next() {\n if (queue.length === 0) {\n resolve();\n return;\n }\n const queueItem = queue.shift();\n\n queueItem.call(router, {\n router,\n to,\n from,\n resolve() {\n next();\n },\n reject() {\n reject();\n },\n direction,\n app: router.app,\n });\n }\n next();\n}\n\nexport default function processRouteQueue(to, from, resolve, reject, direction) {\n const router = this;\n function enterNextRoute() {\n if (to && to.route && (router.params.routesBeforeEnter || to.route.beforeEnter)) {\n router.allowPageChange = false;\n processQueue(\n router,\n router.params.routesBeforeEnter,\n to.route.beforeEnter,\n to,\n from,\n () => {\n router.allowPageChange = true;\n resolve();\n },\n () => {\n reject();\n },\n direction,\n );\n } else {\n resolve();\n }\n }\n function leaveCurrentRoute() {\n if (from && from.route && (router.params.routesBeforeLeave || from.route.beforeLeave)) {\n router.allowPageChange = false;\n processQueue(\n router,\n router.params.routesBeforeLeave,\n from.route.beforeLeave,\n to,\n from,\n () => {\n router.allowPageChange = true;\n enterNextRoute();\n },\n () => {\n reject();\n },\n direction,\n );\n } else {\n enterNextRoute();\n }\n }\n leaveCurrentRoute();\n}\n","export default function appRouterCheck(router, method) {\n if (!router.view) {\n throw new Error(\n `Framework7: it is not allowed to use router methods on global app router. Use router methods only on related View, e.g. app.views.main.router.${method}(...)`,\n );\n }\n}\n","export default function asyncComponent(router, component, resolve, reject) {\n function resolvePromise(componentPromise) {\n componentPromise\n .then((c) => {\n // eslint-disable-next-line\n resolve({ component: c.default || c._default || c });\n })\n .catch((err) => {\n reject();\n throw new Error(err);\n });\n }\n if (component instanceof Promise) {\n resolvePromise(component);\n return;\n }\n const asyncComponentResult = component.call(router);\n if (asyncComponentResult instanceof Promise) {\n resolvePromise(asyncComponentResult);\n } else {\n resolve({ component: asyncComponentResult });\n }\n}\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { extend, parseUrlQuery } from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport redirect from './redirect.js';\nimport processRouteQueue from './process-route-queue.js';\nimport appRouterCheck from './app-router-check.js';\nimport asyncComponent from './async-component.js';\n\nfunction refreshPage() {\n const router = this;\n appRouterCheck(router, 'refreshPage');\n return router.navigate(router.currentRoute.url, {\n ignoreCache: true,\n reloadCurrent: true,\n });\n}\n\nfunction forward(router, el, forwardOptions = {}) {\n const document = getDocument();\n const $el = $(el);\n const app = router.app;\n const view = router.view;\n const options = extend(\n false,\n {\n animate: router.params.animate,\n browserHistory: true,\n replaceState: false,\n history: true,\n reloadCurrent: router.params.reloadPages,\n reloadPrevious: false,\n reloadAll: false,\n clearPreviousHistory: false,\n reloadDetail: router.params.reloadDetail,\n on: {},\n },\n forwardOptions,\n );\n\n const masterDetailEnabled = router.params.masterDetailBreakpoint > 0;\n const isMaster =\n masterDetailEnabled &&\n options.route &&\n options.route.route &&\n (options.route.route.master === true ||\n (typeof options.route.route.master === 'function' &&\n options.route.route.master(app, router)));\n\n let masterPageEl;\n let otherDetailPageEl;\n let detailsInBetweenRemoved = 0;\n\n let currentRouteIsModal = router.currentRoute.modal;\n let modalType;\n if (!currentRouteIsModal) {\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (\n router.currentRoute &&\n router.currentRoute.route &&\n router.currentRoute.route[modalLoadProp]\n ) {\n currentRouteIsModal = true;\n modalType = modalLoadProp;\n }\n });\n }\n\n if (currentRouteIsModal) {\n const modalToClose =\n router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();\n const previousUrl = router.history[router.history.length - 2];\n let previousRoute = router.findMatchingRoute(previousUrl);\n if (!previousRoute && previousUrl) {\n previousRoute = {\n url: previousUrl,\n path: previousUrl.split('?')[0],\n query: parseUrlQuery(previousUrl),\n route: {\n path: previousUrl.split('?')[0],\n url: previousUrl,\n },\n };\n }\n\n router.modalRemove(modalToClose);\n }\n\n const dynamicNavbar = router.dynamicNavbar;\n\n const $viewEl = router.$el;\n const $newPage = $el;\n const reload = options.reloadPrevious || options.reloadCurrent || options.reloadAll;\n let $oldPage;\n\n let $navbarsEl;\n let $newNavbarEl;\n let $oldNavbarEl;\n\n router.allowPageChange = false;\n if ($newPage.length === 0) {\n router.allowPageChange = true;\n return router;\n }\n\n if ($newPage.length) {\n // Remove theme elements\n router.removeThemeElements($newPage);\n }\n\n if (dynamicNavbar) {\n $newNavbarEl = $newPage.children('.navbar');\n $navbarsEl = router.$navbarsEl;\n if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {\n // Try from pageData\n $newNavbarEl = $newPage[0].f7Page.$navbarEl;\n }\n }\n\n // Save Keep Alive Cache\n if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !options.route.route.keepAliveData\n ) {\n options.route.route.keepAliveData = {\n pageEl: $el[0],\n };\n }\n\n // Pages In View\n const $pagesInView = $viewEl.children('.page').filter((pageInView) => pageInView !== $newPage[0]);\n\n // Navbars In View\n let $navbarsInView;\n if (dynamicNavbar) {\n $navbarsInView = $navbarsEl\n .children('.navbar')\n .filter((navbarInView) => navbarInView !== $newNavbarEl[0]);\n }\n\n // Exit when reload previous and only 1 page in view so nothing ro reload\n if (options.reloadPrevious && $pagesInView.length < 2) {\n router.allowPageChange = true;\n return router;\n }\n\n // Find Detail' master page\n let isDetail;\n let reloadDetail;\n let isDetailRoot;\n if (masterDetailEnabled && !options.reloadAll) {\n for (let i = 0; i < $pagesInView.length; i += 1) {\n if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {\n masterPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n isDetail = !isMaster && masterPageEl;\n\n if (isDetail) {\n // Find Other Detail\n if (masterPageEl) {\n for (let i = 0; i < $pagesInView.length; i += 1) {\n if ($pagesInView[i].classList.contains('page-master-detail')) {\n otherDetailPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n }\n }\n reloadDetail =\n isDetail &&\n options.reloadDetail &&\n app.width >= router.params.masterDetailBreakpoint &&\n masterPageEl;\n }\n if (isDetail) {\n isDetailRoot = !otherDetailPageEl || reloadDetail || options.reloadAll || options.reloadCurrent;\n }\n\n // New Page\n let newPagePosition = 'next';\n if (options.reloadCurrent || options.reloadAll || reloadDetail) {\n newPagePosition = 'current';\n } else if (options.reloadPrevious) {\n newPagePosition = 'previous';\n }\n $newPage\n .removeClass('page-previous page-current page-next')\n .addClass(\n `page-${newPagePosition}${isMaster ? ' page-master' : ''}${\n isDetail ? ' page-master-detail' : ''\n }${isDetailRoot ? ' page-master-detail-root' : ''}`,\n )\n .trigger('page:unstack')\n .trigger('page:position', { position: newPagePosition });\n router.emit('pageUnstack', $newPage[0]);\n router.emit('pagePosition', $newPage[0], newPagePosition);\n\n if (isMaster || isDetail) {\n $newPage.trigger('page:role', { role: isMaster ? 'master' : 'detail', root: !!isDetailRoot });\n router.emit('pageRole', $newPage[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n\n if (dynamicNavbar && $newNavbarEl.length) {\n $newNavbarEl\n .removeClass('navbar-previous navbar-current navbar-next')\n .addClass(\n `navbar-${newPagePosition}${isMaster ? ' navbar-master' : ''}${\n isDetail ? ' navbar-master-detail' : ''\n }${isDetailRoot ? ' navbar-master-detail-root' : ''}`,\n );\n $newNavbarEl.trigger('navbar:position', { position: newPagePosition });\n router.emit('navbarPosition', $newNavbarEl[0], newPagePosition);\n if (isMaster || isDetail) {\n router.emit('navbarRole', $newNavbarEl[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n }\n\n // Find Old Page\n if (options.reloadCurrent || reloadDetail) {\n if (reloadDetail) {\n $oldPage = $pagesInView.filter((pageEl) => !pageEl.classList.contains('page-master'));\n if (dynamicNavbar) {\n $oldNavbarEl = $($oldPage.map((pageEl) => app.navbar.getElByPage(pageEl)));\n }\n if ($oldPage.length > 1 && masterPageEl) {\n detailsInBetweenRemoved = $oldPage.length - 1;\n $(masterPageEl).removeClass('page-master-stacked').trigger('page:masterunstack');\n router.emit('pageMasterUnstack', masterPageEl);\n if (dynamicNavbar) {\n $(app.navbar.getElByPage(masterPageEl)).removeClass('navbar-master-stacked');\n router.emit('navbarMasterUnstack', app.navbar.getElByPage(masterPageEl));\n }\n }\n } else {\n $oldPage = $pagesInView.eq($pagesInView.length - 1);\n if (dynamicNavbar) {\n $oldNavbarEl = $(app.navbar.getElByPage($oldPage));\n }\n }\n } else if (options.reloadPrevious) {\n $oldPage = $pagesInView.eq($pagesInView.length - 2);\n if (dynamicNavbar) {\n // $oldNavbarEl = $navbarsInView.eq($pagesInView.length - 2);\n $oldNavbarEl = $(app.navbar.getElByPage($oldPage));\n }\n } else if (options.reloadAll) {\n $oldPage = $pagesInView.filter((pageEl) => pageEl !== $newPage[0]);\n if (dynamicNavbar) {\n $oldNavbarEl = $navbarsInView.filter((navbarEl) => navbarEl !== $newNavbarEl[0]);\n }\n } else {\n let removedPageEls = [];\n let removedNavbarEls = [];\n if ($pagesInView.length > 1) {\n let i = 0;\n for (i = 0; i < $pagesInView.length - 1; i += 1) {\n if (masterPageEl && $pagesInView[i] === masterPageEl) {\n $pagesInView.eq(i).addClass('page-master-stacked');\n $pagesInView.eq(i).trigger('page:masterstack');\n router.emit('pageMasterStack', $pagesInView[i]);\n if (dynamicNavbar) {\n $(app.navbar.getElByPage(masterPageEl)).addClass('navbar-master-stacked');\n router.emit('navbarMasterStack', app.navbar.getElByPage(masterPageEl));\n }\n continue; // eslint-disable-line\n }\n const oldNavbarEl = app.navbar.getElByPage($pagesInView.eq(i));\n\n // Page remove event\n removedPageEls.push($pagesInView[i]);\n router.pageCallback(\n 'beforeRemove',\n $pagesInView[i],\n $navbarsInView && $navbarsInView[i],\n 'previous',\n undefined,\n options,\n );\n router.removePage($pagesInView[i]);\n if (dynamicNavbar && oldNavbarEl) {\n removedNavbarEls.push(oldNavbarEl);\n router.removeNavbar(oldNavbarEl);\n }\n }\n }\n $oldPage = $viewEl\n .children('.page')\n .filter((pageEl) => pageEl !== $newPage[0] && removedPageEls.indexOf(pageEl) < 0);\n if (dynamicNavbar) {\n $oldNavbarEl = $navbarsEl\n .children('.navbar')\n .filter(\n (navbarEl) =>\n navbarEl !== $newNavbarEl[0] && removedNavbarEls.indexOf(removedNavbarEls) < 0,\n );\n }\n removedPageEls = [];\n removedNavbarEls = [];\n }\n\n if (isDetail && !options.reloadAll) {\n if ($oldPage.length > 1 || reloadDetail) {\n $oldPage = $oldPage.filter((pageEl) => !pageEl.classList.contains('page-master'));\n }\n if ($oldNavbarEl && ($oldNavbarEl.length > 1 || reloadDetail)) {\n $oldNavbarEl = $oldNavbarEl.filter(\n (navbarEl) => !navbarEl.classList.contains('navbar-master'),\n );\n }\n }\n\n // Push State\n if (\n router.params.browserHistory &&\n (options.browserHistory || options.replaceState) &&\n !options.reloadPrevious\n ) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History[\n options.reloadCurrent ||\n (reloadDetail && otherDetailPageEl) ||\n options.reloadAll ||\n options.replaceState\n ? 'replace'\n : 'push'\n ](\n view.id,\n {\n url: options.route.url,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + options.route.url,\n );\n }\n\n if (!options.reloadPrevious) {\n // Current Page & Navbar\n router.currentPageEl = $newPage[0];\n if (dynamicNavbar && $newNavbarEl.length) {\n router.currentNavbarEl = $newNavbarEl[0];\n } else {\n delete router.currentNavbarEl;\n }\n\n // Current Route\n router.currentRoute = options.route;\n }\n\n // Update router history\n const url = options.route.url;\n\n if (options.history) {\n if (\n ((options.reloadCurrent || (reloadDetail && otherDetailPageEl)) && router.history.length) >\n 0 ||\n options.replaceState\n ) {\n if (reloadDetail && detailsInBetweenRemoved > 0) {\n router.history = router.history.slice(0, router.history.length - detailsInBetweenRemoved);\n }\n router.history[router.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n } else if (options.reloadPrevious) {\n router.history[router.history.length - 2] = url;\n } else if (options.reloadAll) {\n router.history = [url];\n } else {\n router.history.push(url);\n }\n }\n router.saveHistory();\n\n // Insert new page and navbar\n const newPageInDom = $newPage.parents(document).length > 0;\n const f7Component = $newPage[0].f7Component;\n if (options.reloadPrevious) {\n if (f7Component && !newPageInDom) {\n f7Component.mount((componentEl) => {\n $(componentEl).insertBefore($oldPage);\n });\n } else {\n $newPage.insertBefore($oldPage);\n }\n if (dynamicNavbar && $newNavbarEl.length) {\n if ($newNavbarEl.find('.title-large').length) {\n $newNavbarEl.addClass('navbar-large');\n }\n if ($oldNavbarEl.length) {\n $newNavbarEl.insertBefore($oldNavbarEl);\n } else {\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n $navbarsEl.append($newNavbarEl);\n }\n }\n } else {\n if ($oldPage.next('.page')[0] !== $newPage[0]) {\n if (f7Component && !newPageInDom) {\n f7Component.mount((componentEl) => {\n $viewEl.append(componentEl);\n });\n } else {\n $viewEl.append($newPage[0]);\n }\n }\n if (dynamicNavbar && $newNavbarEl.length) {\n if ($newNavbarEl.find('.title-large').length) {\n $newNavbarEl.addClass('navbar-large');\n }\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n $navbarsEl.append($newNavbarEl[0]);\n }\n }\n if (!newPageInDom) {\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n newPagePosition,\n reload ? newPagePosition : 'current',\n options,\n $oldPage,\n );\n } else if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !$newPage[0].f7PageMounted\n ) {\n $newPage[0].f7PageMounted = true;\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n newPagePosition,\n reload ? newPagePosition : 'current',\n options,\n $oldPage,\n );\n }\n\n // Remove old page\n if ((options.reloadCurrent || reloadDetail) && $oldPage.length > 0) {\n // Page remove event\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n } else if (options.reloadAll) {\n $oldPage.each((pageEl, index) => {\n const $oldPageEl = $(pageEl);\n const $oldNavbarElEl = $(app.navbar.getElByPage($oldPageEl));\n\n // Page remove event\n if ($oldPageEl.hasClass('page-current')) {\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', undefined, options);\n }\n router.pageCallback(\n 'beforeRemove',\n $oldPageEl,\n $oldNavbarEl && $oldNavbarEl.eq(index),\n 'previous',\n undefined,\n options,\n );\n router.removePage($oldPageEl);\n if (dynamicNavbar && $oldNavbarElEl.length) {\n router.removeNavbar($oldNavbarElEl);\n }\n });\n } else if (options.reloadPrevious) {\n // Page remove event\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n\n // Load Tab\n if (options.route.route.tab) {\n router.tabLoad(\n options.route.route.tab,\n extend({}, options, {\n history: false,\n browserHistory: false,\n }),\n );\n }\n\n // Check master detail\n if (masterDetailEnabled) {\n view.checkMasterDetailBreakpoint();\n }\n\n // Page init and before init events\n router.pageCallback(\n 'init',\n $newPage,\n $newNavbarEl,\n newPagePosition,\n reload ? newPagePosition : 'current',\n options,\n $oldPage,\n );\n\n if (options.reloadCurrent || options.reloadAll || reloadDetail) {\n router.allowPageChange = true;\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);\n $newPage.removeAttr('aria-hidden');\n if (dynamicNavbar && $newNavbarEl) {\n $newNavbarEl.removeAttr('aria-hidden');\n }\n router.pageCallback('afterIn', $newPage, $newNavbarEl, newPagePosition, 'current', options);\n if (options.reloadCurrent && options.clearPreviousHistory) router.clearPreviousHistory();\n if (reloadDetail) {\n router.setPagePosition($(masterPageEl), 'previous');\n if (masterPageEl.f7Page && masterPageEl.f7Page.navbarEl) {\n router.setNavbarPosition($(masterPageEl.f7Page.navbarEl), 'previous');\n }\n }\n return router;\n }\n if (options.reloadPrevious) {\n router.allowPageChange = true;\n return router;\n }\n\n // Before animation event\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', 'previous', options);\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'next', 'current', options);\n\n // Animation\n function afterAnimation() {\n router.setPagePosition($newPage, 'current', false);\n router.setPagePosition($oldPage, 'previous', !$oldPage.hasClass('page-master'));\n if (dynamicNavbar) {\n router.setNavbarPosition($newNavbarEl, 'current', false);\n router.setNavbarPosition($oldNavbarEl, 'previous', !$oldNavbarEl.hasClass('navbar-master'));\n }\n // After animation event\n router.allowPageChange = true;\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', 'previous', options);\n router.pageCallback('afterIn', $newPage, $newNavbarEl, 'next', 'current', options);\n\n let keepOldPage =\n (router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`]) && !isMaster;\n if (!keepOldPage) {\n if (\n $newPage.hasClass('smart-select-page') ||\n $newPage.hasClass('photo-browser-page') ||\n $newPage.hasClass('autocomplete-page') ||\n $newPage.hasClass('color-picker-page')\n ) {\n keepOldPage = true;\n }\n }\n if (!keepOldPage) {\n if (!($newPage.attr('data-name') && $newPage.attr('data-name') === 'smart-select-page')) {\n // Remove event\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'previous', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n }\n }\n if (options.clearPreviousHistory) router.clearPreviousHistory();\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (router.params.browserHistory) {\n History.clearRouterQueue();\n }\n }\n function setPositionClasses() {\n router.setPagePosition($oldPage, 'current', false);\n router.setPagePosition($newPage, 'next', false);\n if (dynamicNavbar) {\n router.setNavbarPosition($oldNavbarEl, 'current', false);\n router.setNavbarPosition($newNavbarEl, 'next', false);\n }\n }\n if (options.animate && !(isMaster && app.width >= router.params.masterDetailBreakpoint)) {\n const delay = router.params[`${router.app.theme}PageLoadDelay`];\n let transition = router.params.transition;\n if (options.transition) transition = options.transition;\n if (!transition && router.currentRoute && router.currentRoute.route) {\n transition = router.currentRoute.route.transition;\n }\n if (!transition && router.currentRoute && router.currentRoute.route.options) {\n transition = router.currentRoute.route.options.transition;\n }\n if (transition) {\n $newPage[0].f7PageTransition = transition;\n }\n\n if (delay) {\n setTimeout(() => {\n setPositionClasses();\n router.animate(\n $oldPage,\n $newPage,\n $oldNavbarEl,\n $newNavbarEl,\n 'forward',\n transition,\n () => {\n afterAnimation();\n },\n );\n }, delay);\n } else {\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarEl, $newNavbarEl, 'forward', transition, () => {\n afterAnimation();\n });\n }\n } else {\n afterAnimation();\n }\n return router;\n}\nfunction load(router, loadParams = {}, loadOptions = {}, ignorePageChange) {\n if (!router.allowPageChange && !ignorePageChange) return router;\n const params = loadParams;\n const options = loadOptions;\n const { url, content, el, pageName, component, componentUrl } = params;\n\n if (\n !options.reloadCurrent &&\n options.route &&\n options.route.route &&\n options.route.route.parentPath &&\n router.currentRoute.route &&\n router.currentRoute.route.parentPath === options.route.route.parentPath\n ) {\n // Do something nested\n if (options.route.url === router.url) {\n router.allowPageChange = true;\n return false;\n }\n // Check for same params\n let sameParams =\n Object.keys(options.route.params).length === Object.keys(router.currentRoute.params).length;\n if (sameParams) {\n // Check for equal params name\n Object.keys(options.route.params).forEach((paramName) => {\n if (\n !(paramName in router.currentRoute.params) ||\n router.currentRoute.params[paramName] !== options.route.params[paramName]\n ) {\n sameParams = false;\n }\n });\n }\n if (sameParams) {\n if (options.route.route.tab) {\n return router.tabLoad(options.route.route.tab, options);\n }\n return false;\n }\n if (\n !sameParams &&\n options.route.route.tab &&\n router.currentRoute.route.tab &&\n router.currentRoute.parentPath === options.route.parentPath\n ) {\n return router.tabLoad(options.route.route.tab, options);\n }\n }\n\n if (\n options.route &&\n options.route.url &&\n router.url === options.route.url &&\n !(options.reloadCurrent || options.reloadPrevious) &&\n !router.params.allowDuplicateUrls\n ) {\n router.allowPageChange = true;\n return false;\n }\n\n if (!options.route && url) {\n options.route = router.parseRouteUrl(url);\n extend(options.route, { route: { url, path: url } });\n }\n\n // Component Callbacks\n function resolve(pageEl, newOptions) {\n return forward(router, pageEl, extend(options, newOptions));\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (url || componentUrl || component) {\n router.allowPageChange = false;\n }\n\n // Proceed\n if (content) {\n forward(router, router.getPageEl(content), options);\n } else if (el) {\n // Load page from specified HTMLElement or by page name in pages container\n forward(router, router.getPageEl(el), options);\n } else if (pageName) {\n // Load page by page name in pages container\n forward(router, router.$el.children(`.page[data-name=\"${pageName}\"]`).eq(0), options);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.pageComponentLoader({\n routerEl: router.el,\n component,\n componentUrl,\n options,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, options)\n .then((pageContent) => {\n forward(router, router.getPageEl(pageContent), options);\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n }\n return router;\n}\n\nfunction navigate(navigateParams, navigateOptions = {}) {\n const router = this;\n\n if (router.swipeBackActive) return router;\n let url;\n let createRoute;\n let name;\n let path;\n let query;\n let params;\n let route;\n if (typeof navigateParams === 'string') {\n url = navigateParams;\n } else {\n url = navigateParams.url;\n createRoute = navigateParams.route;\n name = navigateParams.name;\n path = navigateParams.path;\n query = navigateParams.query;\n params = navigateParams.params;\n }\n if (name || path) {\n url = router.generateUrl({ path, name, params, query });\n if (url) {\n return router.navigate(url, navigateOptions);\n }\n return router;\n }\n const app = router.app;\n appRouterCheck(router, 'navigate');\n if (url === '#' || url === '') {\n return router;\n }\n\n let navigateUrl = url.replace('./', '');\n if (navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {\n const currentPath = router.currentRoute.parentPath || router.currentRoute.path;\n navigateUrl = ((currentPath ? `${currentPath}/` : '/') + navigateUrl)\n .replace('///', '/')\n .replace('//', '/');\n }\n if (createRoute) {\n route = extend(router.parseRouteUrl(navigateUrl), {\n route: extend({}, createRoute),\n });\n } else {\n route = router.findMatchingRoute(navigateUrl);\n }\n\n if (!route) {\n return router;\n }\n if (route.route && route.route.viewName) {\n const anotherViewName = route.route.viewName;\n const anotherView = app.views[anotherViewName];\n if (!anotherView) {\n throw new Error(\n `Framework7: There is no View with \"${anotherViewName}\" name that was specified in this route`,\n );\n }\n if (anotherView !== router.view) {\n return anotherView.router.navigate(navigateParams, navigateOptions);\n }\n }\n\n if (route.route.redirect) {\n return redirect.call(router, 'forward', route, navigateOptions);\n }\n\n const options = {};\n if (route.route.options) {\n extend(options, route.route.options, navigateOptions);\n } else {\n extend(options, navigateOptions);\n }\n\n if (\n options.openIn &&\n (!router.params.ignoreOpenIn || (router.params.ignoreOpenIn && router.history.length > 0))\n ) {\n return router.openIn(router, navigateUrl, options);\n }\n\n options.route = route;\n\n function resolve() {\n let routerLoaded = false;\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (route.route[modalLoadProp] && !routerLoaded) {\n routerLoaded = true;\n router.modalLoad(modalLoadProp, route, options, 'forward');\n }\n });\n if (route.route.keepAlive && route.route.keepAliveData) {\n load(router, { el: route.route.keepAliveData.pageEl }, options, false);\n routerLoaded = true;\n }\n 'url content component pageName el componentUrl'.split(' ').forEach((pageLoadProp) => {\n if (route.route[pageLoadProp] && !routerLoaded) {\n routerLoaded = true;\n load(router, { [pageLoadProp]: route.route[pageLoadProp] }, options, false);\n }\n });\n if (routerLoaded) return;\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n router.allowPageChange = false;\n let resolvedAsModal = false;\n\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (resolveParams[modalLoadProp]) {\n resolvedAsModal = true;\n const modalRoute = extend({}, route, { route: resolveParams });\n router.allowPageChange = true;\n router.modalLoad(modalLoadProp, modalRoute, extend(options, resolveOptions), 'forward');\n }\n });\n if (resolvedAsModal) return;\n load(router, resolveParams, extend(options, resolveOptions), true);\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (route.route.async) {\n router.allowPageChange = false;\n route.route.async.call(router, {\n router,\n to: options.route,\n from: router.currentRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n direction: 'forward',\n app,\n });\n }\n if (route.route.asyncComponent) {\n asyncComponent(router, route.route.asyncComponent, asyncResolve, asyncReject);\n }\n }\n function reject() {\n router.allowPageChange = true;\n }\n\n if (router.params.masterDetailBreakpoint > 0 && route.route.masterRoute) {\n // load detail route\n let preloadMaster = true;\n let masterLoaded = false;\n if (router.currentRoute && router.currentRoute.route) {\n if (\n (router.currentRoute.route.master === true ||\n (typeof router.currentRoute.route.master === 'function' &&\n router.currentRoute.route.master(app, router))) &&\n (router.currentRoute.route === route.route.masterRoute ||\n router.currentRoute.route.path === route.route.masterRoute.path)\n ) {\n preloadMaster = false;\n }\n if (\n router.currentRoute.route.masterRoute &&\n (router.currentRoute.route.masterRoute === route.route.masterRoute ||\n router.currentRoute.route.masterRoute.path === route.route.masterRoute.path)\n ) {\n preloadMaster = false;\n masterLoaded = true;\n }\n }\n if (preloadMaster || (masterLoaded && navigateOptions.reloadAll)) {\n router.navigate(\n { path: route.route.masterRoute.path, params: route.params || {} },\n {\n animate: false,\n reloadAll: navigateOptions.reloadAll,\n reloadCurrent: navigateOptions.reloadCurrent,\n reloadPrevious: navigateOptions.reloadPrevious,\n browserHistory: !navigateOptions.initial,\n history: !navigateOptions.initial,\n once: {\n pageAfterIn() {\n router.navigate(\n navigateParams,\n extend({}, navigateOptions, {\n animate: false,\n reloadAll: false,\n reloadCurrent: false,\n reloadPrevious: false,\n history: !navigateOptions.initial,\n browserHistory: !navigateOptions.initial,\n }),\n );\n },\n },\n },\n );\n return router;\n }\n }\n\n processRouteQueue.call(\n router,\n route,\n router.currentRoute,\n () => {\n if (route.route.modules) {\n app\n .loadModules(\n Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules],\n )\n .then(() => {\n resolve();\n })\n .catch(() => {\n reject();\n });\n } else {\n resolve();\n }\n },\n () => {\n reject();\n },\n 'forward',\n );\n\n // Return Router\n return router;\n}\nexport { refreshPage, navigate };\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport asyncComponent from './async-component.js';\n\nfunction tabLoad(tabRoute, loadOptions = {}) {\n const router = this;\n const options = extend(\n {\n animate: router.params.animate,\n browserHistory: true,\n history: true,\n parentPageEl: null,\n preload: false,\n on: {},\n },\n loadOptions,\n );\n\n let currentRoute;\n let previousRoute;\n if (options.route) {\n // Set Route\n if (!options.preload && options.route !== router.currentRoute) {\n previousRoute = router.previousRoute;\n router.currentRoute = options.route;\n }\n if (options.preload) {\n currentRoute = options.route;\n previousRoute = router.currentRoute;\n } else {\n currentRoute = router.currentRoute;\n if (!previousRoute) previousRoute = router.previousRoute;\n }\n\n // Update Browser History\n if (router.params.browserHistory && options.browserHistory && !options.reloadPrevious) {\n History[router.params.browserHistoryTabs](\n router.view.id,\n {\n url: options.route.url,\n },\n (router.params.browserHistoryRoot || '') +\n router.params.browserHistorySeparator +\n options.route.url,\n );\n }\n\n // Update Router History\n if (options.history) {\n router.history[Math.max(router.history.length - 1, 0)] = options.route.url;\n router.saveHistory();\n }\n }\n\n // Show Tab\n const $parentPageEl = $(options.parentPageEl || router.currentPageEl);\n let tabEl;\n if ($parentPageEl.length && $parentPageEl.find(`#${tabRoute.id}`).length) {\n tabEl = $parentPageEl.find(`#${tabRoute.id}`).eq(0);\n } else if (router.view.selector) {\n tabEl = `${router.view.selector} #${tabRoute.id}`;\n } else {\n tabEl = `#${tabRoute.id}`;\n }\n const tabShowResult = router.app.tab.show({\n tabEl,\n animate: options.animate,\n tabRoute: options.route,\n });\n\n const { $newTabEl, $oldTabEl, animated, onTabsChanged } = tabShowResult;\n\n if ($newTabEl && $newTabEl.parents('.page').length > 0 && options.route) {\n const tabParentPageData = $newTabEl.parents('.page')[0].f7Page;\n if (tabParentPageData && options.route) {\n tabParentPageData.route = options.route;\n }\n }\n\n // Tab Content Loaded\n function onTabLoaded(contentEl) {\n // Remove theme elements\n router.removeThemeElements($newTabEl);\n\n let tabEventTarget = $newTabEl;\n if (typeof contentEl !== 'string') tabEventTarget = $(contentEl);\n\n tabEventTarget.trigger('tab:init tab:mounted', tabRoute);\n router.emit('tabInit tabMounted', $newTabEl[0], tabRoute);\n\n if ($oldTabEl && $oldTabEl.length) {\n if (animated) {\n onTabsChanged(() => {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n if (router.params.unloadTabContent) {\n router.tabRemove($oldTabEl, $newTabEl, tabRoute);\n }\n });\n } else {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n if (router.params.unloadTabContent) {\n router.tabRemove($oldTabEl, $newTabEl, tabRoute);\n }\n }\n }\n }\n\n if ($newTabEl[0].f7RouterTabLoaded) {\n if (!$oldTabEl || !$oldTabEl.length) return router;\n if (animated) {\n onTabsChanged(() => {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n });\n } else {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n }\n return router;\n }\n\n // Load Tab Content\n function loadTab(loadTabParams, loadTabOptions) {\n // Load Tab Props\n const { url, content, el, component, componentUrl } = loadTabParams;\n // Component/Template Callbacks\n function resolve(contentEl) {\n router.allowPageChange = true;\n if (!contentEl) return;\n if (typeof contentEl === 'string') {\n $newTabEl.html(contentEl);\n } else {\n $newTabEl.html('');\n if (contentEl.f7Component) {\n contentEl.f7Component.mount((componentEl) => {\n $newTabEl.append(componentEl);\n });\n } else {\n $newTabEl.append(contentEl);\n }\n }\n $newTabEl[0].f7RouterTabLoaded = true;\n onTabLoaded(contentEl);\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (content) {\n resolve(content);\n } else if (el) {\n resolve(el);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.tabComponentLoader({\n tabEl: $newTabEl[0],\n component,\n componentUrl,\n options: loadTabOptions,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, loadTabOptions)\n .then((tabContent) => {\n resolve(tabContent);\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n }\n }\n\n let hasContentLoadProp;\n 'url content component el componentUrl'.split(' ').forEach((tabLoadProp) => {\n if (tabRoute[tabLoadProp]) {\n hasContentLoadProp = true;\n loadTab({ [tabLoadProp]: tabRoute[tabLoadProp] }, options);\n }\n });\n\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n loadTab(resolveParams, extend(options, resolveOptions));\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (tabRoute.async) {\n tabRoute.async.call(router, {\n router,\n to: currentRoute,\n from: previousRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n app: router.app,\n });\n } else if (tabRoute.asyncComponent) {\n asyncComponent(router, tabRoute.asyncComponent, asyncResolve, asyncReject);\n } else if (!hasContentLoadProp) {\n router.allowPageChange = true;\n }\n\n return router;\n}\nfunction tabRemove($oldTabEl, $newTabEl, tabRoute) {\n const router = this;\n\n let hasTabComponentChild;\n if ($oldTabEl[0]) {\n $oldTabEl[0].f7RouterTabLoaded = false;\n delete $oldTabEl[0].f7RouterTabLoaded;\n }\n $oldTabEl.children().each((tabChild) => {\n if (tabChild.f7Component) {\n hasTabComponentChild = true;\n $(tabChild).trigger('tab:beforeremove', tabRoute);\n tabChild.f7Component.destroy();\n }\n });\n if (!hasTabComponentChild) {\n $oldTabEl.trigger('tab:beforeremove', tabRoute);\n }\n router.emit('tabBeforeRemove', $oldTabEl[0], $newTabEl[0], tabRoute);\n router.removeTabContent($oldTabEl[0], tabRoute);\n}\n\nexport { tabLoad, tabRemove };\n","import { extend, nextTick } from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport asyncComponent from './async-component.js';\n\nfunction modalLoad(modalType, route, loadOptions = {}, direction) {\n const router = this;\n const app = router.app;\n const isPanel = modalType === 'panel';\n const modalOrPanel = isPanel ? 'panel' : 'modal';\n\n const options = extend(\n {\n animate: router.params.animate,\n browserHistory: true,\n history: true,\n on: {},\n once: {},\n },\n loadOptions,\n );\n\n const modalParams = extend({}, route.route[modalType]);\n const modalRoute = route.route;\n\n const routeCallback = (modal, name) => {\n const { on, once } = options;\n let callback;\n if (name === 'open') {\n callback = on.modalOpen || once.modalOpen || on.panelOpen || once.panelOpen;\n }\n if (name === 'close') {\n callback = on.modalClose || once.modalClose || on.panelClose || once.panelClose;\n }\n if (name === 'closed') {\n callback = on.modalClosed || once.modalClosed || on.panelClosed || once.panelClosed;\n }\n if (callback) callback(modal);\n };\n\n function onModalLoaded() {\n // Create Modal\n const modal = app[modalType].create(modalParams);\n modalRoute.modalInstance = modal;\n\n const hasEl = modal.el;\n\n function closeOnSwipeBack() {\n modal.close();\n }\n modal.on(`${modalOrPanel}Open`, () => {\n if (!hasEl) {\n // Remove theme elements\n router.removeThemeElements(modal.el);\n\n // Emit events\n modal.$el.trigger(\n `${modalType.toLowerCase()}:init ${modalType.toLowerCase()}:mounted`,\n route,\n modal,\n );\n router.emit(\n `${!isPanel ? 'modalInit' : ''} ${modalType}Init ${modalType}Mounted`,\n modal.el,\n route,\n modal,\n );\n }\n router.once('swipeBackMove', closeOnSwipeBack);\n routeCallback(modal, 'open');\n });\n modal.on(`${modalOrPanel}Close`, () => {\n router.off('swipeBackMove', closeOnSwipeBack);\n if (!modal.closeByRouter) {\n router.back();\n }\n routeCallback(modal, 'close');\n });\n\n modal.on(`${modalOrPanel}Closed`, () => {\n modal.$el.trigger(`${modalType.toLowerCase()}:beforeremove`, route, modal);\n modal.emit(\n `${!isPanel ? 'modalBeforeRemove ' : ''}${modalType}BeforeRemove`,\n modal.el,\n route,\n modal,\n );\n const modalComponent = modal.el.f7Component;\n routeCallback(modal, 'closed');\n if (modalComponent) {\n modalComponent.destroy();\n }\n nextTick(() => {\n if (modalComponent || modalParams.component || modalParams.asyncComponent) {\n router.removeModal(modal.el);\n }\n modal.destroy();\n delete modal.route;\n delete modalRoute.modalInstance;\n });\n });\n\n if (options.route) {\n // Update Browser History\n if (router.params.browserHistory && options.browserHistory) {\n History.push(\n router.view.id,\n {\n url: options.route.url,\n modal: modalType,\n },\n (router.params.browserHistoryRoot || '') +\n router.params.browserHistorySeparator +\n options.route.url,\n );\n }\n\n // Set Route\n if (options.route !== router.currentRoute) {\n modal.route = extend(options.route, { modal });\n router.currentRoute = modal.route;\n }\n\n // Update Router History\n if (options.history && !options.reloadCurrent) {\n router.history.push(options.route.url);\n router.saveHistory();\n }\n }\n\n if (hasEl) {\n // Remove theme elements\n router.removeThemeElements(modal.el);\n\n // Emit events\n modal.$el.trigger(\n `${modalType.toLowerCase()}:init ${modalType.toLowerCase()}:mounted`,\n route,\n modal,\n );\n router.emit(\n `${modalOrPanel}Init ${modalType}Init ${modalType}Mounted`,\n modal.el,\n route,\n modal,\n );\n }\n\n // Open\n modal.open(options.animate === false || options.animate === true ? options.animate : undefined);\n }\n\n // Load Modal Content\n function loadModal(loadModalParams, loadModalOptions) {\n // Load Modal Props\n const { url, content, component, componentUrl } = loadModalParams;\n\n // Component/Template Callbacks\n function resolve(contentEl) {\n if (contentEl) {\n if (typeof contentEl === 'string') {\n modalParams.content = contentEl;\n } else if (contentEl.f7Component) {\n contentEl.f7Component.mount((componentEl) => {\n modalParams.el = componentEl;\n app.$el.append(componentEl);\n });\n } else {\n modalParams.el = contentEl;\n }\n onModalLoaded();\n }\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (content) {\n resolve(content);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.modalComponentLoader({\n rootEl: app.el,\n component,\n componentUrl,\n options: loadModalOptions,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, loadModalOptions)\n .then((modalContent) => {\n modalParams.content = modalContent;\n onModalLoaded();\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n } else {\n onModalLoaded();\n }\n }\n\n let foundLoadProp;\n 'url content component el componentUrl template'.split(' ').forEach((modalLoadProp) => {\n if (modalParams[modalLoadProp] && !foundLoadProp) {\n foundLoadProp = true;\n loadModal({ [modalLoadProp]: modalParams[modalLoadProp] }, options);\n }\n });\n if (!foundLoadProp && modalType === 'actions') {\n onModalLoaded();\n }\n\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n loadModal(resolveParams, extend(options, resolveOptions));\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (modalParams.async) {\n modalParams.async.call(router, {\n router,\n to: options.route,\n from: router.currentRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n direction,\n app,\n });\n }\n if (modalParams.asyncComponent) {\n asyncComponent(router, modalParams.asyncComponent, asyncResolve, asyncReject);\n }\n return router;\n}\nfunction modalRemove(modal) {\n extend(modal, { closeByRouter: true });\n modal.close();\n}\n\nexport { modalLoad, modalRemove };\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { extend, parseUrlQuery } from '../../shared/utils.js';\nimport { getDevice } from '../../shared/get-device.js';\nimport History from '../../shared/history.js';\nimport redirect from './redirect.js';\nimport processRouteQueue from './process-route-queue.js';\nimport appRouterCheck from './app-router-check.js';\nimport asyncComponent from './async-component.js';\n\nfunction backward(router, el, backwardOptions) {\n const device = getDevice();\n const document = getDocument();\n const $el = $(el);\n const app = router.app;\n const view = router.view;\n\n const options = extend(\n false,\n {\n animate: router.params.animate,\n browserHistory: true,\n replaceState: false,\n },\n backwardOptions,\n );\n\n const masterDetailEnabled = router.params.masterDetailBreakpoint > 0;\n const isMaster =\n masterDetailEnabled &&\n options.route &&\n options.route.route &&\n (options.route.route.master === true ||\n (typeof options.route.route.master === 'function' &&\n options.route.route.master(app, router)));\n let masterPageEl;\n let masterPageRemoved;\n\n const dynamicNavbar = router.dynamicNavbar;\n\n const $newPage = $el;\n const $oldPage = router.$el.children('.page-current');\n const initialPreload = $oldPage.length === 0 && options.preload;\n const currentIsMaster = masterDetailEnabled && $oldPage.hasClass('page-master');\n\n if ($newPage.length) {\n // Remove theme elements\n router.removeThemeElements($newPage);\n }\n\n let $navbarsEl;\n let $newNavbarEl;\n let $oldNavbarEl;\n\n if (dynamicNavbar) {\n $newNavbarEl = $newPage.children('.navbar');\n $navbarsEl = router.$navbarsEl;\n if ($newNavbarEl.length === 0 && $newPage[0] && $newPage[0].f7Page) {\n // Try from pageData\n $newNavbarEl = $newPage[0].f7Page.$navbarEl;\n }\n $oldNavbarEl = $navbarsEl.find('.navbar-current');\n }\n\n router.allowPageChange = false;\n if ($newPage.length === 0 || ($oldPage.length === 0 && !options.preload)) {\n router.allowPageChange = true;\n return router;\n }\n\n // Remove theme elements\n router.removeThemeElements($newPage);\n\n // Save Keep Alive Cache\n if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !options.route.route.keepAliveData\n ) {\n options.route.route.keepAliveData = {\n pageEl: $el[0],\n };\n }\n\n // Pages In View\n let isDetail;\n let isDetailRoot;\n if (masterDetailEnabled) {\n const $pagesInView = router.$el\n .children('.page')\n .filter((pageInView) => pageInView !== $newPage[0]);\n\n // Find Detail' master page\n for (let i = 0; i < $pagesInView.length; i += 1) {\n if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {\n masterPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n\n isDetail =\n !isMaster &&\n masterPageEl &&\n router.history.indexOf(options.route.url) >\n router.history.indexOf(masterPageEl.f7Page.route.url);\n\n if (\n !isDetail &&\n !isMaster &&\n masterPageEl &&\n masterPageEl.f7Page &&\n options.route.route.masterRoute\n ) {\n isDetail = options.route.route.masterRoute.path === masterPageEl.f7Page.route.route.path;\n }\n }\n if (isDetail && masterPageEl && masterPageEl.f7Page) {\n isDetailRoot =\n router.history.indexOf(options.route.url) -\n router.history.indexOf(masterPageEl.f7Page.route.url) ===\n 1;\n }\n\n // New Page\n $newPage\n .addClass(\n `page-${initialPreload ? 'current' : 'previous'}${isMaster ? ' page-master' : ''}${\n isDetail ? ' page-master-detail' : ''\n }${isDetailRoot ? ' page-master-detail-root' : ''}`,\n )\n .removeAttr('aria-hidden')\n .trigger('page:unstack')\n .trigger('page:position', { position: initialPreload ? 'current' : 'previous' });\n router.emit('pageUnstack', $newPage[0]);\n router.emit('pagePosition', $newPage[0], initialPreload ? 'current' : 'previous');\n if (isMaster || isDetail) {\n $newPage.trigger('page:role', { role: isMaster ? 'master' : 'detail', root: !!isDetailRoot });\n router.emit('pageRole', $newPage[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n\n if (dynamicNavbar && $newNavbarEl.length > 0) {\n $newNavbarEl\n .addClass(\n `navbar-${initialPreload ? 'current' : 'previous'}${isMaster ? ' navbar-master' : ''}${\n isDetail ? ' navbar-master-detail' : ''\n }${isDetailRoot ? ' navbar-master-detail-root' : ''}`,\n )\n .removeAttr('aria-hidden');\n $newNavbarEl.trigger('navbar:position', { position: initialPreload ? 'current' : 'previous' });\n router.emit('navbarPosition', $newNavbarEl[0], initialPreload ? 'current' : 'previous');\n if (isMaster || isDetailRoot) {\n router.emit('navbarRole', $newNavbarEl[0], {\n role: isMaster ? 'master' : 'detail',\n detailRoot: !!isDetailRoot,\n });\n }\n }\n\n // Remove previous page in case of \"forced\"\n let backIndex;\n if (options.force) {\n if ($oldPage.prev('.page-previous').length >= 0) {\n if (router.history.indexOf(options.route.url) >= 0) {\n backIndex = router.history.length - router.history.indexOf(options.route.url) - 1;\n router.history = router.history.slice(0, router.history.indexOf(options.route.url) + 2);\n view.history = router.history;\n } else if (router.history[[router.history.length - 2]]) {\n router.history[router.history.length - 2] = options.route.url;\n } else {\n router.history.unshift(router.url);\n }\n\n const $pageToRemove = $oldPage.prev('.page-previous');\n let $navbarToRemove;\n if (dynamicNavbar) {\n $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));\n }\n if ($pageToRemove.length > 0) {\n router.pageCallback(\n 'beforeRemove',\n $pageToRemove,\n $navbarToRemove,\n 'previous',\n undefined,\n options,\n );\n if ($pageToRemove[0] === masterPageEl) {\n masterPageRemoved = true;\n }\n router.removePage($pageToRemove);\n if (dynamicNavbar && $navbarToRemove.length) {\n router.removeNavbar($navbarToRemove);\n }\n }\n }\n }\n\n // Insert new page\n const newPageInDom = $newPage.parents(document).length > 0;\n const f7Component = $newPage[0].f7Component;\n\n function insertPage() {\n if (initialPreload) {\n if (!newPageInDom && f7Component) {\n f7Component.mount((componentEl) => {\n router.$el.append(componentEl);\n });\n } else {\n router.$el.append($newPage);\n }\n }\n if ($newPage.next($oldPage).length === 0) {\n if (!newPageInDom && f7Component) {\n f7Component.mount((componentEl) => {\n $(componentEl).insertBefore($oldPage);\n });\n } else {\n $newPage.insertBefore($oldPage);\n }\n }\n if (dynamicNavbar && $newNavbarEl.length) {\n if ($newNavbarEl.find('.title-large').length) {\n $newNavbarEl.addClass('navbar-large');\n }\n $newNavbarEl.insertBefore($oldNavbarEl);\n if ($oldNavbarEl.length > 0) {\n $newNavbarEl.insertBefore($oldNavbarEl);\n } else {\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n $navbarsEl.append($newNavbarEl);\n }\n }\n if (!newPageInDom) {\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n 'previous',\n 'current',\n options,\n $oldPage,\n );\n } else if (\n options.route &&\n options.route.route &&\n options.route.route.keepAlive &&\n !$newPage[0].f7PageMounted\n ) {\n $newPage[0].f7PageMounted = true;\n router.pageCallback(\n 'mounted',\n $newPage,\n $newNavbarEl,\n 'previous',\n 'current',\n options,\n $oldPage,\n );\n }\n }\n\n if (options.preload) {\n // Insert Page\n insertPage();\n // Tab route\n if (options.route.route.tab) {\n router.tabLoad(\n options.route.route.tab,\n extend({}, options, {\n history: false,\n browserHistory: false,\n preload: true,\n }),\n );\n }\n if (isMaster) {\n $newPage.removeClass('page-master-stacked').trigger('page:masterunstack');\n router.emit('pageMasterUnstack', $newPage[0]);\n if (dynamicNavbar) {\n $(app.navbar.getElByPage($newPage)).removeClass('navbar-master-stacked');\n router.emit('navbarMasterUnstack', app.navbar.getElByPage($newPage));\n }\n }\n // Page init and before init events\n router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);\n if (initialPreload) {\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'current', undefined, options);\n router.pageCallback('afterIn', $newPage, $newNavbarEl, 'current', undefined, options);\n }\n const $previousPages = $newPage.prevAll('.page-previous:not(.page-master)');\n if ($previousPages.length > 0) {\n $previousPages.each((pageToRemove) => {\n const $pageToRemove = $(pageToRemove);\n let $navbarToRemove;\n if (dynamicNavbar) {\n $navbarToRemove = $(app.navbar.getElByPage($pageToRemove));\n }\n\n router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined);\n router.removePage($pageToRemove);\n if (dynamicNavbar && $navbarToRemove.length) {\n router.removeNavbar($navbarToRemove);\n }\n });\n }\n router.allowPageChange = true;\n return router;\n }\n\n // History State\n if (!(device.ie || device.edge || (device.firefox && !device.ios))) {\n if (router.params.browserHistory && options.browserHistory) {\n if (options.replaceState) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History.replace(\n view.id,\n {\n url: options.route.url,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + options.route.url,\n );\n } else if (backIndex) {\n History.go(-backIndex);\n } else {\n History.back();\n }\n }\n }\n\n // Update History\n if (options.replaceState) {\n router.history[router.history.length - 1] = options.route.url;\n } else {\n if (router.history.length === 1) {\n router.history.unshift(router.url);\n }\n router.history.pop();\n }\n router.saveHistory();\n\n // Current Page & Navbar\n router.currentPageEl = $newPage[0];\n if (dynamicNavbar && $newNavbarEl.length) {\n router.currentNavbarEl = $newNavbarEl[0];\n } else {\n delete router.currentNavbarEl;\n }\n\n // Current Route\n router.currentRoute = options.route;\n\n // History State\n if (device.ie || device.edge || (device.firefox && !device.ios)) {\n if (router.params.browserHistory && options.browserHistory) {\n if (options.replaceState) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History.replace(\n view.id,\n {\n url: options.route.url,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + options.route.url,\n );\n } else if (backIndex) {\n History.go(-backIndex);\n } else {\n History.back();\n }\n }\n }\n\n // Insert Page\n insertPage();\n\n // Load Tab\n if (options.route.route.tab) {\n router.tabLoad(\n options.route.route.tab,\n extend({}, options, {\n history: false,\n browserHistory: false,\n }),\n );\n }\n\n // Check master detail\n\n if (masterDetailEnabled && (currentIsMaster || masterPageRemoved)) {\n view.checkMasterDetailBreakpoint(false);\n }\n\n // Page init and before init events\n router.pageCallback('init', $newPage, $newNavbarEl, 'previous', 'current', options, $oldPage);\n\n // Before animation callback\n router.pageCallback('beforeOut', $oldPage, $oldNavbarEl, 'current', 'next', options);\n router.pageCallback('beforeIn', $newPage, $newNavbarEl, 'previous', 'current', options);\n\n // Animation\n function afterAnimation() {\n // Set classes\n router.setPagePosition($newPage, 'current', false);\n router.setPagePosition($oldPage, 'next', true);\n if (dynamicNavbar) {\n router.setNavbarPosition($newNavbarEl, 'current', false);\n router.setNavbarPosition($oldNavbarEl, 'next', true);\n }\n\n // After animation event\n router.pageCallback('afterOut', $oldPage, $oldNavbarEl, 'current', 'next', options);\n router.pageCallback('afterIn', $newPage, $newNavbarEl, 'previous', 'current', options);\n\n // Remove Old Page\n\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarEl, 'next', undefined, options);\n router.removePage($oldPage);\n if (dynamicNavbar && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n\n router.allowPageChange = true;\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n // Preload previous page\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history[router.history.length - 2] && !isMaster) {\n router.back(router.history[router.history.length - 2], { preload: true });\n }\n if (router.params.browserHistory) {\n History.clearRouterQueue();\n }\n }\n\n function setPositionClasses() {\n router.setPagePosition($oldPage, 'current');\n router.setPagePosition($newPage, 'previous', false);\n if (dynamicNavbar) {\n router.setNavbarPosition($oldNavbarEl, 'current');\n router.setNavbarPosition($newNavbarEl, 'previous', false);\n }\n }\n\n if (options.animate && !(currentIsMaster && app.width >= router.params.masterDetailBreakpoint)) {\n let transition = router.params.transition;\n if ($oldPage[0] && $oldPage[0].f7PageTransition) {\n transition = $oldPage[0].f7PageTransition;\n delete $oldPage[0].f7PageTransition;\n }\n if (options.transition) transition = options.transition;\n if (!transition && router.previousRoute && router.previousRoute.route) {\n transition = router.previousRoute.route.transition;\n }\n if (\n !transition &&\n router.previousRoute &&\n router.previousRoute.route &&\n router.previousRoute.route.options\n ) {\n transition = router.previousRoute.route.options.transition;\n }\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarEl, $newNavbarEl, 'backward', transition, () => {\n afterAnimation();\n });\n } else {\n afterAnimation();\n }\n\n return router;\n}\nfunction loadBack(router, backParams, backOptions, ignorePageChange) {\n if (!router.allowPageChange && !ignorePageChange) return router;\n const params = backParams;\n const options = backOptions;\n const { url, content, el, pageName, component, componentUrl } = params;\n\n if (\n options.route.url &&\n router.url === options.route.url &&\n !(options.reloadCurrent || options.reloadPrevious) &&\n !router.params.allowDuplicateUrls\n ) {\n return false;\n }\n\n if (!options.route && url) {\n options.route = router.parseRouteUrl(url);\n }\n\n // Component Callbacks\n function resolve(pageEl, newOptions) {\n return backward(router, pageEl, extend(options, newOptions));\n }\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (url || componentUrl || component) {\n router.allowPageChange = false;\n }\n\n // Proceed\n if (content) {\n backward(router, router.getPageEl(content), options);\n } else if (el) {\n // Load page from specified HTMLElement or by page name in pages container\n backward(router, router.getPageEl(el), options);\n } else if (pageName) {\n // Load page by page name in pages container\n backward(router, router.$el.children(`.page[data-name=\"${pageName}\"]`).eq(0), options);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.pageComponentLoader({\n routerEl: router.el,\n component,\n componentUrl,\n options,\n resolve,\n reject,\n });\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, options)\n .then((pageContent) => {\n backward(router, router.getPageEl(pageContent), options);\n })\n .catch(() => {\n router.allowPageChange = true;\n });\n }\n return router;\n}\nfunction back(...args) {\n const router = this;\n const device = getDevice();\n if (router.swipeBackActive) return router;\n let navigateUrl;\n let navigateOptions;\n let route;\n if (typeof args[0] === 'object') {\n navigateOptions = args[0] || {};\n } else {\n navigateUrl = args[0];\n navigateOptions = args[1] || {};\n }\n\n const { name, params, query } = navigateOptions;\n if (name) {\n navigateUrl = router.generateUrl({ name, params, query });\n if (navigateUrl) {\n return router.back(\n navigateUrl,\n extend({}, navigateOptions, {\n name: null,\n params: null,\n query: null,\n }),\n );\n }\n return router;\n }\n\n const app = router.app;\n appRouterCheck(router, 'back');\n\n let currentRouteIsModal = router.currentRoute.modal;\n let modalType;\n if (!currentRouteIsModal) {\n 'popup popover sheet loginScreen actions customModal panel'\n .split(' ')\n .forEach((modalLoadProp) => {\n if (router.currentRoute.route[modalLoadProp]) {\n currentRouteIsModal = true;\n modalType = modalLoadProp;\n }\n });\n }\n if (currentRouteIsModal && !navigateOptions.preload) {\n const modalToClose =\n router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();\n const previousUrl = router.history[router.history.length - 2];\n let previousRoute;\n // check if previous route is modal too\n if (modalToClose && modalToClose.$el) {\n const prevOpenedModals = modalToClose.$el.prevAll('.modal-in');\n if (prevOpenedModals.length && prevOpenedModals[0].f7Modal) {\n const modalEl = prevOpenedModals[0];\n // check if current router not inside of the modalEl\n if (!router.$el.parents(modalEl).length) {\n previousRoute = modalEl.f7Modal.route;\n }\n }\n }\n if (!previousRoute) {\n previousRoute = router.findMatchingRoute(previousUrl);\n }\n\n if (!previousRoute && previousUrl) {\n previousRoute = {\n url: previousUrl,\n path: previousUrl.split('?')[0],\n query: parseUrlQuery(previousUrl),\n route: {\n path: previousUrl.split('?')[0],\n url: previousUrl,\n },\n };\n }\n if (!navigateUrl || navigateUrl.replace(/[# ]/g, '').trim().length === 0) {\n if (!previousRoute || !modalToClose) {\n return router;\n }\n }\n const forceOtherUrl = navigateOptions.force && previousRoute && navigateUrl;\n if (previousRoute && modalToClose) {\n const isBrokenBrowserHistory = device.ie || device.edge || (device.firefox && !device.ios);\n const needHistoryBack =\n router.params.browserHistory && navigateOptions.browserHistory !== false;\n const currentRouteWithoutBrowserHistory =\n router.currentRoute &&\n router.currentRoute.route &&\n router.currentRoute.route.options &&\n router.currentRoute.route.options.browserHistory === false;\n if (needHistoryBack && !isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {\n History.back();\n }\n router.currentRoute = previousRoute;\n router.history.pop();\n router.saveHistory();\n\n if (needHistoryBack && isBrokenBrowserHistory && !currentRouteWithoutBrowserHistory) {\n History.back();\n }\n\n router.modalRemove(modalToClose);\n if (forceOtherUrl) {\n router.navigate(navigateUrl, { reloadCurrent: true });\n }\n } else if (modalToClose) {\n router.modalRemove(modalToClose);\n if (navigateUrl) {\n router.navigate(navigateUrl, { reloadCurrent: true });\n }\n }\n return router;\n }\n let $previousPage = router.$el\n .children('.page-current')\n .prevAll('.page-previous:not(.page-master)')\n .eq(0);\n\n let skipMaster;\n if (router.params.masterDetailBreakpoint > 0) {\n const classes = [];\n router.$el.children('.page').each((pageEl) => {\n classes.push(pageEl.className);\n });\n\n const $previousMaster = router.$el.children('.page-current').prevAll('.page-master').eq(0);\n if ($previousMaster.length) {\n const expectedPreviousPageUrl = router.history[router.history.length - 2];\n const expectedPreviousPageRoute = router.findMatchingRoute(expectedPreviousPageUrl);\n if (\n expectedPreviousPageRoute &&\n $previousMaster[0].f7Page &&\n expectedPreviousPageRoute.route === $previousMaster[0].f7Page.route.route\n ) {\n $previousPage = $previousMaster;\n if (!navigateOptions.preload) {\n skipMaster = app.width >= router.params.masterDetailBreakpoint;\n }\n }\n }\n }\n\n if (!navigateOptions.force && $previousPage.length && !skipMaster) {\n if (\n router.params.browserHistory &&\n $previousPage[0].f7Page &&\n router.history[router.history.length - 2] !== $previousPage[0].f7Page.route.url\n ) {\n router.back(\n router.history[router.history.length - 2],\n extend(navigateOptions, { force: true }),\n );\n return router;\n }\n const previousPageRoute = $previousPage[0].f7Page.route;\n\n processRouteQueue.call(\n router,\n previousPageRoute,\n router.currentRoute,\n () => {\n loadBack(\n router,\n { el: $previousPage },\n extend(navigateOptions, {\n route: previousPageRoute,\n }),\n );\n },\n () => {},\n 'backward',\n );\n\n return router;\n }\n\n // Navigate URL\n if (navigateUrl === '#') {\n navigateUrl = undefined;\n }\n if (navigateUrl && navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {\n navigateUrl = ((router.path || '/') + navigateUrl).replace('//', '/');\n }\n if (!navigateUrl && router.history.length > 1) {\n navigateUrl = router.history[router.history.length - 2];\n }\n if (skipMaster && !navigateOptions.force && router.history[router.history.length - 3]) {\n return router.back(\n router.history[router.history.length - 3],\n extend({}, navigateOptions || {}, {\n force: true,\n animate: false,\n }),\n );\n }\n if (skipMaster && !navigateOptions.force) {\n return router;\n }\n\n // Find route to load\n route = router.findMatchingRoute(navigateUrl);\n if (!route) {\n if (navigateUrl) {\n route = {\n url: navigateUrl,\n path: navigateUrl.split('?')[0],\n query: parseUrlQuery(navigateUrl),\n route: {\n path: navigateUrl.split('?')[0],\n url: navigateUrl,\n },\n };\n }\n }\n if (!route) {\n return router;\n }\n\n if (route.route.redirect) {\n return redirect.call(router, 'backward', route, navigateOptions);\n }\n\n const options = {};\n if (route.route.options) {\n extend(options, route.route.options, navigateOptions);\n } else {\n extend(options, navigateOptions);\n }\n options.route = route;\n\n function resolve() {\n let routerLoaded = false;\n if (route.route.keepAlive && route.route.keepAliveData) {\n loadBack(router, { el: route.route.keepAliveData.pageEl }, options);\n routerLoaded = true;\n }\n 'url content component pageName el componentUrl'.split(' ').forEach((pageLoadProp) => {\n if (route.route[pageLoadProp] && !routerLoaded) {\n routerLoaded = true;\n loadBack(router, { [pageLoadProp]: route.route[pageLoadProp] }, options);\n }\n });\n if (routerLoaded) return;\n // Async\n function asyncResolve(resolveParams, resolveOptions) {\n router.allowPageChange = false;\n loadBack(router, resolveParams, extend(options, resolveOptions), true);\n }\n function asyncReject() {\n router.allowPageChange = true;\n }\n if (route.route.async) {\n router.allowPageChange = false;\n route.route.async.call(router, {\n router,\n to: route,\n from: router.currentRoute,\n resolve: asyncResolve,\n reject: asyncReject,\n direction: 'backward',\n app,\n });\n }\n if (route.route.asyncComponent) {\n asyncComponent(router, route.route.asyncComponent, asyncResolve, asyncReject);\n }\n }\n function reject() {\n router.allowPageChange = true;\n }\n\n if (options.preload) {\n resolve();\n } else {\n processRouteQueue.call(\n router,\n route,\n router.currentRoute,\n () => {\n if (route.route.modules) {\n app\n .loadModules(\n Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules],\n )\n .then(() => {\n resolve();\n })\n .catch(() => {\n reject();\n });\n } else {\n resolve();\n }\n },\n () => {\n reject();\n },\n 'backward',\n );\n }\n\n // Return Router\n return router;\n}\nexport { back };\n","import $ from '../../shared/dom7.js';\nimport appRouterCheck from './app-router-check.js';\n\nfunction clearPreviousPages(router) {\n appRouterCheck(router, 'clearPreviousPages');\n const app = router.app;\n const dynamicNavbar = router.dynamicNavbar;\n\n const $pagesToRemove = router.$el.children('.page').filter((pageInView) => {\n if (router.currentRoute && (router.currentRoute.modal || router.currentRoute.panel))\n return true;\n return pageInView !== router.currentPageEl;\n });\n\n $pagesToRemove.each((pageEl) => {\n const $oldPageEl = $(pageEl);\n const $oldNavbarEl = $(app.navbar.getElByPage($oldPageEl));\n // Page remove event\n router.pageCallback('beforeRemove', $oldPageEl, $oldNavbarEl, 'previous', undefined, {});\n router.removePage($oldPageEl);\n if (dynamicNavbar && $oldNavbarEl.length) {\n router.removeNavbar($oldNavbarEl);\n }\n });\n}\n\nfunction clearPreviousHistory() {\n const router = this;\n appRouterCheck(router, 'clearPreviousHistory');\n const url = router.history[router.history.length - 1];\n\n clearPreviousPages(router);\n\n router.history = [url];\n router.view.history = [url];\n router.saveHistory();\n}\n\nexport { clearPreviousHistory }; // eslint-disable-line\n","import { getWindow, getDocument } from 'ssr-window';\nimport { pathToRegexp, compile } from 'path-to-regexp';\nimport $ from '../../shared/dom7.js';\nimport Framework7Class from '../../shared/class.js';\nimport {\n extend,\n nextFrame,\n parseUrlQuery,\n serializeObject,\n now,\n eventNameToColonCase,\n} from '../../shared/utils.js';\nimport History from '../../shared/history.js';\nimport SwipeBack from './swipe-back.js';\n\nimport { refreshPage, navigate } from './navigate.js';\nimport { tabLoad, tabRemove } from './tab.js';\nimport { modalLoad, modalRemove } from './modal.js';\nimport { back } from './back.js';\nimport { clearPreviousHistory } from './clear-previous-history.js';\nimport appRouterCheck from './app-router-check.js';\n\nclass Router extends Framework7Class {\n constructor(app, view) {\n super({}, [typeof view === 'undefined' ? app : view]);\n const router = this;\n\n // Is App Router\n router.isAppRouter = typeof view === 'undefined';\n\n if (router.isAppRouter) {\n // App Router\n extend(false, router, {\n app,\n params: app.params.view,\n routes: app.routes || [],\n cache: app.cache,\n });\n } else {\n // View Router\n extend(false, router, {\n app,\n view,\n viewId: view.id,\n id: view.params.routerId,\n params: view.params,\n routes: view.routes,\n history: view.history,\n scrollHistory: view.scrollHistory,\n cache: app.cache,\n dynamicNavbar: app.theme === 'ios' && view.params.iosDynamicNavbar,\n initialPages: [],\n initialNavbars: [],\n });\n }\n\n // Install Modules\n router.useModules();\n\n // AllowPageChage\n router.allowPageChange = true;\n\n // Current Route\n let currentRoute = {};\n let previousRoute = {};\n Object.defineProperty(router, 'currentRoute', {\n enumerable: true,\n configurable: true,\n set(newRoute = {}) {\n previousRoute = extend({}, currentRoute);\n currentRoute = newRoute;\n if (!currentRoute) return;\n router.url = currentRoute.url;\n router.emit('routeChange', newRoute, previousRoute, router);\n },\n get() {\n return currentRoute;\n },\n });\n Object.defineProperty(router, 'previousRoute', {\n enumerable: true,\n configurable: true,\n get() {\n return previousRoute;\n },\n set(newRoute) {\n previousRoute = newRoute;\n },\n });\n\n return router;\n }\n\n mount() {\n const router = this;\n const view = router.view;\n const document = getDocument();\n\n extend(false, router, {\n tempDom: document.createElement('div'),\n $el: view.$el,\n el: view.el,\n $navbarsEl: view.$navbarsEl,\n navbarsEl: view.navbarsEl,\n });\n\n router.emit('local::mount routerMount', router);\n }\n\n animatableNavElements($newNavbarEl, $oldNavbarEl, toLarge, fromLarge, direction) {\n const router = this;\n const dynamicNavbar = router.dynamicNavbar;\n const animateIcon = router.params.iosAnimateNavbarBackIcon;\n\n let newNavEls;\n let oldNavEls;\n function animatableNavEl($el, $navbarInner) {\n const isSliding = $el.hasClass('sliding') || $navbarInner.hasClass('sliding');\n const isSubnavbar = $el.hasClass('subnavbar');\n const needsOpacityTransition = isSliding ? !isSubnavbar : true;\n const $iconEl = $el.find('.back .icon');\n let isIconLabel;\n if (\n isSliding &&\n animateIcon &&\n $el.hasClass('left') &&\n $iconEl.length > 0 &&\n $iconEl.next('span').length\n ) {\n $el = $iconEl.next('span'); // eslint-disable-line\n isIconLabel = true;\n }\n return {\n $el,\n isIconLabel,\n leftOffset: $el[0].f7NavbarLeftOffset,\n rightOffset: $el[0].f7NavbarRightOffset,\n isSliding,\n isSubnavbar,\n needsOpacityTransition,\n };\n }\n if (dynamicNavbar) {\n newNavEls = [];\n oldNavEls = [];\n $newNavbarEl\n .children('.navbar-inner')\n .children('.left, .right, .title, .subnavbar')\n .each((navEl) => {\n const $navEl = $(navEl);\n if ($navEl.hasClass('left') && fromLarge && direction === 'forward') return;\n if ($navEl.hasClass('title') && toLarge) return;\n newNavEls.push(animatableNavEl($navEl, $newNavbarEl.children('.navbar-inner')));\n });\n if (\n !(\n $oldNavbarEl.hasClass('navbar-master') &&\n router.params.masterDetailBreakpoint > 0 &&\n router.app.width >= router.params.masterDetailBreakpoint\n )\n ) {\n $oldNavbarEl\n .children('.navbar-inner')\n .children('.left, .right, .title, .subnavbar')\n .each((navEl) => {\n const $navEl = $(navEl);\n if ($navEl.hasClass('left') && toLarge && !fromLarge && direction === 'forward') return;\n if ($navEl.hasClass('left') && toLarge && direction === 'backward') return;\n if ($navEl.hasClass('title') && fromLarge) {\n return;\n }\n oldNavEls.push(animatableNavEl($navEl, $oldNavbarEl.children('.navbar-inner')));\n });\n }\n [oldNavEls, newNavEls].forEach((navEls) => {\n navEls.forEach((navEl) => {\n const n = navEl;\n const { isSliding, $el } = navEl;\n const otherEls = navEls === oldNavEls ? newNavEls : oldNavEls;\n if (!(isSliding && $el.hasClass('title') && otherEls)) return;\n otherEls.forEach((otherNavEl) => {\n if (otherNavEl.isIconLabel) {\n const iconTextEl = otherNavEl.$el[0];\n n.leftOffset += iconTextEl ? iconTextEl.offsetLeft || 0 : 0;\n }\n });\n });\n });\n }\n\n return { newNavEls, oldNavEls };\n }\n\n animate($oldPageEl, $newPageEl, $oldNavbarEl, $newNavbarEl, direction, transition, callback) {\n const router = this;\n if (router.params.animateCustom) {\n router.params.animateCustom.apply(router, [\n $oldPageEl,\n $newPageEl,\n $oldNavbarEl,\n $newNavbarEl,\n direction,\n callback,\n ]);\n return;\n }\n const dynamicNavbar = router.dynamicNavbar;\n const ios = router.app.theme === 'ios';\n if (transition) {\n const routerCustomTransitionClass = `router-transition-custom router-transition-${transition}-${direction}`;\n // Animate\n const onCustomTransitionDone = () => {\n router.$el.removeClass(routerCustomTransitionClass);\n if (dynamicNavbar && router.$navbarsEl.length) {\n if ($newNavbarEl) {\n router.$navbarsEl.prepend($newNavbarEl);\n }\n if ($oldNavbarEl) {\n router.$navbarsEl.prepend($oldNavbarEl);\n }\n }\n if (callback) callback();\n };\n\n (direction === 'forward' ? $newPageEl : $oldPageEl).animationEnd(onCustomTransitionDone);\n if (dynamicNavbar) {\n if ($newNavbarEl && $newPageEl) {\n router.setNavbarPosition($newNavbarEl, '');\n $newNavbarEl.removeClass('navbar-next navbar-previous navbar-current');\n $newPageEl.prepend($newNavbarEl);\n }\n if ($oldNavbarEl && $oldPageEl) {\n router.setNavbarPosition($oldNavbarEl, '');\n $oldNavbarEl.removeClass('navbar-next navbar-previous navbar-current');\n $oldPageEl.prepend($oldNavbarEl);\n }\n }\n\n router.$el.addClass(routerCustomTransitionClass);\n return;\n }\n\n // Router Animation class\n const routerTransitionClass = `router-transition-${direction} router-transition`;\n\n let newNavEls;\n let oldNavEls;\n\n let fromLarge;\n let toLarge;\n let toDifferent;\n\n let oldIsLarge;\n let newIsLarge;\n\n if (ios && dynamicNavbar) {\n const betweenMasterAndDetail =\n router.params.masterDetailBreakpoint > 0 &&\n router.app.width >= router.params.masterDetailBreakpoint &&\n (($oldNavbarEl.hasClass('navbar-master') &&\n $newNavbarEl.hasClass('navbar-master-detail')) ||\n ($oldNavbarEl.hasClass('navbar-master-detail') &&\n $newNavbarEl.hasClass('navbar-master')));\n if (!betweenMasterAndDetail) {\n oldIsLarge = $oldNavbarEl && $oldNavbarEl.hasClass('navbar-large');\n newIsLarge = $newNavbarEl && $newNavbarEl.hasClass('navbar-large');\n fromLarge = oldIsLarge && !$oldNavbarEl.hasClass('navbar-large-collapsed');\n toLarge = newIsLarge && !$newNavbarEl.hasClass('navbar-large-collapsed');\n toDifferent = (fromLarge && !toLarge) || (toLarge && !fromLarge);\n }\n const navEls = router.animatableNavElements(\n $newNavbarEl,\n $oldNavbarEl,\n toLarge,\n fromLarge,\n direction,\n );\n newNavEls = navEls.newNavEls;\n oldNavEls = navEls.oldNavEls;\n }\n\n function animateNavbars(progress) {\n if (!(ios && dynamicNavbar)) return;\n if (progress === 1) {\n if (toLarge) {\n $newNavbarEl.addClass('router-navbar-transition-to-large');\n $oldNavbarEl.addClass('router-navbar-transition-to-large');\n }\n if (fromLarge) {\n $newNavbarEl.addClass('router-navbar-transition-from-large');\n $oldNavbarEl.addClass('router-navbar-transition-from-large');\n }\n }\n newNavEls.forEach((navEl) => {\n const $el = navEl.$el;\n const offset = direction === 'forward' ? navEl.rightOffset : navEl.leftOffset;\n if (navEl.isSliding) {\n if (navEl.isSubnavbar && newIsLarge) {\n // prettier-ignore\n $el[0].style.setProperty(\n 'transform',\n `translate3d(${offset * (1 - progress)}px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`,\n 'important',\n );\n } else {\n $el.transform(`translate3d(${offset * (1 - progress)}px,0,0)`);\n }\n }\n });\n oldNavEls.forEach((navEl) => {\n const $el = navEl.$el;\n const offset = direction === 'forward' ? navEl.leftOffset : navEl.rightOffset;\n if (navEl.isSliding) {\n if (navEl.isSubnavbar && oldIsLarge) {\n $el.transform(\n `translate3d(${\n offset * progress\n }px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)`,\n );\n } else {\n $el.transform(`translate3d(${offset * progress}px,0,0)`);\n }\n }\n });\n }\n\n // AnimationEnd Callback\n function onDone() {\n if (router.dynamicNavbar) {\n if ($newNavbarEl) {\n $newNavbarEl.removeClass(\n 'router-navbar-transition-to-large router-navbar-transition-from-large',\n );\n $newNavbarEl.addClass('navbar-no-title-large-transition');\n nextFrame(() => {\n $newNavbarEl.removeClass('navbar-no-title-large-transition');\n });\n }\n if ($oldNavbarEl) {\n $oldNavbarEl.removeClass(\n 'router-navbar-transition-to-large router-navbar-transition-from-large',\n );\n }\n if (\n $newNavbarEl.hasClass('sliding') ||\n $newNavbarEl.children('.navbar-inner.sliding').length\n ) {\n $newNavbarEl.find('.title, .left, .right, .left .icon, .subnavbar').transform('');\n } else {\n $newNavbarEl.find('.sliding').transform('');\n }\n if (\n $oldNavbarEl.hasClass('sliding') ||\n $oldNavbarEl.children('.navbar-inner.sliding').length\n ) {\n $oldNavbarEl.find('.title, .left, .right, .left .icon, .subnavbar').transform('');\n } else {\n $oldNavbarEl.find('.sliding').transform('');\n }\n }\n router.$el.removeClass(routerTransitionClass);\n if (callback) callback();\n }\n\n // eslint-disable-next-line\n (direction === 'forward' ? $newPageEl : ios ? $oldPageEl : $newPageEl).animationEnd(() => {\n onDone();\n });\n\n // Animate\n if (dynamicNavbar) {\n // Prepare Navbars\n animateNavbars(0);\n nextFrame(() => {\n // Add class, start animation\n router.$el.addClass(routerTransitionClass);\n if (toDifferent) {\n // eslint-disable-next-line\n router.el._clientLeft = router.el.clientLeft;\n }\n animateNavbars(1);\n });\n } else {\n // Add class, start animation\n router.$el.addClass(routerTransitionClass);\n }\n }\n\n removeModal(modalEl) {\n const router = this;\n router.removeEl(modalEl);\n }\n // eslint-disable-next-line\n removeTabContent(tabEl) {\n const $tabEl = $(tabEl);\n $tabEl.html('');\n }\n\n removeNavbar(el) {\n const router = this;\n router.removeEl(el);\n }\n\n removePage(el) {\n const $el = $(el);\n const f7Page = $el && $el[0] && $el[0].f7Page;\n const router = this;\n if (f7Page && f7Page.route && f7Page.route.route && f7Page.route.route.keepAlive) {\n $el.remove();\n return;\n }\n router.removeEl(el);\n }\n\n removeEl(el) {\n if (!el) return;\n const router = this;\n const $el = $(el);\n if ($el.length === 0) return;\n $el.find('.tab').each((tabEl) => {\n $(tabEl)\n .children()\n .each((tabChild) => {\n if (tabChild.f7Component) {\n $(tabChild).trigger('tab:beforeremove');\n tabChild.f7Component.destroy();\n }\n });\n });\n if ($el[0].f7Component && $el[0].f7Component.destroy) {\n $el[0].f7Component.destroy();\n }\n if (!router.params.removeElements) {\n return;\n }\n if (router.params.removeElementsWithTimeout) {\n setTimeout(() => {\n $el.remove();\n }, router.params.removeElementsTimeout);\n } else {\n $el.remove();\n }\n }\n\n getPageEl(content) {\n const router = this;\n if (typeof content === 'string') {\n router.tempDom.innerHTML = content;\n } else {\n if ($(content).hasClass('page')) {\n return content;\n }\n router.tempDom.innerHTML = '';\n $(router.tempDom).append(content);\n }\n\n return router.findElement('.page', router.tempDom);\n }\n\n findElement(stringSelector, container) {\n const router = this;\n const view = router.view;\n const app = router.app;\n\n // Modals Selector\n const modalsSelector =\n '.popup, .dialog, .popover, .actions-modal, .sheet-modal, .login-screen, .page';\n\n const $container = $(container);\n const selector = stringSelector;\n\n let found = $container\n .find(selector)\n .filter((el) => $(el).parents(modalsSelector).length === 0);\n\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = $container.find(`${view.selector} ${selector}`);\n }\n if (found.length > 1) {\n // Search in main view\n found = $container.find(`.${app.params.viewMainClass} ${selector}`);\n }\n }\n if (found.length === 1) return found;\n\n found = router.findElement(selector, $container);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return $(found[0]);\n return undefined;\n }\n\n flattenRoutes(routes = this.routes) {\n const router = this;\n let flattenedRoutes = [];\n routes.forEach((route) => {\n let hasTabRoutes = false;\n if ('tabs' in route && route.tabs) {\n const mergedPathsRoutes = route.tabs.map((tabRoute) => {\n const tRoute = extend({}, route, {\n path: `${route.path}/${tabRoute.path}`.replace('///', '/').replace('//', '/'),\n parentPath: route.path,\n tab: tabRoute,\n });\n delete tRoute.tabs;\n delete tRoute.routes;\n return tRoute;\n });\n hasTabRoutes = true;\n flattenedRoutes = flattenedRoutes.concat(router.flattenRoutes(mergedPathsRoutes));\n }\n if ('detailRoutes' in route) {\n const mergedPathsRoutes = route.detailRoutes.map((detailRoute) => {\n const dRoute = extend({}, detailRoute);\n dRoute.masterRoute = route;\n dRoute.masterRoutePath = route.path;\n return dRoute;\n });\n flattenedRoutes = flattenedRoutes.concat(route, router.flattenRoutes(mergedPathsRoutes));\n }\n if ('routes' in route) {\n const mergedPathsRoutes = route.routes.map((childRoute) => {\n const cRoute = extend({}, childRoute);\n cRoute.path = `${route.path}/${cRoute.path}`.replace('///', '/').replace('//', '/');\n return cRoute;\n });\n if (hasTabRoutes) {\n flattenedRoutes = flattenedRoutes.concat(router.flattenRoutes(mergedPathsRoutes));\n } else {\n flattenedRoutes = flattenedRoutes.concat(route, router.flattenRoutes(mergedPathsRoutes));\n }\n }\n if (!('routes' in route) && !('tabs' in route && route.tabs) && !('detailRoutes' in route)) {\n flattenedRoutes.push(route);\n }\n });\n return flattenedRoutes;\n }\n\n // eslint-disable-next-line\n parseRouteUrl(url) {\n if (!url) return {};\n const query = parseUrlQuery(url);\n const hash = url.split('#')[1];\n const params = {};\n const path = url.split('#')[0].split('?')[0];\n return {\n query,\n hash,\n params,\n url,\n path,\n };\n }\n\n generateUrl(parameters = {}) {\n if (typeof parameters === 'string') {\n return parameters;\n }\n const { name, path, params, query } = parameters;\n if (!name && !path) {\n throw new Error('Framework7: \"name\" or \"path\" parameter is required');\n }\n const router = this;\n const route = name ? router.findRouteByKey('name', name) : router.findRouteByKey('path', path);\n\n if (!route) {\n if (name) {\n throw new Error(`Framework7: route with name \"${name}\" not found`);\n } else {\n throw new Error(`Framework7: route with path \"${path}\" not found`);\n }\n }\n const url = router.constructRouteUrl(route, { params, query });\n if (!url) {\n throw new Error(`Framework7: can't construct URL for route with name \"${name}\"`);\n }\n return url;\n }\n\n // eslint-disable-next-line\n constructRouteUrl(route, { params, query } = {}) {\n const { path } = route;\n const toUrl = compile(path);\n let url;\n try {\n url = toUrl(params || {});\n } catch (error) {\n throw new Error(\n `Framework7: error constructing route URL from passed params:\\nRoute: ${path}\\n${error.toString()}`,\n );\n }\n\n if (query) {\n if (typeof query === 'string') url += `?${query}`;\n else if (Object.keys(query).length) url += `?${serializeObject(query)}`;\n }\n\n return url;\n }\n\n findTabRouteUrl(tabEl) {\n const router = this;\n const $tabEl = $(tabEl);\n const parentPath = router.currentRoute.route.parentPath;\n const tabId = $tabEl.attr('id');\n const flattenedRoutes = router.flattenRoutes(router.routes);\n let foundTabRouteUrl;\n flattenedRoutes.forEach((route) => {\n if (route.parentPath === parentPath && route.tab && route.tab.id === tabId) {\n if (router.currentRoute.params && Object.keys(router.currentRoute.params).length > 0) {\n foundTabRouteUrl = router.constructRouteUrl(route, {\n params: router.currentRoute.params,\n query: router.currentRoute.query,\n });\n } else {\n foundTabRouteUrl = route.path;\n }\n }\n });\n return foundTabRouteUrl;\n }\n\n findRouteByKey(key, value) {\n const router = this;\n const routes = router.routes;\n const flattenedRoutes = router.flattenRoutes(routes);\n let matchingRoute;\n\n flattenedRoutes.forEach((route) => {\n if (matchingRoute) return;\n if (route[key] === value) {\n matchingRoute = route;\n }\n });\n return matchingRoute;\n }\n\n findMatchingRoute(url) {\n if (!url) return undefined;\n const router = this;\n const routes = router.routes;\n const flattenedRoutes = router.flattenRoutes(routes);\n const { path, query, hash, params } = router.parseRouteUrl(url);\n let matchingRoute;\n flattenedRoutes.forEach((route) => {\n if (matchingRoute) return;\n const keys = [];\n\n const pathsToMatch = [route.path];\n if (route.alias) {\n if (typeof route.alias === 'string') pathsToMatch.push(route.alias);\n else if (Array.isArray(route.alias)) {\n route.alias.forEach((aliasPath) => {\n pathsToMatch.push(aliasPath);\n });\n }\n }\n\n let matched;\n pathsToMatch.forEach((pathToMatch) => {\n if (matched) return;\n matched = pathToRegexp(pathToMatch, keys).exec(path);\n });\n\n if (matched) {\n keys.forEach((keyObj, index) => {\n if (typeof keyObj.name === 'number') return;\n const paramValue = matched[index + 1];\n if (typeof paramValue === 'undefined' || paramValue === null) {\n params[keyObj.name] = paramValue;\n } else {\n params[keyObj.name] = decodeURIComponent(paramValue);\n }\n });\n\n let parentPath;\n if (route.parentPath) {\n parentPath = path\n .split('/')\n .slice(0, route.parentPath.split('/').length - 1)\n .join('/');\n }\n\n matchingRoute = {\n query,\n hash,\n params,\n url,\n path,\n parentPath,\n route,\n name: route.name,\n };\n }\n });\n return matchingRoute;\n }\n\n // eslint-disable-next-line\n replaceRequestUrlParams(url = '', options = {}) {\n let compiledUrl = url;\n if (\n typeof compiledUrl === 'string' &&\n compiledUrl.indexOf('{{') >= 0 &&\n options &&\n options.route &&\n options.route.params &&\n Object.keys(options.route.params).length\n ) {\n Object.keys(options.route.params).forEach((paramName) => {\n const regExp = new RegExp(`{{${paramName}}}`, 'g');\n compiledUrl = compiledUrl.replace(regExp, options.route.params[paramName] || '');\n });\n }\n return compiledUrl;\n }\n\n removeFromXhrCache(url) {\n const router = this;\n const xhrCache = router.cache.xhr;\n let index = false;\n for (let i = 0; i < xhrCache.length; i += 1) {\n if (xhrCache[i].url === url) index = i;\n }\n if (index !== false) xhrCache.splice(index, 1);\n }\n\n xhrRequest(requestUrl, options) {\n const router = this;\n const params = router.params;\n const { ignoreCache } = options;\n let url = requestUrl;\n\n let hasQuery = url.indexOf('?') >= 0;\n if (\n params.passRouteQueryToRequest &&\n options &&\n options.route &&\n options.route.query &&\n Object.keys(options.route.query).length\n ) {\n url += `${hasQuery ? '&' : '?'}${serializeObject(options.route.query)}`;\n hasQuery = true;\n }\n\n if (\n params.passRouteParamsToRequest &&\n options &&\n options.route &&\n options.route.params &&\n Object.keys(options.route.params).length\n ) {\n url += `${hasQuery ? '&' : '?'}${serializeObject(options.route.params)}`;\n hasQuery = true;\n }\n\n if (url.indexOf('{{') >= 0) {\n url = router.replaceRequestUrlParams(url, options);\n }\n // should we ignore get params or not\n if (params.xhrCacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n url = url.split('?')[0];\n }\n return new Promise((resolve, reject) => {\n if (\n params.xhrCache &&\n !ignoreCache &&\n url.indexOf('nocache') < 0 &&\n params.xhrCacheIgnore.indexOf(url) < 0\n ) {\n for (let i = 0; i < router.cache.xhr.length; i += 1) {\n const cachedUrl = router.cache.xhr[i];\n if (cachedUrl.url === url) {\n // Check expiration\n if (now() - cachedUrl.time < params.xhrCacheDuration) {\n // Load from cache\n resolve(cachedUrl.content);\n return;\n }\n }\n }\n }\n router.xhrAbortController = new AbortController();\n let fetchRes;\n fetch(url, { signal: router.xhrAbortController.signal, method: 'GET' })\n .then((res) => {\n fetchRes = res;\n return res.text();\n })\n .then((responseText) => {\n const { status } = fetchRes;\n router.emit('routerAjaxComplete', fetchRes);\n if (\n (status !== 'error' && status !== 'timeout' && status >= 200 && status < 300) ||\n status === 0\n ) {\n if (params.xhrCache && responseText !== '') {\n router.removeFromXhrCache(url);\n router.cache.xhr.push({\n url,\n time: now(),\n content: responseText,\n });\n }\n router.emit('routerAjaxSuccess', fetchRes, options);\n resolve(responseText);\n } else {\n router.emit('routerAjaxError', fetchRes, options);\n reject(fetchRes);\n }\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n setNavbarPosition($el, position, ariaHidden) {\n const router = this;\n $el.removeClass('navbar-previous navbar-current navbar-next');\n if (position) {\n $el.addClass(`navbar-${position}`);\n }\n\n if (ariaHidden === false) {\n $el.removeAttr('aria-hidden');\n } else if (ariaHidden === true) {\n $el.attr('aria-hidden', 'true');\n }\n $el.trigger('navbar:position', { position });\n router.emit('navbarPosition', $el[0], position);\n }\n\n setPagePosition($el, position, ariaHidden) {\n const router = this;\n $el.removeClass('page-previous page-current page-next');\n $el.addClass(`page-${position}`);\n if (ariaHidden === false) {\n $el.removeAttr('aria-hidden');\n } else if (ariaHidden === true) {\n $el.attr('aria-hidden', 'true');\n }\n $el.trigger('page:position', { position });\n router.emit('pagePosition', $el[0], position);\n }\n\n // Remove theme elements\n removeThemeElements(el) {\n const router = this;\n const theme = router.app.theme;\n let toRemove;\n if (theme === 'ios') {\n toRemove = '.md-only, .if-md, .if-not-ios, .not-ios';\n } else if (theme === 'md') {\n toRemove = '.ios-only, .if-ios, .if-not-md, .not-md';\n }\n $(el).find(toRemove).remove();\n }\n\n getPageData(pageEl, navbarEl, from, to, route = {}, pageFromEl) {\n const router = this;\n const $pageEl = $(pageEl).eq(0);\n const $navbarEl = $(navbarEl).eq(0);\n const currentPage = $pageEl[0].f7Page || {};\n let direction;\n let pageFrom;\n if ((from === 'next' && to === 'current') || (from === 'current' && to === 'previous'))\n direction = 'forward';\n if ((from === 'current' && to === 'next') || (from === 'previous' && to === 'current'))\n direction = 'backward';\n if (currentPage && !currentPage.fromPage) {\n const $pageFromEl = $(pageFromEl);\n if ($pageFromEl.length) {\n pageFrom = $pageFromEl[0].f7Page;\n }\n }\n pageFrom = currentPage.pageFrom || pageFrom;\n if (pageFrom && pageFrom.pageFrom) {\n pageFrom.pageFrom = null;\n }\n const page = {\n app: router.app,\n view: router.view,\n router,\n $el: $pageEl,\n el: $pageEl[0],\n $pageEl,\n pageEl: $pageEl[0],\n $navbarEl,\n navbarEl: $navbarEl[0],\n name: $pageEl.attr('data-name'),\n position: from,\n from,\n to,\n direction,\n route: currentPage.route ? currentPage.route : route,\n pageFrom,\n };\n\n $pageEl[0].f7Page = page;\n return page;\n }\n\n // Callbacks\n pageCallback(callback, pageEl, navbarEl, from, to, options = {}, pageFromEl) {\n if (!pageEl) return;\n const router = this;\n const $pageEl = $(pageEl);\n if (!$pageEl.length) return;\n const $navbarEl = $(navbarEl);\n const { route } = options;\n const restoreScrollTopOnBack =\n router.params.restoreScrollTopOnBack &&\n !(\n router.params.masterDetailBreakpoint > 0 &&\n $pageEl.hasClass('page-master') &&\n router.app.width >= router.params.masterDetailBreakpoint\n );\n const keepAlive =\n $pageEl[0].f7Page &&\n $pageEl[0].f7Page.route &&\n $pageEl[0].f7Page.route.route &&\n $pageEl[0].f7Page.route.route.keepAlive;\n\n if (callback === 'beforeRemove' && keepAlive) {\n callback = 'beforeUnmount'; // eslint-disable-line\n }\n\n const camelName = `page${callback[0].toUpperCase() + callback.slice(1, callback.length)}`;\n const colonName = `page:${callback.toLowerCase()}`;\n\n let page = {};\n if (callback === 'beforeRemove' && $pageEl[0].f7Page) {\n page = extend($pageEl[0].f7Page, { from, to, position: from });\n } else {\n page = router.getPageData($pageEl[0], $navbarEl[0], from, to, route, pageFromEl);\n }\n page.swipeBack = !!options.swipeBack;\n\n const { on = {}, once = {} } = options.route ? options.route.route : {};\n if (options.on) {\n extend(on, options.on);\n }\n if (options.once) {\n extend(once, options.once);\n }\n\n function attachEvents() {\n if ($pageEl[0].f7RouteEventsAttached) return;\n $pageEl[0].f7RouteEventsAttached = true;\n if (on && Object.keys(on).length > 0) {\n $pageEl[0].f7RouteEventsOn = on;\n Object.keys(on).forEach((eventName) => {\n on[eventName] = on[eventName].bind(router);\n $pageEl.on(eventNameToColonCase(eventName), on[eventName]);\n });\n }\n if (once && Object.keys(once).length > 0) {\n $pageEl[0].f7RouteEventsOnce = once;\n Object.keys(once).forEach((eventName) => {\n once[eventName] = once[eventName].bind(router);\n $pageEl.once(eventNameToColonCase(eventName), once[eventName]);\n });\n }\n }\n\n function detachEvents() {\n if (!$pageEl[0].f7RouteEventsAttached) return;\n if ($pageEl[0].f7RouteEventsOn) {\n Object.keys($pageEl[0].f7RouteEventsOn).forEach((eventName) => {\n $pageEl.off(eventNameToColonCase(eventName), $pageEl[0].f7RouteEventsOn[eventName]);\n });\n }\n if ($pageEl[0].f7RouteEventsOnce) {\n Object.keys($pageEl[0].f7RouteEventsOnce).forEach((eventName) => {\n $pageEl.off(eventNameToColonCase(eventName), $pageEl[0].f7RouteEventsOnce[eventName]);\n });\n }\n $pageEl[0].f7RouteEventsAttached = null;\n $pageEl[0].f7RouteEventsOn = null;\n $pageEl[0].f7RouteEventsOnce = null;\n delete $pageEl[0].f7RouteEventsAttached;\n delete $pageEl[0].f7RouteEventsOn;\n delete $pageEl[0].f7RouteEventsOnce;\n }\n\n if (callback === 'mounted') {\n attachEvents();\n }\n if (callback === 'init') {\n if (\n restoreScrollTopOnBack &&\n (from === 'previous' || !from) &&\n to === 'current' &&\n router.scrollHistory[page.route.url] &&\n !$pageEl.hasClass('no-restore-scroll')\n ) {\n let $pageContent = $pageEl.find('.page-content');\n if ($pageContent.length > 0) {\n // eslint-disable-next-line\n $pageContent = $pageContent.filter((pageContentEl) => {\n return (\n $(pageContentEl).parents('.tab:not(.tab-active)').length === 0 &&\n !$(pageContentEl).is('.tab:not(.tab-active)')\n );\n });\n }\n $pageContent.scrollTop(router.scrollHistory[page.route.url]);\n }\n attachEvents();\n if ($pageEl[0].f7PageInitialized) {\n $pageEl.trigger('page:reinit', page);\n router.emit('pageReinit', page);\n return;\n }\n $pageEl[0].f7PageInitialized = true;\n }\n if (\n restoreScrollTopOnBack &&\n callback === 'beforeOut' &&\n from === 'current' &&\n to === 'previous'\n ) {\n // Save scroll position\n let $pageContent = $pageEl.find('.page-content');\n if ($pageContent.length > 0) {\n // eslint-disable-next-line\n $pageContent = $pageContent.filter((pageContentEl) => {\n return (\n $(pageContentEl).parents('.tab:not(.tab-active)').length === 0 &&\n !$(pageContentEl).is('.tab:not(.tab-active)')\n );\n });\n }\n router.scrollHistory[page.route.url] = $pageContent.scrollTop();\n }\n if (restoreScrollTopOnBack && callback === 'beforeOut' && from === 'current' && to === 'next') {\n // Delete scroll position\n delete router.scrollHistory[page.route.url];\n }\n\n $pageEl.trigger(colonName, page);\n router.emit(camelName, page);\n\n if (callback === 'beforeRemove' || callback === 'beforeUnmount') {\n detachEvents();\n if (!keepAlive) {\n if ($pageEl[0].f7Page && $pageEl[0].f7Page.navbarEl) {\n delete $pageEl[0].f7Page.navbarEl.f7Page;\n }\n $pageEl[0].f7Page = null;\n }\n }\n }\n\n saveHistory() {\n const router = this;\n const window = getWindow();\n router.view.history = router.history;\n if (\n router.params.browserHistory &&\n router.params.browserHistoryStoreHistory &&\n window.localStorage\n ) {\n window.localStorage[`f7router-${router.view.id}-history`] = JSON.stringify(router.history);\n }\n }\n\n restoreHistory() {\n const router = this;\n const window = getWindow();\n if (\n router.params.browserHistory &&\n router.params.browserHistoryStoreHistory &&\n window.localStorage &&\n window.localStorage[`f7router-${router.view.id}-history`]\n ) {\n router.history = JSON.parse(window.localStorage[`f7router-${router.view.id}-history`]);\n router.view.history = router.history;\n }\n }\n\n clearHistory() {\n const router = this;\n router.history = [];\n if (router.view) router.view.history = [];\n router.saveHistory();\n }\n\n updateCurrentUrl(newUrl) {\n const router = this;\n appRouterCheck(router, 'updateCurrentUrl');\n // Update history\n if (router.history.length) {\n router.history[router.history.length - 1] = newUrl;\n } else {\n router.history.push(newUrl);\n }\n\n // Update current route params\n const { query, hash, params, url, path } = router.parseRouteUrl(newUrl);\n if (router.currentRoute) {\n extend(router.currentRoute, {\n query,\n hash,\n params,\n url,\n path,\n });\n }\n\n if (router.params.browserHistory) {\n const browserHistoryRoot = router.params.browserHistoryRoot || '';\n History.replace(\n router.view.id,\n {\n url: newUrl,\n },\n browserHistoryRoot + router.params.browserHistorySeparator + newUrl,\n );\n }\n\n // Save History\n router.saveHistory();\n\n router.emit('routeUrlUpdate', router.currentRoute, router);\n }\n\n getInitialUrl() {\n const router = this;\n if (router.initialUrl) {\n return {\n initialUrl: router.initialUrl,\n historyRestored: router.historyRestored,\n };\n }\n const { app, view } = router;\n const document = getDocument();\n const window = getWindow();\n\n const location =\n app.params.url && typeof app.params.url === 'string' && typeof URL !== 'undefined'\n ? new URL(app.params.url)\n : document.location;\n\n let initialUrl = router.params.url;\n let documentUrl = location.href.split(location.origin)[1];\n let historyRestored;\n const { browserHistory, browserHistoryOnLoad, browserHistorySeparator } = router.params;\n let { browserHistoryRoot } = router.params;\n if (\n (window.cordova || (window.Capacitor && window.Capacitor.isNative)) &&\n browserHistory &&\n !browserHistorySeparator &&\n !browserHistoryRoot &&\n location.pathname.indexOf('index.html')\n ) {\n // eslint-disable-next-line\n console.warn(\n 'Framework7: wrong or not complete browserHistory configuration, trying to guess browserHistoryRoot',\n );\n browserHistoryRoot = location.pathname.split('index.html')[0];\n }\n if (!browserHistory || !browserHistoryOnLoad) {\n if (!initialUrl) {\n initialUrl = documentUrl;\n }\n if (location.search && initialUrl.indexOf('?') < 0) {\n initialUrl += location.search;\n }\n if (location.hash && initialUrl.indexOf('#') < 0) {\n initialUrl += location.hash;\n }\n } else {\n if (browserHistoryRoot && documentUrl.indexOf(browserHistoryRoot) >= 0) {\n documentUrl = documentUrl.split(browserHistoryRoot)[1];\n if (documentUrl === '') documentUrl = '/';\n }\n if (browserHistorySeparator.length > 0 && documentUrl.indexOf(browserHistorySeparator) >= 0) {\n initialUrl = documentUrl.split(browserHistorySeparator)[1];\n } else {\n initialUrl = documentUrl;\n }\n router.restoreHistory();\n if (router.history.indexOf(initialUrl) >= 0) {\n router.history = router.history.slice(0, router.history.indexOf(initialUrl) + 1);\n } else if (router.params.url === initialUrl) {\n router.history = [initialUrl];\n } else if (\n History.state &&\n History.state[view.id] &&\n History.state[view.id].url === router.history[router.history.length - 1]\n ) {\n initialUrl = router.history[router.history.length - 1];\n } else {\n router.history = [documentUrl.split(browserHistorySeparator)[0] || '/', initialUrl];\n }\n if (router.history.length > 1) {\n historyRestored = true;\n } else {\n router.history = [];\n }\n router.saveHistory();\n }\n\n router.initialUrl = initialUrl;\n router.historyRestored = historyRestored;\n\n return { initialUrl, historyRestored };\n }\n\n init() {\n const router = this;\n const { app, view } = router;\n const document = getDocument();\n\n router.mount();\n\n const { initialUrl, historyRestored } = router.getInitialUrl();\n\n // Init Swipeback\n if (\n (view && router.params.iosSwipeBack && app.theme === 'ios') ||\n (view && router.params.mdSwipeBack && app.theme === 'md')\n ) {\n SwipeBack(router);\n }\n\n const {\n browserHistory,\n browserHistoryOnLoad,\n browserHistoryAnimateOnLoad,\n browserHistoryInitialMatch,\n } = router.params;\n\n let currentRoute;\n if (router.history.length > 1) {\n // Will load page\n const initUrl = browserHistoryInitialMatch ? initialUrl : router.history[0];\n currentRoute = router.findMatchingRoute(initUrl);\n if (!currentRoute) {\n currentRoute = extend(router.parseRouteUrl(initUrl), {\n route: {\n url: initUrl,\n path: initUrl.split('?')[0],\n },\n });\n }\n } else {\n // Don't load page\n currentRoute = router.findMatchingRoute(initialUrl);\n if (!currentRoute) {\n currentRoute = extend(router.parseRouteUrl(initialUrl), {\n route: {\n url: initialUrl,\n path: initialUrl.split('?')[0],\n },\n });\n }\n }\n\n if (router.$el.children('.page').length === 0 && initialUrl && router.params.loadInitialPage) {\n // No pages presented in DOM, reload new page\n router.navigate(initialUrl, {\n initial: true,\n reloadCurrent: true,\n browserHistory: false,\n animate: false,\n once: {\n modalOpen() {\n if (!historyRestored) return;\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 1) {\n router.back({ preload: true });\n }\n },\n pageAfterIn() {\n if (!historyRestored) return;\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 1) {\n router.back({ preload: true });\n }\n },\n },\n });\n } else if (router.$el.children('.page').length) {\n // Init current DOM page\n let hasTabRoute;\n router.currentRoute = currentRoute;\n router.$el.children('.page').each((pageEl) => {\n const $pageEl = $(pageEl);\n let $navbarEl;\n router.setPagePosition($pageEl, 'current');\n if (router.dynamicNavbar) {\n $navbarEl = $pageEl.children('.navbar');\n if ($navbarEl.length > 0) {\n if (!router.$navbarsEl.parents(document).length) {\n router.$el.prepend(router.$navbarsEl);\n }\n router.setNavbarPosition($navbarEl, 'current');\n router.$navbarsEl.append($navbarEl);\n if ($navbarEl.children('.title-large').length) {\n $navbarEl.addClass('navbar-large');\n }\n $pageEl.children('.navbar').remove();\n } else {\n router.$navbarsEl.addClass('navbar-hidden');\n if ($navbarEl.children('.title-large').length) {\n router.$navbarsEl.addClass('navbar-hidden navbar-large-hidden');\n }\n }\n }\n if (\n router.currentRoute &&\n router.currentRoute.route &&\n (router.currentRoute.route.master === true ||\n (typeof router.currentRoute.route.master === 'function' &&\n router.currentRoute.route.master(app, router))) &&\n router.params.masterDetailBreakpoint > 0\n ) {\n $pageEl.addClass('page-master');\n $pageEl.trigger('page:role', { role: 'master' });\n if ($navbarEl && $navbarEl.length) {\n $navbarEl.addClass('navbar-master');\n }\n view.checkMasterDetailBreakpoint();\n }\n const initOptions = {\n route: router.currentRoute,\n };\n if (router.currentRoute && router.currentRoute.route && router.currentRoute.route.options) {\n extend(initOptions, router.currentRoute.route.options);\n }\n router.currentPageEl = $pageEl[0];\n if (router.dynamicNavbar && $navbarEl.length) {\n router.currentNavbarEl = $navbarEl[0];\n }\n router.removeThemeElements($pageEl);\n if (router.dynamicNavbar && $navbarEl.length) {\n router.removeThemeElements($navbarEl);\n }\n if (initOptions.route.route.tab) {\n hasTabRoute = true;\n router.tabLoad(initOptions.route.route.tab, extend({}, initOptions));\n }\n router.pageCallback('init', $pageEl, $navbarEl, 'current', undefined, initOptions);\n router.pageCallback('beforeIn', $pageEl, $navbarEl, 'current', undefined, initOptions);\n router.pageCallback('afterIn', $pageEl, $navbarEl, 'current', undefined, initOptions);\n });\n if (historyRestored) {\n if (browserHistoryInitialMatch) {\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 1) {\n router.back({ preload: true });\n }\n } else {\n router.navigate(initialUrl, {\n initial: true,\n browserHistory: false,\n history: false,\n animate: browserHistoryAnimateOnLoad,\n once: {\n pageAfterIn() {\n const preloadPreviousPage =\n router.params.preloadPreviousPage || router.params[`${app.theme}SwipeBack`];\n if (preloadPreviousPage && router.history.length > 2) {\n router.back({ preload: true });\n }\n },\n },\n });\n }\n }\n if (!historyRestored && !hasTabRoute) {\n router.history.push(initialUrl);\n router.saveHistory();\n }\n }\n if (\n initialUrl &&\n browserHistory &&\n browserHistoryOnLoad &&\n (!History.state || !History.state[view.id])\n ) {\n History.initViewState(view.id, {\n url: initialUrl,\n });\n }\n router.emit('local::init routerInit', router);\n }\n\n destroy() {\n let router = this;\n\n router.emit('local::destroy routerDestroy', router);\n\n // Delete props & methods\n Object.keys(router).forEach((routerProp) => {\n router[routerProp] = null;\n delete router[routerProp];\n });\n\n router = null;\n }\n}\n\n// Load\nRouter.prototype.navigate = navigate;\nRouter.prototype.refreshPage = refreshPage;\n// Tab\nRouter.prototype.tabLoad = tabLoad;\nRouter.prototype.tabRemove = tabRemove;\n// Modal\nRouter.prototype.modalLoad = modalLoad;\nRouter.prototype.modalRemove = modalRemove;\n// Back\nRouter.prototype.back = back;\n// Clear history\nRouter.prototype.clearPreviousHistory = clearPreviousHistory;\n\nexport default Router;\n","import Router from './router-class.js';\n\nexport default {\n name: 'router',\n static: {\n Router,\n },\n instance: {\n cache: {\n xhr: [],\n templates: [],\n components: [],\n },\n },\n create() {\n const instance = this;\n if (instance.app) {\n // View Router\n if (instance.params.router) {\n instance.router = new Router(instance.app, instance);\n }\n } else {\n // App Router\n instance.router = new Router(instance);\n }\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport { getSupport } from '../../shared/get-support.js';\n\nfunction resizableView(view) {\n const app = view.app;\n const support = getSupport();\n if (view.resizableInitialized) return;\n extend(view, {\n resizable: true,\n resizableWidth: null,\n resizableInitialized: true,\n });\n const $htmlEl = $('html');\n const { $el } = view;\n if (!$el) return;\n\n let $resizeHandlerEl;\n\n let isTouched;\n let isMoved;\n const touchesStart = {};\n let touchesDiff;\n let width;\n\n let minWidth;\n let maxWidth;\n\n function transformCSSWidth(v) {\n if (!v) return null;\n if (v.indexOf('%') >= 0 || v.indexOf('vw') >= 0) {\n return (parseInt(v, 10) / 100) * app.width;\n }\n const newV = parseInt(v, 10);\n if (Number.isNaN(newV)) return null;\n return newV;\n }\n\n function isResizable() {\n return view.resizable && $el.hasClass('view-resizable') && $el.hasClass('view-master-detail');\n }\n\n function handleTouchStart(e) {\n if (!isResizable()) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n isMoved = false;\n isTouched = true;\n const $pageMasterEl = $el.children('.page-master');\n minWidth = transformCSSWidth($pageMasterEl.css('min-width'));\n maxWidth = transformCSSWidth($pageMasterEl.css('max-width'));\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n e.f7PreventSwipePanel = true;\n const pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n\n if (!isMoved) {\n width = $resizeHandlerEl[0].offsetLeft + $resizeHandlerEl[0].offsetWidth;\n $el.addClass('view-resizing');\n $htmlEl.css('cursor', 'col-resize');\n }\n\n isMoved = true;\n\n e.preventDefault();\n\n touchesDiff = pageX - touchesStart.x;\n\n let newWidth = width + touchesDiff;\n if (minWidth && !Number.isNaN(minWidth)) {\n newWidth = Math.max(newWidth, minWidth);\n }\n if (maxWidth && !Number.isNaN(maxWidth)) {\n newWidth = Math.min(newWidth, maxWidth);\n }\n newWidth = Math.min(Math.max(newWidth, 0), app.width);\n\n view.resizableWidth = newWidth;\n $htmlEl[0].style.setProperty('--f7-page-master-width', `${newWidth}px`);\n\n $el.trigger('view:resize', newWidth);\n view.emit('local::resize viewResize', view, newWidth);\n }\n function handleTouchEnd() {\n $('html').css('cursor', '');\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n\n $htmlEl[0].style.setProperty('--f7-page-master-width', `${view.resizableWidth}px`);\n $el.removeClass('view-resizing');\n }\n\n function handleResize() {\n if (!view.resizableWidth) return;\n minWidth = transformCSSWidth($resizeHandlerEl.css('min-width'));\n maxWidth = transformCSSWidth($resizeHandlerEl.css('max-width'));\n\n if (minWidth && !Number.isNaN(minWidth) && view.resizableWidth < minWidth) {\n view.resizableWidth = Math.max(view.resizableWidth, minWidth);\n }\n if (maxWidth && !Number.isNaN(maxWidth) && view.resizableWidth > maxWidth) {\n view.resizableWidth = Math.min(view.resizableWidth, maxWidth);\n }\n view.resizableWidth = Math.min(Math.max(view.resizableWidth, 0), app.width);\n\n $htmlEl[0].style.setProperty('--f7-page-master-width', `${view.resizableWidth}px`);\n }\n\n $resizeHandlerEl = view.$el.children('.view-resize-handler');\n if (!$resizeHandlerEl.length) {\n view.$el.append('<div class=\"view-resize-handler\"></div>');\n $resizeHandlerEl = view.$el.children('.view-resize-handler');\n }\n view.$resizeHandlerEl = $resizeHandlerEl;\n\n $el.addClass('view-resizable');\n\n // Add Events\n const passive = support.passiveListener ? { passive: true } : false;\n\n view.$el.on(app.touchEvents.start, '.view-resize-handler', handleTouchStart, passive);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n view.on('beforeOpen', handleResize);\n\n view.once('viewDestroy', () => {\n $el.removeClass('view-resizable');\n view.$resizeHandlerEl.remove();\n view.$el.off(app.touchEvents.start, '.view-resize-handler', handleTouchStart, passive);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n view.off('beforeOpen', handleResize);\n });\n}\n\nexport default resizableView;\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport Router from '../../modules/router/router.js';\nimport Framework7Class from '../../shared/class.js';\nimport resizableView from './resizable-view.js';\n\nclass View extends Framework7Class {\n constructor(app, el, viewParams = {}) {\n super(viewParams, [app]);\n\n const view = this;\n\n const ssr = view.params.routerId;\n\n const defaults = {\n routes: [],\n routesAdd: [],\n };\n\n if (!ssr) {\n const $el = $(el);\n if (!$el.length) {\n let message = \"Framework7: can't create a View instance because \";\n message +=\n typeof el === 'string'\n ? `the selector \"${el}\" didn't match any element`\n : 'el must be an HTMLElement or Dom7 object';\n\n throw new Error(message);\n }\n }\n\n // Default View params\n view.params = extend({ el }, defaults, app.params.view, viewParams);\n\n // Routes\n if (view.params.routes.length > 0) {\n view.routes = view.params.routes;\n } else {\n view.routes = [].concat(app.routes, view.params.routesAdd);\n }\n\n // View Props\n extend(false, view, {\n app,\n name: view.params.name,\n main: view.params.main,\n history: [],\n scrollHistory: {},\n });\n\n // Install Modules\n view.useModules();\n\n // Add to app\n app.views.push(view);\n if (view.main) {\n app.views.main = view;\n }\n if (view.name) {\n app.views[view.name] = view;\n }\n\n // Index\n view.index = app.views.indexOf(view);\n\n // View ID\n let viewId;\n if (view.name) {\n viewId = `view_${view.name}`;\n } else if (view.main) {\n viewId = 'view_main';\n } else {\n viewId = `view_${view.index}`;\n }\n view.id = viewId;\n\n if (!view.params.init) {\n return view;\n }\n // Init View\n if (app.initialized) {\n view.init();\n } else {\n app.on('init', () => {\n view.init();\n });\n }\n\n return view;\n }\n\n destroy() {\n let view = this;\n const app = view.app;\n\n view.$el.trigger('view:beforedestroy');\n view.emit('local::beforeDestroy viewBeforeDestroy', view);\n\n app.off('resize', view.checkMasterDetailBreakpoint);\n\n if (view.main) {\n app.views.main = null;\n delete app.views.main;\n } else if (view.name) {\n app.views[view.name] = null;\n delete app.views[view.name];\n }\n view.$el[0].f7View = null;\n delete view.$el[0].f7View;\n\n app.views.splice(app.views.indexOf(view), 1);\n\n // Destroy Router\n if (view.params.router && view.router) {\n view.router.destroy();\n }\n\n view.emit('local::destroy viewDestroy', view);\n\n // Delete props & methods\n Object.keys(view).forEach((viewProp) => {\n view[viewProp] = null;\n delete view[viewProp];\n });\n\n view = null;\n }\n\n checkMasterDetailBreakpoint(force) {\n const view = this;\n const app = view.app;\n const wasMasterDetail = view.$el.hasClass('view-master-detail');\n const isMasterDetail =\n app.width >= view.params.masterDetailBreakpoint && view.$el.children('.page-master').length;\n if ((typeof force === 'undefined' && isMasterDetail) || force === true) {\n view.$el.addClass('view-master-detail');\n if (!wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint', view);\n view.$el.trigger('view:masterDetailBreakpoint');\n }\n } else {\n view.$el.removeClass('view-master-detail');\n if (wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint', view);\n view.$el.trigger('view:masterDetailBreakpoint');\n }\n }\n }\n\n initMasterDetail() {\n const view = this;\n const app = view.app;\n view.checkMasterDetailBreakpoint = view.checkMasterDetailBreakpoint.bind(view);\n view.checkMasterDetailBreakpoint();\n if (view.params.masterDetailResizable) {\n resizableView(view);\n }\n app.on('resize', view.checkMasterDetailBreakpoint);\n }\n\n mount(viewEl) {\n const view = this;\n const app = view.app;\n const el = view.params.el || viewEl;\n const $el = $(el);\n\n // Selector\n let selector;\n if (typeof el === 'string') selector = el;\n else {\n // Supposed to be HTMLElement or Dom7\n selector =\n ($el.attr('id') ? `#${$el.attr('id')}` : '') +\n ($el.attr('class')\n ? `.${$el.attr('class').replace(/ /g, '.').replace('.active', '')}`\n : '');\n }\n\n // DynamicNavbar\n let $navbarsEl;\n if (app.theme === 'ios' && view.params.iosDynamicNavbar) {\n $navbarsEl = $el.children('.navbars').eq(0);\n if ($navbarsEl.length === 0) {\n $navbarsEl = $('<div class=\"navbars\"></div>');\n }\n }\n\n extend(view, {\n $el,\n el: $el[0],\n main: view.main || $el.hasClass('view-main'),\n $navbarsEl,\n navbarsEl: $navbarsEl ? $navbarsEl[0] : undefined,\n selector,\n });\n\n if (view.main) {\n app.views.main = view;\n }\n\n // Save in DOM\n if ($el && $el[0]) {\n $el[0].f7View = view;\n }\n\n view.emit('local::mount viewMount', view);\n }\n\n init(viewEl) {\n const view = this;\n view.mount(viewEl);\n if (view.params.router) {\n if (view.params.masterDetailBreakpoint > 0) {\n view.initMasterDetail();\n }\n if (\n view.params.initRouterOnTabShow &&\n view.$el.hasClass('tab') &&\n !view.$el.hasClass('tab-active')\n ) {\n view.$el.once('tab:show', () => {\n view.router.init();\n });\n } else {\n view.router.init();\n }\n\n view.$el.trigger('view:init');\n view.emit('local::init viewInit', view);\n }\n }\n}\n\n// Use Router\nView.use(Router);\n\nexport default View;\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport ViewClass from '../../components/view/view-class.js';\n\nfunction initClicks(app) {\n function handleClicks(e) {\n const window = getWindow();\n const $clickedEl = $(e.target);\n const $clickedLinkEl = $clickedEl.closest('a');\n const isLink = $clickedLinkEl.length > 0;\n const url = isLink && $clickedLinkEl.attr('href');\n\n // Check if link is external\n if (isLink) {\n if (\n $clickedLinkEl.is(app.params.clicks.externalLinks) ||\n // eslint-disable-next-line\n (url && url.indexOf('javascript:') >= 0)\n ) {\n const target = $clickedLinkEl.attr('target');\n if (\n url &&\n window.cordova &&\n window.cordova.InAppBrowser &&\n (target === '_system' || target === '_blank')\n ) {\n e.preventDefault();\n window.cordova.InAppBrowser.open(url, target);\n } else if (\n url &&\n window.Capacitor &&\n window.Capacitor.Plugins &&\n window.Capacitor.Plugins.Browser &&\n (target === '_system' || target === '_blank')\n ) {\n e.preventDefault();\n window.Capacitor.Plugins.Browser.open({ url });\n }\n return;\n }\n }\n\n // Modules Clicks\n Object.keys(app.modules).forEach((moduleName) => {\n const moduleClicks = app.modules[moduleName].clicks;\n if (!moduleClicks) return;\n if (e.preventF7Router) return;\n Object.keys(moduleClicks).forEach((clickSelector) => {\n const matchingClickedElement = $clickedEl.closest(clickSelector).eq(0);\n if (matchingClickedElement.length > 0) {\n moduleClicks[clickSelector].call(\n app,\n matchingClickedElement,\n matchingClickedElement.dataset(),\n e,\n );\n }\n });\n });\n\n // Load Page\n let clickedLinkData = {};\n if (isLink) {\n e.preventDefault();\n clickedLinkData = $clickedLinkEl.dataset();\n }\n clickedLinkData.clickedEl = $clickedLinkEl[0];\n\n // Prevent Router\n if (e.preventF7Router) return;\n if ($clickedLinkEl.hasClass('prevent-router') || $clickedLinkEl.hasClass('router-prevent'))\n return;\n\n const validUrl = url && url.length > 0 && url[0] !== '#';\n if (validUrl || $clickedLinkEl.hasClass('back')) {\n let view;\n if (clickedLinkData.view && clickedLinkData.view === 'current') {\n view = app.views.current;\n } else if (clickedLinkData.view) {\n view = $(clickedLinkData.view)[0].f7View;\n } else {\n view = $clickedEl.parents('.view')[0] && $clickedEl.parents('.view')[0].f7View;\n if (!$clickedLinkEl.hasClass('back') && view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;\n else if (view.params.linksView instanceof ViewClass) view = view.params.linksView;\n }\n }\n if (!view) {\n if (app.views.main) view = app.views.main;\n }\n if (!view || !view.router) return;\n if ($clickedLinkEl[0].f7RouteProps) {\n clickedLinkData.props = $clickedLinkEl[0].f7RouteProps;\n }\n if ($clickedLinkEl.hasClass('back')) view.router.back(url, clickedLinkData);\n else view.router.navigate(url, clickedLinkData);\n }\n }\n\n app.on('click', handleClicks);\n}\nexport default {\n name: 'clicks',\n params: {\n clicks: {\n // External Links\n externalLinks: '.external',\n },\n },\n on: {\n init() {\n const app = this;\n initClicks(app);\n },\n },\n};\n","import { merge } from '../../shared/utils.js';\n\nexport default {\n name: 'routerComponentLoader',\n proto: {\n openIn(router, url, options) {\n const navigateOptions = {\n url,\n route: {\n path: url,\n options: {\n ...options,\n openIn: undefined,\n },\n },\n };\n const params = {\n ...options,\n };\n if (options.openIn === 'popup') {\n params.content = `<div class=\"popup popup-router-open-in\" data-url=\"${url}\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div>`;\n navigateOptions.route.popup = params;\n }\n if (options.openIn === 'loginScreen') {\n params.content = `<div class=\"login-screen login-screen-router-open-in\" data-url=\"${url}\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div>`;\n navigateOptions.route.loginScreen = params;\n }\n if (options.openIn === 'sheet') {\n params.content = `<div class=\"sheet-modal sheet-modal-router-open-in\" data-url=\"${url}\"><div class=\"sheet-modal-inner\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div></div>`;\n navigateOptions.route.sheet = params;\n }\n if (options.openIn === 'popover') {\n params.targetEl = options.clickedEl || options.targetEl;\n params.content = `<div class=\"popover popover-router-open-in\" data-url=\"${url}\"><div class=\"popover-inner\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div></div>`;\n navigateOptions.route.popover = params;\n }\n if (options.openIn.indexOf('panel') >= 0) {\n const parts = options.openIn.split(':');\n const side = parts[1] || 'left';\n const effect = parts[2] || 'cover';\n params.targetEl = options.clickedEl || options.targetEl;\n params.content = `<div class=\"panel panel-router-open-in panel-${side} panel-${effect}\" data-url=\"${url}\"><div class=\"view view-init\" data-links-view=\"${router.view.selector}\" data-url=\"${url}\" data-ignore-open-in=\"true\"></div></div>`;\n navigateOptions.route.panel = params;\n }\n return router.navigate(navigateOptions);\n },\n componentLoader(component, componentUrl, options = {}, resolve, reject) {\n const router = this;\n const { app } = router;\n const url = typeof component === 'string' ? component : componentUrl;\n const compiledUrl = router.replaceRequestUrlParams(url, options);\n function compile(componentFunction) {\n let context = options.context || {};\n if (typeof context === 'function') context = context.call(router);\n else if (typeof context === 'string') {\n try {\n context = JSON.parse(context);\n } catch (err) {\n reject(err);\n throw err;\n }\n }\n const componentContext = merge({}, context, {\n f7route: options.route,\n f7router: router,\n });\n const componentProps = merge(\n options.route ? options.route.params || {} : {},\n options.props || {},\n options.routeProps || {},\n );\n let componentEl;\n let componentRoot;\n if (options.componentOptions && options.componentOptions.el) {\n componentEl = options.componentOptions.el;\n }\n if (options.componentOptions && options.componentOptions.root) {\n componentRoot = options.componentOptions.root;\n }\n app.component\n .create(componentFunction, componentProps, {\n context: componentContext,\n el: componentEl,\n root: componentRoot,\n })\n .then((createdComponent) => {\n resolve(createdComponent.el);\n })\n .catch((err) => {\n reject(err);\n throw new Error(err);\n });\n }\n let cachedComponent;\n if (compiledUrl && router.params.componentCache) {\n router.cache.components.forEach((cached) => {\n if (cached.url === compiledUrl) cachedComponent = cached.component;\n });\n }\n if (compiledUrl && cachedComponent) {\n compile(cachedComponent);\n } else if (compiledUrl && !cachedComponent) {\n // Load via XHR\n if (router.xhrAbortController) {\n router.xhrAbortController.abort();\n router.xhrAbortController = false;\n }\n router\n .xhrRequest(url, options)\n .then((loadedComponent) => {\n const parsedComponent = app.component.parse(loadedComponent);\n if (router.params.componentCache) {\n router.cache.components.push({\n url: compiledUrl,\n component: parsedComponent,\n });\n }\n compile(parsedComponent);\n })\n .catch((err) => {\n reject();\n throw err;\n });\n } else {\n compile(component);\n }\n },\n\n modalComponentLoader({ component, componentUrl, options, resolve, reject } = {}) {\n const router = this;\n router.componentLoader(\n component,\n componentUrl,\n options,\n (el) => {\n resolve(el);\n },\n reject,\n );\n },\n\n tabComponentLoader({ component, componentUrl, options, resolve, reject } = {}) {\n const router = this;\n router.componentLoader(\n component,\n componentUrl,\n options,\n (el) => {\n resolve(el);\n },\n reject,\n );\n },\n\n pageComponentLoader({ component, componentUrl, options, resolve, reject } = {}) {\n const router = this;\n router.componentLoader(\n component,\n componentUrl,\n options,\n (el, newOptions = {}) => {\n resolve(el, newOptions);\n },\n reject,\n );\n },\n },\n};\n","var n=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+\"\":p?(u=t.apply(a,n(t,a,r,[\"\",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a)}return e},t=new Map;export default function(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e=\"\",u=\"\",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\\s*\\n\\s*|\\s*\\n\\s*$/g,\"\")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&\"...\"===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e=\"\"},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?\"<\"===t?(p(),h=[h],r=3):e+=t:4===r?\"--\"===e&&\">\"===t?(r=1,e=\"\"):e=t+e[0]:u?t===u?u=\"\":e+=t:'\"'===t||\"'\"===t?u=t:\">\"===t?(p(),r=1):r&&(\"=\"===t?(r=5,s=e,e=\"\"):\"/\"===t&&(r<5||\">\"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t?(p(),r=2):e+=t),3===r&&\"!--\"===e&&(r=4,h=h[0])}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}\n","import htm from 'htm';\nimport { flattenArray } from '../../shared/utils.js';\n\nconst ignoreChildren = [false, null, '', undefined];\n\nconst h = (type, props, ...children) => {\n return {\n type,\n props: props || {},\n children: flattenArray(children.filter((child) => ignoreChildren.indexOf(child) < 0)),\n };\n};\n\nconst $h = htm.bind(h);\n\nexport default $h;\n","export function vnode(sel, data, children, text, elm) {\n var key = data === undefined ? undefined : data.key;\n return { sel: sel, data: data, children: children,\n text: text, elm: elm, key: key };\n}\nexport default vnode;\n//# sourceMappingURL=vnode.js.map","export var array = Array.isArray;\nexport function primitive(s) {\n return typeof s === 'string' || typeof s === 'number';\n}\n//# sourceMappingURL=is.js.map","import { vnode } from './vnode.js';\nimport * as is from './is.js';\nfunction addNS(data, children, sel) {\n data.ns = 'http://www.w3.org/2000/svg';\n if (sel !== 'foreignObject' && children !== undefined) {\n for (var i = 0; i < children.length; ++i) {\n var childData = children[i].data;\n if (childData !== undefined) {\n addNS(childData, children[i].children, children[i].sel);\n }\n }\n }\n}\nexport function h(sel, b, c) {\n var data = {}, children, text, i;\n if (c !== undefined) {\n data = b;\n if (is.array(c)) {\n children = c;\n }\n else if (is.primitive(c)) {\n text = c;\n }\n else if (c && c.sel) {\n children = [c];\n }\n }\n else if (b !== undefined) {\n if (is.array(b)) {\n children = b;\n }\n else if (is.primitive(b)) {\n text = b;\n }\n else if (b && b.sel) {\n children = [b];\n }\n else {\n data = b;\n }\n }\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n if (is.primitive(children[i]))\n children[i] = vnode(undefined, undefined, undefined, children[i], undefined);\n }\n }\n if (sel[0] === 's' && sel[1] === 'v' && sel[2] === 'g' &&\n (sel.length === 3 || sel[3] === '.' || sel[3] === '#')) {\n addNS(data, children, sel);\n }\n return vnode(sel, data, children, text, undefined);\n}\n;\nexport default h;\n//# sourceMappingURL=h.js.map\n","export default {};\n","/* eslint no-use-before-define: \"off\" */\n/* eslint import/no-named-as-default: \"off\" */\nimport h from './snabbdom/h.js';\nimport customComponents from './custom-components.js';\nimport { isObject, eventNameToColonCase } from '../../shared/utils.js';\n\nconst SELF_CLOSING =\n 'area base br col command embed hr img input keygen link menuitem meta param source track wbr'.split(\n ' ',\n );\nconst PROPS_ATTRS =\n 'hidden checked disabled readonly selected autofocus autoplay required multiple value indeterminate routeProps innerHTML'.split(\n ' ',\n );\nconst BOOLEAN_PROPS =\n 'hidden checked disabled readonly selected autofocus autoplay required multiple readOnly indeterminate'.split(\n ' ',\n );\n\nconst getTagName = (treeNode) => {\n return typeof treeNode.type === 'function'\n ? treeNode.type.name || 'CustomComponent'\n : treeNode.type;\n};\n\nconst toCamelCase = (name) => {\n return name\n .split('-')\n .map((word, index) => {\n if (index === 0) return word.toLowerCase();\n return word[0].toUpperCase() + word.substr(1);\n })\n .join('');\n};\nconst propsFromAttrs = (...args) => {\n const context = {};\n args.forEach((obj = {}) => {\n Object.keys(obj).forEach((key) => {\n context[toCamelCase(key)] = obj[key];\n });\n });\n\n return context;\n};\n\nconst createCustomComponent = ({ f7, treeNode, vnode, data }) => {\n const component =\n typeof treeNode.type === 'function' ? treeNode.type : customComponents[treeNode.type];\n f7.component\n .create(component, propsFromAttrs(data.attrs || {}, data.props || {}), {\n el: vnode.elm,\n children: treeNode.children,\n })\n .then((c) => {\n if (vnode.data && vnode.data.on && c && c.$el) {\n Object.keys(vnode.data.on).forEach((eventName) => {\n c.$el.on(eventName, vnode.data.on[eventName]);\n });\n }\n // eslint-disable-next-line\n vnode.elm.__component__ = c;\n });\n};\nconst updateCustomComponent = (vnode) => {\n // eslint-disable-next-line\n const component = vnode && vnode.elm && vnode.elm.__component__;\n if (!component) return;\n const newProps = propsFromAttrs(vnode.data.attrs || {}, vnode.data.props || {});\n component.children = vnode.data.treeNode.children;\n Object.assign(component.props, newProps);\n component.update();\n};\nconst destroyCustomComponent = (vnode) => {\n // eslint-disable-next-line\n const component = vnode && vnode.elm && vnode.elm.__component__;\n\n if (component) {\n const { el, $el } = component;\n if (vnode.data && vnode.data.on && $el) {\n Object.keys(vnode.data.on).forEach((eventName) => {\n $el.off(eventName, vnode.data.on[eventName]);\n });\n }\n if (component.destroy) component.destroy();\n if (el && el.parentNode) el.parentNode.removeChild(el);\n delete vnode.elm.__component__; // eslint-disable-line\n }\n};\n\nconst isCustomComponent = (treeNodeType) => {\n return (\n typeof treeNodeType === 'function' ||\n (treeNodeType && treeNodeType.indexOf('-') > 0 && customComponents[treeNodeType])\n );\n};\n\nfunction getHooks(treeNode, data, f7, initial, isRoot) {\n const hooks = {};\n const insert = [];\n const destroy = [];\n const update = [];\n const postpatch = [];\n let isFakeElement = false;\n let tagName = getTagName(treeNode);\n if (data && data.attrs && data.attrs.component) {\n tagName = data.attrs.component;\n delete data.attrs.component;\n isFakeElement = true;\n }\n\n const isCustom = isCustomComponent(treeNode.type);\n\n if (isCustom) {\n insert.push((vnode) => {\n if (vnode.sel !== tagName && !isFakeElement) return;\n createCustomComponent({ f7, treeNode, vnode, data });\n });\n destroy.push((vnode) => {\n destroyCustomComponent(vnode);\n });\n update.push((oldVnode, vnode) => {\n updateCustomComponent(vnode);\n });\n }\n\n if (!isCustom) {\n if (!data || !data.attrs || !data.attrs.class) return hooks;\n\n const classNames = data.attrs.class;\n classNames.split(' ').forEach((className) => {\n if (!initial) {\n insert.push(...f7.getVnodeHooks('insert', className));\n }\n destroy.push(...f7.getVnodeHooks('destroy', className));\n update.push(...f7.getVnodeHooks('update', className));\n postpatch.push(...f7.getVnodeHooks('postpatch', className));\n });\n }\n\n if (isRoot && !initial) {\n postpatch.push((oldVnode, vnode) => {\n const vn = vnode || oldVnode;\n if (!vn) return;\n if (vn.data && vn.data.component) {\n vn.data.component.hook('onUpdated');\n }\n });\n }\n if (\n insert.length === 0 &&\n destroy.length === 0 &&\n update.length === 0 &&\n postpatch.length === 0\n ) {\n return hooks;\n }\n\n if (insert.length) {\n hooks.insert = (vnode) => {\n insert.forEach((f) => f(vnode));\n };\n }\n if (destroy.length) {\n hooks.destroy = (vnode) => {\n destroy.forEach((f) => f(vnode));\n };\n }\n if (update.length) {\n hooks.update = (oldVnode, vnode) => {\n update.forEach((f) => f(oldVnode, vnode));\n };\n }\n if (postpatch.length) {\n hooks.postpatch = (oldVnode, vnode) => {\n postpatch.forEach((f) => f(oldVnode, vnode));\n };\n }\n\n return hooks;\n}\nconst getEventHandler = (eventHandler, { stop, prevent, once } = {}) => {\n let fired = false;\n\n function handler(...args) {\n const e = args[0];\n if (once && fired) return;\n if (stop) e.stopPropagation();\n if (prevent) e.preventDefault();\n fired = true;\n\n eventHandler(...args);\n }\n\n return handler;\n};\n\nconst getData = (treeNode, component, f7, initial, isRoot) => {\n const data = { component, treeNode };\n const tagName = getTagName(treeNode);\n Object.keys(treeNode.props).forEach((attrName) => {\n const attrValue = treeNode.props[attrName];\n if (typeof attrValue === 'undefined') return;\n if (PROPS_ATTRS.indexOf(attrName) >= 0) {\n // Props\n if (!data.props) data.props = {};\n if (attrName === 'readonly') {\n // eslint-disable-next-line\n attrName = 'readOnly';\n }\n if (attrName === 'routeProps') {\n // eslint-disable-next-line\n attrName = 'f7RouteProps';\n }\n if (tagName === 'option' && attrName === 'value') {\n if (!data.attrs) data.attrs = {};\n data.attrs.value = attrValue;\n }\n if (BOOLEAN_PROPS.indexOf(attrName) >= 0) {\n // eslint-disable-next-line\n data.props[attrName] = attrValue === false ? false : true;\n } else {\n data.props[attrName] = attrValue;\n }\n } else if (attrName === 'key') {\n // Key\n data.key = attrValue;\n } else if (\n attrName.indexOf('@') === 0 ||\n (attrName.indexOf('on') === 0 && attrName.length > 2)\n ) {\n // Events\n if (!data.on) data.on = {};\n let eventName =\n attrName.indexOf('@') === 0 ? attrName.substr(1) : eventNameToColonCase(attrName.substr(2));\n let stop = false;\n let prevent = false;\n let once = false;\n if (eventName.indexOf('.') >= 0) {\n eventName.split('.').forEach((eventNamePart, eventNameIndex) => {\n if (eventNameIndex === 0) eventName = eventNamePart;\n else {\n if (eventNamePart === 'stop') stop = true;\n if (eventNamePart === 'prevent') prevent = true;\n if (eventNamePart === 'once') once = true;\n }\n });\n }\n data.on[eventName] = getEventHandler(attrValue, { stop, prevent, once });\n } else if (attrName === 'style') {\n // Style\n if (typeof attrValue !== 'string') {\n data.style = attrValue;\n } else {\n if (!data.attrs) data.attrs = {};\n data.attrs.style = attrValue;\n }\n } else {\n // Rest of attribures\n if (!data.attrs) data.attrs = {};\n data.attrs[attrName] = attrValue;\n\n // ID -> Key\n if (attrName === 'id' && !data.key && !isRoot) {\n data.key = attrValue;\n }\n }\n });\n\n const hooks = getHooks(treeNode, data, f7, initial, isRoot);\n\n hooks.prepatch = (oldVnode, vnode) => {\n if (!oldVnode || !vnode) return;\n if (oldVnode && oldVnode.data && oldVnode.data.props) {\n Object.keys(oldVnode.data.props).forEach((key) => {\n if (BOOLEAN_PROPS.indexOf(key) < 0) return;\n if (!vnode.data) vnode.data = {};\n if (!vnode.data.props) vnode.data.props = {};\n if (oldVnode.data.props[key] === true && !(key in vnode.data.props)) {\n vnode.data.props[key] = false;\n }\n });\n }\n };\n\n data.hook = hooks;\n\n return data;\n};\n\nconst getChildren = (treeNode, component, f7, initial) => {\n if (treeNode && treeNode.type && SELF_CLOSING.indexOf(treeNode.type) >= 0) {\n return [];\n }\n const children = [];\n const nodes = treeNode.children;\n for (let i = 0; i < nodes.length; i += 1) {\n const childNode = nodes[i];\n const child = treeNodeToVNode(childNode, component, f7, initial, false);\n if (Array.isArray(child)) {\n children.push(...child);\n } else if (child) {\n children.push(child);\n }\n }\n return children;\n};\n\nconst getSlots = (treeNode, component, f7, initial) => {\n const slotName = treeNode.props.name || 'default';\n const slotNodes = (component.children || []).filter((childTreeNode) => {\n let childSlotName = 'default';\n if (childTreeNode.props) {\n childSlotName = childTreeNode.props.slot || 'default';\n }\n return childSlotName === slotName;\n });\n if (slotNodes.length === 0) {\n return getChildren(treeNode, component, f7, initial);\n }\n return slotNodes.map((subTreeNode) => treeNodeToVNode(subTreeNode, component, f7, initial));\n};\n\nconst isTreeNode = (treeNode) => {\n return isObject(treeNode) && 'props' in treeNode && 'type' in treeNode && 'children' in treeNode;\n};\n\nconst treeNodeToVNode = (treeNode, component, f7, initial, isRoot) => {\n if (!isTreeNode(treeNode)) {\n return String(treeNode);\n }\n if (treeNode.type === 'slot') {\n return getSlots(treeNode, component, f7, initial);\n }\n const data = getData(treeNode, component, f7, initial, isRoot);\n const children = isCustomComponent(treeNode.type)\n ? []\n : getChildren(treeNode, component, f7, initial);\n\n return h(getTagName(treeNode), data, children);\n};\n\nexport default function vdom(tree = {}, component, initial) {\n return treeNodeToVNode(tree, component, component.f7, initial, true);\n}\n","function createElement(tagName) {\n return document.createElement(tagName);\n}\nfunction createElementNS(namespaceURI, qualifiedName) {\n return document.createElementNS(namespaceURI, qualifiedName);\n}\nfunction createTextNode(text) {\n return document.createTextNode(text);\n}\nfunction createComment(text) {\n return document.createComment(text);\n}\nfunction insertBefore(parentNode, newNode, referenceNode) {\n if (referenceNode && referenceNode.parentNode !== parentNode) {\n if (referenceNode.__component__) referenceNode = referenceNode.__component__.el;\n }\n parentNode.insertBefore(newNode, referenceNode);\n}\nfunction removeChild(node, child) {\n if (!node) return;\n node.removeChild(child);\n}\nfunction appendChild(node, child) {\n node.appendChild(child);\n}\nfunction parentNode(node) {\n return node.parentNode;\n}\nfunction nextSibling(node) {\n return node.nextSibling;\n}\nfunction tagName(elm) {\n return elm.tagName;\n}\nfunction setTextContent(node, text) {\n node.textContent = text;\n}\nfunction getTextContent(node) {\n return node.textContent;\n}\nfunction isElement(node) {\n return node.nodeType === 1;\n}\nfunction isText(node) {\n return node.nodeType === 3;\n}\nfunction isComment(node) {\n return node.nodeType === 8;\n}\nexport var htmlDomApi = {\n createElement: createElement,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n getTextContent: getTextContent,\n isElement: isElement,\n isText: isText,\n isComment: isComment,\n};\nexport default htmlDomApi;\n//# sourceMappingURL=htmldomapi.js.map\n","import vnode from './vnode.js';\nimport * as is from './is.js';\nimport htmlDomApi from './htmldomapi.js';\nfunction isUndef(s) { return s === undefined; }\nfunction isDef(s) { return s !== undefined; }\nvar emptyNode = vnode('', {}, [], undefined, undefined);\nfunction sameVnode(vnode1, vnode2) {\n return vnode1.key === vnode2.key && vnode1.sel === vnode2.sel;\n}\nfunction isVnode(vnode) {\n return vnode.sel !== undefined;\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var i, map = {}, key, ch;\n for (i = beginIdx; i <= endIdx; ++i) {\n ch = children[i];\n if (ch != null) {\n key = ch.key;\n if (key !== undefined)\n map[key] = i;\n }\n }\n return map;\n}\nvar hooks = ['create', 'update', 'remove', 'destroy', 'pre', 'post'];\nexport { h } from './h.js';\nexport { thunk } from './thunk.js';\nexport function init(modules, domApi) {\n var i, j, cbs = {};\n var api = domApi !== undefined ? domApi : htmlDomApi;\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n var hook = modules[j][hooks[i]];\n if (hook !== undefined) {\n cbs[hooks[i]].push(hook);\n }\n }\n }\n function emptyNodeAt(elm) {\n var id = elm.id ? '#' + elm.id : '';\n var c = elm.className ? '.' + elm.className.split(' ').join('.') : '';\n return vnode(api.tagName(elm).toLowerCase() + id + c, {}, [], undefined, elm);\n }\n function createRmCb(childElm, listeners) {\n return function rmCb() {\n if (--listeners === 0) {\n var parent_1 = api.parentNode(childElm);\n api.removeChild(parent_1, childElm);\n }\n };\n }\n function createElm(vnode, insertedVnodeQueue) {\n var i, data = vnode.data;\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.init)) {\n i(vnode);\n data = vnode.data;\n }\n }\n var children = vnode.children, sel = vnode.sel;\n if (sel === '!') {\n if (isUndef(vnode.text)) {\n vnode.text = '';\n }\n vnode.elm = api.createComment(vnode.text);\n }\n else if (sel !== undefined) {\n // Parse selector\n var hashIdx = sel.indexOf('#');\n var dotIdx = sel.indexOf('.', hashIdx);\n var hash = hashIdx > 0 ? hashIdx : sel.length;\n var dot = dotIdx > 0 ? dotIdx : sel.length;\n var tag = hashIdx !== -1 || dotIdx !== -1 ? sel.slice(0, Math.min(hash, dot)) : sel;\n var elm = vnode.elm = isDef(data) && isDef(i = data.ns) ? api.createElementNS(i, tag)\n : api.createElement(tag);\n if (hash < dot)\n elm.setAttribute('id', sel.slice(hash + 1, dot));\n if (dotIdx > 0)\n elm.setAttribute('class', sel.slice(dot + 1).replace(/\\./g, ' '));\n for (i = 0; i < cbs.create.length; ++i)\n cbs.create[i](emptyNode, vnode);\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n var ch = children[i];\n if (ch != null) {\n api.appendChild(elm, createElm(ch, insertedVnodeQueue));\n }\n }\n }\n else if (is.primitive(vnode.text)) {\n api.appendChild(elm, api.createTextNode(vnode.text));\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (i.create)\n i.create(emptyNode, vnode);\n if (i.insert)\n insertedVnodeQueue.push(vnode);\n }\n }\n else {\n vnode.elm = api.createTextNode(vnode.text);\n }\n return vnode.elm;\n }\n function addVnodes(parentElm, before, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n api.insertBefore(parentElm, createElm(ch, insertedVnodeQueue), before);\n }\n }\n }\n function invokeDestroyHook(vnode) {\n var i, j, data = vnode.data;\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.destroy))\n i(vnode);\n for (i = 0; i < cbs.destroy.length; ++i)\n cbs.destroy[i](vnode);\n if (vnode.children !== undefined) {\n for (j = 0; j < vnode.children.length; ++j) {\n i = vnode.children[j];\n if (i != null && typeof i !== \"string\") {\n invokeDestroyHook(i);\n }\n }\n }\n }\n }\n function removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var i_1 = void 0, listeners = void 0, rm = void 0, ch = vnodes[startIdx];\n if (ch != null) {\n if (isDef(ch.sel)) {\n invokeDestroyHook(ch);\n listeners = cbs.remove.length + 1;\n rm = createRmCb(ch.elm, listeners);\n for (i_1 = 0; i_1 < cbs.remove.length; ++i_1)\n cbs.remove[i_1](ch, rm);\n if (isDef(i_1 = ch.data) && isDef(i_1 = i_1.hook) && isDef(i_1 = i_1.remove)) {\n i_1(ch, rm);\n }\n else {\n rm();\n }\n }\n else {\n api.removeChild(parentElm, ch.elm);\n }\n }\n }\n }\n function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue) {\n var oldStartIdx = 0, newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx;\n var idxInOld;\n var elmToMove;\n var before;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode might have been moved left\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newEndVnode)) {\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldEndVnode, newStartVnode)) {\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n if (oldKeyToIdx === undefined) {\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n }\n idxInOld = oldKeyToIdx[newStartVnode.key];\n if (isUndef(idxInOld)) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.sel !== newStartVnode.sel) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n }\n else {\n patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n }\n if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n if (oldStartIdx > oldEndIdx) {\n before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n }\n else {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n }\n function patchVnode(oldVnode, vnode, insertedVnodeQueue) {\n var i, hook;\n if (isDef(i = vnode.data) && isDef(hook = i.hook) && isDef(i = hook.prepatch)) {\n i(oldVnode, vnode);\n }\n var elm = vnode.elm = oldVnode.elm;\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (oldVnode === vnode)\n return;\n if (vnode.data !== undefined) {\n for (i = 0; i < cbs.update.length; ++i)\n cbs.update[i](oldVnode, vnode);\n i = vnode.data.hook;\n if (isDef(i) && isDef(i = i.update))\n i(oldVnode, vnode);\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch)\n updateChildren(elm, oldCh, ch, insertedVnodeQueue);\n }\n else if (isDef(ch)) {\n if (isDef(oldVnode.text))\n api.setTextContent(elm, '');\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n }\n else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n else if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n }\n else if (oldVnode.text !== vnode.text) {\n api.setTextContent(elm, vnode.text);\n }\n if (isDef(hook) && isDef(i = hook.postpatch)) {\n i(oldVnode, vnode);\n }\n }\n return function patch(oldVnode, vnode) {\n var i, elm, parent;\n var insertedVnodeQueue = [];\n for (i = 0; i < cbs.pre.length; ++i)\n cbs.pre[i]();\n if (!isVnode(oldVnode)) {\n oldVnode = emptyNodeAt(oldVnode);\n }\n if (sameVnode(oldVnode, vnode)) {\n patchVnode(oldVnode, vnode, insertedVnodeQueue);\n }\n else {\n elm = oldVnode.elm;\n parent = api.parentNode(elm);\n createElm(vnode, insertedVnodeQueue);\n if (parent !== null) {\n api.insertBefore(parent, vnode.elm, api.nextSibling(elm));\n removeVnodes(parent, [oldVnode], 0, 0);\n }\n }\n for (i = 0; i < insertedVnodeQueue.length; ++i) {\n insertedVnodeQueue[i].data.hook.insert(insertedVnodeQueue[i]);\n }\n for (i = 0; i < cbs.post.length; ++i)\n cbs.post[i]();\n return vnode;\n };\n}\n//# sourceMappingURL=snabbdom.js.map\n","var xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar colonChar = 58;\nvar xChar = 120;\nfunction updateAttrs(oldVnode, vnode) {\n var key, elm = vnode.elm, oldAttrs = oldVnode.data.attrs, attrs = vnode.data.attrs;\n if (!oldAttrs && !attrs)\n return;\n if (oldAttrs === attrs)\n return;\n oldAttrs = oldAttrs || {};\n attrs = attrs || {};\n // update modified attributes, add new attributes\n for (key in attrs) {\n var cur = attrs[key];\n var old = oldAttrs[key];\n if (old !== cur) {\n if (cur === true) {\n elm.setAttribute(key, \"\");\n }\n else if (cur === false) {\n elm.removeAttribute(key);\n }\n else {\n if (key.charCodeAt(0) !== xChar) {\n elm.setAttribute(key, cur);\n }\n else if (key.charCodeAt(3) === colonChar) {\n // Assume xml namespace\n elm.setAttributeNS(xmlNS, key, cur);\n }\n else if (key.charCodeAt(5) === colonChar) {\n // Assume xlink namespace\n elm.setAttributeNS(xlinkNS, key, cur);\n }\n else {\n elm.setAttribute(key, cur);\n }\n }\n }\n }\n // remove removed attributes\n // use `in` operator since the previous `for` iteration uses it (.i.e. add even attributes with undefined value)\n // the other option is to remove all attributes with value == undefined\n for (key in oldAttrs) {\n if (!(key in attrs)) {\n elm.removeAttribute(key);\n }\n }\n}\nexport var attributesModule = { create: updateAttrs, update: updateAttrs };\nexport default attributesModule;\n//# sourceMappingURL=attributes.js.map","function updateProps(oldVnode, vnode) {\n var key, cur, old, elm = vnode.elm, oldProps = oldVnode.data.props, props = vnode.data.props;\n if (!oldProps && !props)\n return;\n if (oldProps === props)\n return;\n oldProps = oldProps || {};\n props = props || {};\n for (key in oldProps) {\n if (!props[key]) {\n delete elm[key];\n }\n }\n for (key in props) {\n cur = props[key];\n old = oldProps[key];\n if (old !== cur && (key !== 'value' || elm[key] !== cur)) {\n elm[key] = cur;\n }\n }\n}\nexport var propsModule = { create: updateProps, update: updateProps };\nexport default propsModule;\n//# sourceMappingURL=props.js.map","var raf = (typeof window !== 'undefined' && window.requestAnimationFrame) || setTimeout;\nvar nextFrame = function (fn) { raf(function () { raf(fn); }); };\nfunction setNextFrame(obj, prop, val) {\n nextFrame(function () { obj[prop] = val; });\n}\nfunction updateStyle(oldVnode, vnode) {\n var cur, name, elm = vnode.elm, oldStyle = oldVnode.data.style, style = vnode.data.style;\n if (!oldStyle && !style)\n return;\n if (oldStyle === style)\n return;\n oldStyle = oldStyle || {};\n style = style || {};\n var oldHasDel = 'delayed' in oldStyle;\n for (name in oldStyle) {\n if (!style[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.removeProperty(name);\n }\n else {\n elm.style[name] = '';\n }\n }\n }\n for (name in style) {\n cur = style[name];\n if (name === 'delayed' && style.delayed) {\n for (var name2 in style.delayed) {\n cur = style.delayed[name2];\n if (!oldHasDel || cur !== oldStyle.delayed[name2]) {\n setNextFrame(elm.style, name2, cur);\n }\n }\n }\n else if (name !== 'remove' && cur !== oldStyle[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.setProperty(name, cur);\n }\n else {\n elm.style[name] = cur;\n }\n }\n }\n}\nfunction applyDestroyStyle(vnode) {\n var style, name, elm = vnode.elm, s = vnode.data.style;\n if (!s || !(style = s.destroy))\n return;\n for (name in style) {\n elm.style[name] = style[name];\n }\n}\nfunction applyRemoveStyle(vnode, rm) {\n var s = vnode.data.style;\n if (!s || !s.remove) {\n rm();\n return;\n }\n var name, elm = vnode.elm, i = 0, compStyle, style = s.remove, amount = 0, applied = [];\n for (name in style) {\n applied.push(name);\n elm.style[name] = style[name];\n }\n compStyle = getComputedStyle(elm);\n var props = compStyle['transition-property'].split(', ');\n for (; i < props.length; ++i) {\n if (applied.indexOf(props[i]) !== -1)\n amount++;\n }\n elm.addEventListener('transitionend', function (ev) {\n if (ev.target === elm)\n --amount;\n if (amount === 0)\n rm();\n });\n}\nexport var styleModule = {\n create: updateStyle,\n update: updateStyle,\n destroy: applyDestroyStyle,\n remove: applyRemoveStyle\n};\nexport default styleModule;\n//# sourceMappingURL=style.js.map","import $ from '../../shared/dom7.js';\n\nfunction invokeHandler(handler, event, args) {\n if (typeof handler === 'function') {\n // call function handler\n handler(event, ...args);\n }\n}\nfunction handleEvent(event, args, vnode) {\n const name = event.type;\n const on = vnode.data.on;\n // call event handler(s) if exists\n if (on && on[name]) {\n invokeHandler(on[name], event, args, vnode);\n }\n}\nfunction createListener() {\n return function handler(event, ...args) {\n handleEvent(event, args, handler.vnode);\n };\n}\nfunction updateEvents(oldVnode, vnode) {\n const oldOn = oldVnode.data.on;\n const oldListener = oldVnode.listener;\n const oldElm = oldVnode.elm;\n const on = vnode && vnode.data.on;\n const elm = vnode && vnode.elm;\n // optimization for reused immutable handlers\n if (oldOn === on) {\n return;\n }\n // remove existing listeners which no longer used\n if (oldOn && oldListener) {\n // if element changed or deleted we remove all existing listeners unconditionally\n if (!on) {\n Object.keys(oldOn).forEach((name) => {\n $(oldElm).off(name, oldListener);\n });\n } else {\n Object.keys(oldOn).forEach((name) => {\n if (!on[name]) {\n $(oldElm).off(name, oldListener);\n }\n });\n }\n }\n // add new listeners which has not already attached\n if (on) {\n // reuse existing listener or create new\n const listener = oldVnode.listener || createListener();\n vnode.listener = listener;\n // update vnode for listener\n listener.vnode = vnode;\n // if element changed or added we add all needed listeners unconditionally\n if (!oldOn) {\n Object.keys(on).forEach((name) => {\n $(elm).on(name, listener);\n });\n } else {\n Object.keys(on).forEach((name) => {\n if (!oldOn[name]) {\n $(elm).on(name, listener);\n }\n });\n }\n }\n}\n\nexport default {\n create: updateEvents,\n update: updateEvents,\n destroy: updateEvents,\n};\n","/* eslint import/no-named-as-default: off */\nimport { init } from './snabbdom/snabbdom.js';\nimport attributesModule from './snabbdom/modules/attributes.js';\nimport propsModule from './snabbdom/modules/props.js';\nimport styleModule from './snabbdom/modules/style.js';\nimport eventListenersModule from './eventslisteners.js';\n\nconst patch = init([attributesModule, propsModule, styleModule, eventListenersModule]);\n\nexport default patch;\n","import { flattenArray } from '../../shared/utils.js';\n\nconst ignoreChildren = [false, null, '', undefined];\n\nconst $jsx = (type, props, ...children) => {\n const flatChildren = flattenArray(\n (children || []).filter((child) => ignoreChildren.indexOf(child) < 0),\n );\n if (type === 'Fragment') {\n return flatChildren;\n }\n return {\n type,\n props: props || {},\n children: flatChildren,\n };\n};\n\nexport default $jsx;\n","/* eslint no-underscore-dangle: \"off\" */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport $h from './$h.js';\nimport { id as generateId, merge, eventNameToColonCase, deleteProps } from '../../shared/utils.js';\nimport vdom from './vdom.js';\nimport patch from './patch.js';\nimport $jsx from './$jsx.js';\n\nclass Component {\n constructor(app, component, props = {}, { el, context, children } = {}) {\n const document = getDocument();\n merge(this, {\n f7: app,\n props: props || {},\n context: context || {},\n id: component.id || generateId(),\n children: children || [],\n theme: {\n ios: app.theme === 'ios',\n md: app.theme === 'md',\n },\n style: component.style,\n __updateQueue: [],\n __eventHandlers: [],\n __onceEventHandlers: [],\n __onBeforeMount: [],\n __onMounted: [],\n __onBeforeUpdate: [],\n __onUpdated: [],\n __onBeforeUnmount: [],\n __onUnmounted: [],\n });\n\n const createComponent = () => {\n return component(this.props, this.getComponentContext(true));\n };\n\n const getRenderFuncion = (componentResult) =>\n new Promise((resolve, reject) => {\n if (typeof componentResult === 'function') {\n resolve(componentResult);\n } else if (componentResult instanceof Promise) {\n componentResult\n .then((render) => {\n resolve(render);\n })\n .catch((err) => {\n reject(err);\n });\n } else {\n reject(\n new Error(\n 'Framework7: Component render function is not a \"function\" type. Didn\\'t you forget to \"return $render\"?',\n ),\n );\n }\n });\n\n return new Promise((resolve, reject) => {\n const componentResult = createComponent();\n getRenderFuncion(componentResult)\n .then((render) => {\n this.renderFunction = render;\n\n const tree = this.render();\n\n if (el) {\n this.vnode = vdom(tree, this, true);\n if (this.style) {\n this.styleEl = document.createElement('style');\n this.styleEl.innerHTML = this.style;\n }\n this.el = el;\n patch(this.el, this.vnode);\n this.el = this.vnode.elm;\n this.$el = $(this.el);\n\n this.attachEvents();\n this.el.f7Component = this;\n this.mount();\n resolve(this);\n return;\n }\n // Make Dom\n if (tree) {\n this.vnode = vdom(tree, this, true);\n this.el = document.createElement(this.vnode.sel || 'div');\n patch(this.el, this.vnode);\n this.$el = $(this.el);\n }\n if (this.style) {\n this.styleEl = document.createElement('style');\n this.styleEl.innerHTML = this.style;\n }\n\n this.attachEvents();\n\n if (this.el) {\n this.el.f7Component = this;\n }\n\n resolve(this);\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n on(eventName, handler) {\n if (!this.__eventHandlers) return;\n this.__eventHandlers.push({ eventName, handler });\n }\n\n once(eventName, handler) {\n if (!this.__eventHandlers) return;\n this.__onceEventHandlers.push({ eventName, handler });\n }\n\n getComponentRef() {\n const self = this;\n return (initialValue) => {\n let value = initialValue;\n const obj = {};\n Object.defineProperty(obj, 'value', {\n get() {\n return value;\n },\n set(v) {\n value = v;\n self.update();\n },\n });\n return obj;\n };\n }\n\n getComponentStore() {\n const { state, _gettersPlain, dispatch } = this.f7.store;\n const $store = {\n state,\n dispatch,\n };\n $store.getters = new Proxy(_gettersPlain, {\n get: (target, prop) => {\n const obj = target[prop];\n const callback = (v) => {\n obj.value = v;\n this.update();\n };\n obj.onUpdated(callback);\n return obj;\n },\n });\n\n return $store;\n }\n\n getComponentContext(includeHooks) {\n const ctx = {\n $f7route: this.context.f7route,\n $f7router: this.context.f7router,\n $h,\n $,\n $id: this.id,\n $f7: this.f7,\n $f7ready: this.f7ready.bind(this),\n $theme: this.theme,\n $tick: this.tick.bind(this),\n $update: this.update.bind(this),\n $emit: this.emit.bind(this),\n $store: this.getComponentStore(),\n $ref: this.getComponentRef(),\n $el: {},\n };\n Object.defineProperty(ctx.$el, 'value', {\n get: () => {\n return this.$el;\n },\n });\n if (includeHooks)\n Object.assign(ctx, {\n $on: this.on.bind(this),\n $once: this.once.bind(this),\n $onBeforeMount: (handler) => this.__onBeforeMount.push(handler),\n $onMounted: (handler) => this.__onMounted.push(handler),\n $onBeforeUpdate: (handler) => this.__onBeforeUpdate.push(handler),\n $onUpdated: (handler) => this.__onUpdated.push(handler),\n $onBeforeUnmount: (handler) => this.__onBeforeUnmount.push(handler),\n $onUnmounted: (handler) => this.__onUnmounted.push(handler),\n });\n\n return ctx;\n }\n\n render() {\n return this.renderFunction(this.getComponentContext());\n }\n\n emit(name, data) {\n if (!this.el) return;\n this.$el.trigger(name, data);\n }\n\n attachEvents() {\n const { $el } = this;\n if (!this.__eventHandlers) return;\n this.__eventHandlers.forEach(({ eventName, handler }) => {\n $el.on(eventNameToColonCase(eventName), handler);\n });\n this.__onceEventHandlers.forEach(({ eventName, handler }) => {\n $el.once(eventNameToColonCase(eventName), handler);\n });\n }\n\n detachEvents() {\n const { $el } = this;\n if (!this.__eventHandlers) return;\n this.__eventHandlers.forEach(({ eventName, handler }) => {\n $el.on(eventNameToColonCase(eventName), handler);\n });\n this.__onceEventHandlers.forEach(({ eventName, handler }) => {\n $el.once(eventNameToColonCase(eventName), handler);\n });\n }\n\n startUpdateQueue() {\n const window = getWindow();\n if (this.__requestAnimationFrameId) return;\n const update = () => {\n this.hook('onBeforeUpdate');\n const tree = this.render();\n\n // Make Dom\n if (tree) {\n const newVNode = vdom(tree, this, false);\n this.vnode = patch(this.vnode, newVNode);\n }\n };\n this.__requestAnimationFrameId = window.requestAnimationFrame(() => {\n if (this.__updateIsPending) update();\n let resolvers = [...this.__updateQueue];\n this.__updateQueue = [];\n this.__updateIsPending = false;\n window.cancelAnimationFrame(this.__requestAnimationFrameId);\n delete this.__requestAnimationFrameId;\n delete this.__updateIsPending;\n resolvers.forEach((resolver) => resolver());\n resolvers = [];\n });\n }\n\n tick(callback) {\n return new Promise((resolve) => {\n function resolver() {\n resolve();\n if (callback) callback();\n }\n this.__updateQueue.push(resolver);\n this.startUpdateQueue();\n });\n }\n\n update(callback) {\n if (this.__destroyed) return new Promise(() => {});\n return new Promise((resolve) => {\n const resolver = () => {\n resolve();\n if (callback) callback();\n };\n this.__updateIsPending = true;\n this.__updateQueue.push(resolver);\n this.startUpdateQueue();\n });\n }\n\n setState(callback) {\n return this.update(callback);\n }\n\n f7ready(callback) {\n if (this.f7.initialized) {\n callback(this.f7);\n return;\n }\n this.f7.once('init', () => {\n callback(this.f7);\n });\n }\n\n mount(mountMethod) {\n this.hook('onBeforeMount', this.$el);\n if (this.styleEl) $('head').append(this.styleEl);\n if (mountMethod) mountMethod(this.el);\n this.hook('onMounted', this.$el);\n }\n\n destroy() {\n if (this.__destroyed) return;\n const window = getWindow();\n this.hook('onBeforeUnmount');\n\n if (this.styleEl) $(this.styleEl).remove();\n\n this.detachEvents();\n this.hook('onUnmounted');\n // Delete component instance\n if (this.el && this.el.f7Component) {\n this.el.f7Component = null;\n delete this.el.f7Component;\n }\n // Patch with empty node\n if (this.vnode) {\n this.vnode = patch(this.vnode, { sel: this.vnode.sel, data: {} });\n }\n // Clear update queue\n window.cancelAnimationFrame(this.__requestAnimationFrameId);\n this.__updateQueue = [];\n this.__eventHandlers = [];\n this.__onceEventHandlers = [];\n this.__onBeforeMount = [];\n this.__onMounted = [];\n this.__onBeforeUpdate = [];\n this.__onUpdated = [];\n this.__onBeforeUnmount = [];\n this.__onUnmounted = [];\n // Delete all props\n deleteProps(this);\n this.__destroyed = true;\n }\n\n hook(name, ...args) {\n if (this.__destroyed) return;\n this[`__${name}`].forEach((handler) => {\n handler(...args);\n });\n }\n}\n\nComponent.$jsx = $jsx;\n\nexport default Component;\n","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { id } from '../../shared/utils.js';\n\nfunction parseComponent(componentString) {\n const window = getWindow();\n const document = getDocument();\n const componentId = id();\n const callbackCreateName = `f7_component_create_callback_${componentId}`;\n\n // Template\n let template;\n const hasTemplate = componentString.match(/<template([ ]?)([a-z0-9-]*)>/);\n if (hasTemplate) {\n template = componentString\n .split(/<template[ ]?[a-z0-9-]*>/)\n .filter((item, index) => index > 0)\n .join('<template>')\n .split('</template>')\n .filter((item, index, arr) => index < arr.length - 1)\n .join('</template>')\n .replace(/{{#raw}}([ \\n]*)<template/g, '{{#raw}}<template')\n .replace(/\\/template>([ \\n]*){{\\/raw}}/g, '/template>{{/raw}}')\n .replace(/([ \\n])<template/g, '$1{{#raw}}<template')\n .replace(/\\/template>([ \\n])/g, '/template>{{/raw}}$1');\n }\n\n // Parse Styles\n let style = null;\n\n if (componentString.indexOf('<style>') >= 0) {\n style = componentString.split('<style>')[1].split('</style>')[0];\n }\n if (componentString.indexOf('<style scoped>') >= 0) {\n style = componentString.split('<style scoped>')[1].split('</style>')[0];\n }\n\n // Parse Script\n let scriptContent;\n if (componentString.indexOf('<script>') >= 0) {\n const scripts = componentString.split('<script>');\n scriptContent = scripts[scripts.length - 1].split('</script>')[0].trim();\n } else {\n scriptContent = 'return () => {return $render}';\n }\n if (!scriptContent || !scriptContent.trim()) scriptContent = 'return () => {return $render}';\n\n // Parse Template\n if (template) {\n scriptContent = scriptContent\n .replace(\n '$render',\n `function ($$ctx) {\n var $ = $$ctx.$$;\n var $h = $$ctx.$h;\n var $root = $$ctx.$root;\n var $f7 = $$ctx.$f7;\n var $f7route = $$ctx.$f7route;\n var $f7router = $$ctx.$f7router;\n var $theme = $$ctx.$theme;\n var $update = $$ctx.$update;\n var $store = $$ctx.$store;\n var $ref = $$ctx.$ref;\n\n return $h\\`${template}\\`\n }\n `,\n )\n .replace(/export default/g, 'return');\n }\n\n // Execute Script\n scriptContent = `window.${callbackCreateName} = function () {${scriptContent}}`;\n\n // Insert Script El\n const scriptEl = document.createElement('script');\n scriptEl.innerHTML = scriptContent;\n $('head').append(scriptEl);\n\n const component = window[callbackCreateName]();\n\n // Remove Script El\n $(scriptEl).remove();\n window[callbackCreateName] = null;\n delete window[callbackCreateName];\n\n // Assign Style\n if (style) {\n component.style = style;\n }\n\n // Component ID\n component.id = componentId;\n return component;\n}\n\nexport default parseComponent;\n","import Component from './component-class.js';\nimport parseComponent from './parse-component.js';\nimport customComponents from './custom-components.js';\nimport $jsx from './$jsx.js';\n\nfunction registerComponent(tagName, component) {\n customComponents[tagName] = component;\n}\n\nfunction unregisterComponent(tagName) {\n delete customComponents[tagName];\n}\n\nexport { Component, $jsx };\nexport default {\n name: 'component',\n static: {\n Component,\n parseComponent,\n registerComponent,\n unregisterComponent,\n },\n create() {\n const app = this;\n app.component = {\n registerComponent,\n unregisterComponent,\n parse(componentString) {\n return parseComponent(componentString);\n },\n create(component, props, { root, el, context, children }) {\n return new Component(app, component, props, { root, el, context, children });\n },\n };\n },\n};\n","import History from '../../shared/history.js';\n\nexport default {\n name: 'history',\n static: {\n history: History,\n },\n on: {\n init() {\n History.init(this);\n },\n },\n};\n","import { getWindow } from 'ssr-window';\nimport { extend } from '../../shared/utils.js';\n\nconst SW = {\n registrations: [],\n register(path, scope) {\n const app = this;\n const window = getWindow();\n\n if (!('serviceWorker' in window.navigator) || !app.serviceWorker.container) {\n return new Promise((resolve, reject) => {\n reject(new Error('Service worker is not supported'));\n });\n }\n return new Promise((resolve, reject) => {\n app.serviceWorker.container\n .register(path, scope ? { scope } : {})\n .then((reg) => {\n SW.registrations.push(reg);\n app.emit('serviceWorkerRegisterSuccess', reg);\n resolve(reg);\n })\n .catch((error) => {\n app.emit('serviceWorkerRegisterError', error);\n reject(error);\n });\n });\n },\n unregister(registration) {\n const app = this;\n const window = getWindow();\n if (!('serviceWorker' in window.navigator) || !app.serviceWorker.container) {\n return new Promise((resolve, reject) => {\n reject(new Error('Service worker is not supported'));\n });\n }\n let registrations;\n if (!registration) registrations = SW.registrations;\n else if (Array.isArray(registration)) registrations = registration;\n else registrations = [registration];\n return Promise.all(\n registrations.map(\n (reg) =>\n new Promise((resolve, reject) => {\n reg\n .unregister()\n .then(() => {\n if (SW.registrations.indexOf(reg) >= 0) {\n SW.registrations.splice(SW.registrations.indexOf(reg), 1);\n }\n app.emit('serviceWorkerUnregisterSuccess', reg);\n resolve();\n })\n .catch((error) => {\n app.emit('serviceWorkerUnregisterError', reg, error);\n reject(error);\n });\n }),\n ),\n );\n },\n};\n\nexport default {\n name: 'sw',\n params: {\n serviceWorker: {\n path: undefined,\n scope: undefined,\n },\n },\n create() {\n const app = this;\n const window = getWindow();\n extend(app, {\n serviceWorker: {\n container: 'serviceWorker' in window.navigator ? window.navigator.serviceWorker : undefined,\n registrations: SW.registrations,\n register: SW.register.bind(app),\n unregister: SW.unregister.bind(app),\n },\n });\n },\n on: {\n init() {\n const window = getWindow();\n if (!('serviceWorker' in window.navigator)) return;\n const app = this;\n if (app.device.cordova || (window.Capacitor && window.Capacitor.isNative)) return;\n if (!app.serviceWorker.container) return;\n const paths = app.params.serviceWorker.path;\n const scope = app.params.serviceWorker.scope;\n if (!paths || (Array.isArray(paths) && !paths.length)) return;\n const toRegister = Array.isArray(paths) ? paths : [paths];\n toRegister.forEach((path) => {\n app.serviceWorker.register(path, scope);\n });\n },\n },\n};\n","/* eslint-disable no-underscore-dangle */\nimport { extend } from '../../shared/utils.js';\n\nfunction createStore(storeParams = {}) {\n const store = {\n __store: true,\n };\n const originalState = { ...(storeParams.state || {}) };\n const actions = { ...(storeParams.actions || {}) };\n const getters = { ...(storeParams.getters || {}) };\n const state = extend({}, originalState);\n\n let propsQueue = [];\n const gettersDependencies = {};\n const gettersCallbacks = {};\n\n Object.keys(getters).forEach((getterKey) => {\n gettersDependencies[getterKey] = [];\n gettersCallbacks[getterKey] = [];\n });\n\n const getGetterValue = (getterKey) => {\n return getters[getterKey]({ state: store.state });\n };\n\n const addGetterDependencies = (getterKey, deps) => {\n if (!gettersDependencies[getterKey]) gettersDependencies[getterKey] = [];\n deps.forEach((dep) => {\n if (gettersDependencies[getterKey].indexOf(dep) < 0) {\n gettersDependencies[getterKey].push(dep);\n }\n });\n };\n\n const addGetterCallback = (getterKey, callback) => {\n if (!gettersCallbacks[getterKey]) gettersCallbacks[getterKey] = [];\n gettersCallbacks[getterKey].push(callback);\n };\n\n const runGetterCallbacks = (stateKey) => {\n const keys = Object.keys(gettersDependencies).filter((getterKey) => {\n return gettersDependencies[getterKey].indexOf(stateKey) >= 0;\n });\n keys.forEach((getterKey) => {\n if (!gettersCallbacks[getterKey] || !gettersCallbacks[getterKey].length) return;\n gettersCallbacks[getterKey].forEach((callback) => {\n callback(getGetterValue(getterKey));\n });\n });\n };\n\n const removeGetterCallback = (callback) => {\n Object.keys(gettersCallbacks).forEach((stateKey) => {\n const callbacks = gettersCallbacks[stateKey];\n\n if (callbacks.indexOf(callback) >= 0) {\n callbacks.splice(callbacks.indexOf(callback), 1);\n }\n });\n };\n\n // eslint-disable-next-line\n store.__removeCallback = (callback) => {\n removeGetterCallback(callback);\n };\n\n const getterValue = (getterKey, addCallback = true) => {\n if (getterKey === 'constructor') return undefined;\n propsQueue = [];\n const value = getGetterValue(getterKey);\n addGetterDependencies(getterKey, propsQueue);\n const onUpdated = (callback) => {\n addGetterCallback(getterKey, callback);\n };\n\n const obj = {\n value,\n onUpdated,\n };\n\n if (!addCallback) {\n return obj;\n }\n\n const callback = (v) => {\n obj.value = v;\n };\n\n obj.__callback = callback;\n addGetterCallback(getterKey, callback);\n // eslint-disable-next-line\n return obj;\n };\n\n store.state = new Proxy(state, {\n set: (target, prop, value) => {\n target[prop] = value;\n runGetterCallbacks(prop);\n return true;\n },\n get: (target, prop) => {\n propsQueue.push(prop);\n return target[prop];\n },\n });\n\n store.getters = new Proxy(getters, {\n set: () => false,\n get: (target, prop) => {\n if (!target[prop]) {\n return undefined;\n }\n return getterValue(prop, true);\n },\n });\n\n store._gettersPlain = new Proxy(getters, {\n set: () => false,\n get: (target, prop) => {\n if (!target[prop]) {\n return undefined;\n }\n return getterValue(prop, false);\n },\n });\n\n store.dispatch = (actionName, data) => {\n return new Promise((resolve, reject) => {\n if (!actions[actionName]) {\n reject();\n throw new Error(`Framework7: Store action \"${actionName}\" is not found`);\n }\n const result = actions[actionName]({ state: store.state, dispatch: store.dispatch }, data);\n resolve(result);\n });\n };\n\n return store;\n}\n\nexport default createStore;\n","import createStore from './create-store.js';\n\nexport { createStore };\nexport default {\n name: 'store',\n static: { createStore },\n proto: { createStore },\n};\n","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { bindMethods } from '../../shared/utils.js';\nimport { getDevice } from '../../shared/get-device.js';\n\nconst isCapacitor = () => {\n const window = getWindow();\n return (\n window.Capacitor &&\n window.Capacitor.isNative &&\n window.Capacitor.Plugins &&\n window.Capacitor.Plugins.StatusBar\n );\n};\n\nconst Statusbar = {\n hide() {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.hide();\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.hide();\n }\n },\n show() {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.show();\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.show();\n }\n },\n onClick() {\n const app = this;\n let pageContent;\n if ($('.popup.modal-in').length > 0) {\n // Check for opened popup\n pageContent = $('.popup.modal-in')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else if ($('.panel.panel-in').length > 0) {\n // Check for opened panel\n pageContent = $('.panel.panel-in')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else if ($('.views > .view.tab-active').length > 0) {\n // View in tab bar app layout\n pageContent = $('.views > .view.tab-active')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else if ($('.views').length > 0) {\n pageContent = $('.views')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n } else {\n pageContent = app.$el\n .children('.view')\n .find('.page:not(.page-previous):not(.page-next):not(.cached)')\n .find('.page-content');\n }\n\n if (pageContent && pageContent.length > 0) {\n // Check for tab\n if (pageContent.hasClass('tab')) {\n pageContent = pageContent.parent('.tabs').children('.page-content.tab-active');\n }\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n },\n setTextColor(color) {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n if (color === 'white') {\n window.StatusBar.styleLightContent();\n } else {\n window.StatusBar.styleDefault();\n }\n }\n if (isCapacitor()) {\n if (color === 'white') {\n window.Capacitor.Plugins.StatusBar.setStyle({ style: 'DARK' });\n } else {\n window.Capacitor.Plugins.StatusBar.setStyle({ style: 'LIGHT' });\n }\n }\n },\n setBackgroundColor(color) {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.backgroundColorByHexString(color);\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.setBackgroundColor({ color });\n }\n },\n isVisible() {\n const window = getWindow();\n const device = getDevice();\n return new Promise((resolve) => {\n if (device.cordova && window.StatusBar) {\n resolve(window.StatusBar.isVisible);\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.getInfo().then((info) => {\n resolve(info.visible);\n });\n }\n resolve(false);\n });\n },\n overlaysWebView(overlays = true) {\n const window = getWindow();\n const device = getDevice();\n if (device.cordova && window.StatusBar) {\n window.StatusBar.overlaysWebView(overlays);\n }\n if (isCapacitor()) {\n window.Capacitor.Plugins.StatusBar.setOverlaysWebView({ overlay: overlays });\n }\n },\n init() {\n const app = this;\n const window = getWindow();\n const device = getDevice();\n const params = app.params.statusbar;\n if (!params.enabled) return;\n const isCordova = device.cordova && window.StatusBar;\n const isCap = isCapacitor();\n\n if (isCordova || isCap) {\n if (params.scrollTopOnClick) {\n $(window).on('statusTap', Statusbar.onClick.bind(app));\n }\n if (device.ios) {\n if (params.iosOverlaysWebView) {\n Statusbar.overlaysWebView(true);\n } else {\n Statusbar.overlaysWebView(false);\n }\n if (params.iosTextColor === 'white') {\n Statusbar.setTextColor('white');\n } else {\n Statusbar.setTextColor('black');\n }\n }\n if (device.android) {\n if (params.androidOverlaysWebView) {\n Statusbar.overlaysWebView(true);\n } else {\n Statusbar.overlaysWebView(false);\n }\n if (params.androidTextColor === 'white') {\n Statusbar.setTextColor('white');\n } else {\n Statusbar.setTextColor('black');\n }\n }\n }\n if (params.iosBackgroundColor && device.ios) {\n Statusbar.setBackgroundColor(params.iosBackgroundColor);\n }\n if (params.androidBackgroundColor && device.android) {\n Statusbar.setBackgroundColor(params.androidBackgroundColor);\n }\n },\n};\n\nexport default {\n name: 'statusbar',\n params: {\n statusbar: {\n enabled: true,\n\n scrollTopOnClick: true,\n\n iosOverlaysWebView: true,\n iosTextColor: 'black',\n iosBackgroundColor: null,\n\n androidOverlaysWebView: false,\n androidTextColor: 'black',\n androidBackgroundColor: null,\n },\n },\n create() {\n const app = this;\n bindMethods(app, {\n statusbar: Statusbar,\n });\n },\n on: {\n init() {\n const app = this;\n Statusbar.init.call(app);\n },\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport View from './view-class.js';\n\nfunction getCurrentView(app) {\n const $popoverView = $('.popover.modal-in .view');\n const $popupView = $('.popup.modal-in .view');\n const $panelView = $('.panel.panel-in .view');\n let $viewsEl = $('.views');\n if ($viewsEl.length === 0) $viewsEl = app.$el;\n // Find active view as tab\n let $viewEl = $viewsEl.children('.view');\n if ($viewEl.length === 0) {\n $viewEl = $viewsEl.children('.tabs').children('.view');\n }\n // Propably in tabs or split view\n if ($viewEl.length > 1) {\n if ($viewEl.hasClass('tab')) {\n // Tabs\n $viewEl = $viewsEl.children('.view.tab-active');\n if ($viewEl.length === 0) {\n $viewEl = $viewsEl.children('.tabs').children('.view.tab-active');\n }\n } else {\n // Split View, leave appView intact\n }\n }\n if ($popoverView.length > 0 && $popoverView[0].f7View) return $popoverView[0].f7View;\n if ($popupView.length > 0 && $popupView[0].f7View) return $popupView[0].f7View;\n if ($panelView.length > 0 && $panelView[0].f7View) return $panelView[0].f7View;\n if ($viewEl.length > 0) {\n if ($viewEl.length === 1 && $viewEl[0].f7View) return $viewEl[0].f7View;\n if ($viewEl.length > 1) {\n return app.views.main;\n }\n }\n return undefined;\n}\n\nexport default {\n name: 'view',\n params: {\n view: {\n init: true,\n initRouterOnTabShow: false,\n name: undefined,\n main: false,\n router: true,\n linksView: null,\n xhrCache: true,\n xhrCacheIgnore: [],\n xhrCacheIgnoreGetParameters: false,\n xhrCacheDuration: 1000 * 60 * 10, // Ten minutes\n componentCache: true,\n preloadPreviousPage: true,\n allowDuplicateUrls: false,\n reloadPages: false,\n reloadDetail: false,\n masterDetailBreakpoint: 0,\n masterDetailResizable: false,\n removeElements: true,\n removeElementsWithTimeout: false,\n removeElementsTimeout: 0,\n restoreScrollTopOnBack: true,\n unloadTabContent: true,\n passRouteQueryToRequest: true,\n passRouteParamsToRequest: false,\n loadInitialPage: true,\n // Swipe Back\n iosSwipeBack: true,\n iosSwipeBackAnimateShadow: true,\n iosSwipeBackAnimateOpacity: true,\n iosSwipeBackActiveArea: 30,\n iosSwipeBackThreshold: 0,\n mdSwipeBack: false,\n mdSwipeBackAnimateShadow: true,\n mdSwipeBackAnimateOpacity: false,\n mdSwipeBackActiveArea: 30,\n mdSwipeBackThreshold: 0,\n // Push State\n browserHistory: false,\n browserHistoryRoot: undefined,\n browserHistoryAnimate: true,\n browserHistoryAnimateOnLoad: false,\n browserHistorySeparator: '#!',\n browserHistoryOnLoad: true,\n browserHistoryInitialMatch: false,\n browserHistoryStoreHistory: true,\n browserHistoryTabs: 'replace',\n // Animate Pages\n animate: true,\n // iOS Dynamic Navbar\n iosDynamicNavbar: true,\n // Animate iOS Navbar Back Icon\n iosAnimateNavbarBackIcon: true,\n // Delays\n iosPageLoadDelay: 0,\n mdPageLoadDelay: 0,\n // Routes hooks\n routesBeforeEnter: null,\n routesBeforeLeave: null,\n },\n },\n static: {\n View,\n },\n create() {\n const app = this;\n extend(app, {\n views: extend([], {\n create(el, params) {\n return new View(app, el, params);\n },\n get(viewEl) {\n const $viewEl = $(viewEl);\n if ($viewEl.length && $viewEl[0].f7View) return $viewEl[0].f7View;\n return undefined;\n },\n }),\n });\n Object.defineProperty(app.views, 'current', {\n enumerable: true,\n configurable: true,\n get() {\n return getCurrentView(app);\n },\n });\n // Alias\n app.view = app.views;\n },\n on: {\n init() {\n const app = this;\n $('.view-init').each((viewEl) => {\n if (viewEl.f7View) return;\n const viewParams = $(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n 'modalOpen panelOpen': function onOpen(instance) {\n const app = this;\n instance.$el.find('.view-init').each((viewEl) => {\n if (viewEl.f7View) return;\n const viewParams = $(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n 'modalBeforeDestroy panelBeforeDestroy': function onClose(instance) {\n if (!instance || !instance.$el) return;\n instance.$el.find('.view-init').each((viewEl) => {\n const view = viewEl.f7View;\n if (!view) return;\n view.destroy();\n });\n },\n },\n vnode: {\n 'view-init': {\n insert(vnode) {\n const app = this;\n const viewEl = vnode.elm;\n if (viewEl.f7View) return;\n const viewParams = $(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n },\n destroy(vnode) {\n const viewEl = vnode.elm;\n const view = viewEl.f7View;\n if (!view) return;\n view.destroy();\n },\n },\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { bindMethods } from '../../shared/utils.js';\nimport { getSupport } from '../../shared/get-support.js';\n\nconst Navbar = {\n size(el) {\n const app = this;\n\n let $el = $(el);\n\n if ($el.hasClass('navbars')) {\n $el = $el.children('.navbar').each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n return;\n }\n\n const $innerEl = $el.children('.navbar-inner');\n if (!$innerEl.length) return;\n\n const needCenterTitle =\n $innerEl.hasClass('navbar-inner-centered-title') ||\n app.params.navbar[`${app.theme}CenterTitle`];\n const needLeftTitle = app.theme === 'ios' && !app.params.navbar[`${app.theme}CenterTitle`];\n\n if (!needCenterTitle && !needLeftTitle) return;\n\n if (\n $el.parents('.tab:not(.tab-active)').length > 0 ||\n $el.parents('.popup:not(.modal-in)').length > 0\n ) {\n return;\n }\n\n if (app.theme !== 'ios' && app.params.navbar[`${app.theme}CenterTitle`]) {\n $innerEl.addClass('navbar-inner-centered-title');\n }\n if (app.theme === 'ios' && !app.params.navbar.iosCenterTitle) {\n $innerEl.addClass('navbar-inner-left-title');\n }\n\n const $viewEl = $el.parents('.view').eq(0);\n const left = app.rtl ? $innerEl.children('.right') : $innerEl.children('.left');\n const right = app.rtl ? $innerEl.children('.left') : $innerEl.children('.right');\n const title = $innerEl.children('.title');\n const subnavbar = $innerEl.children('.subnavbar');\n const noLeft = left.length === 0;\n const noRight = right.length === 0;\n const leftWidth = noLeft ? 0 : left.outerWidth(true);\n const rightWidth = noRight ? 0 : right.outerWidth(true);\n const titleWidth = title.outerWidth(true);\n const navbarStyles = $innerEl.styles();\n const navbarWidth = $innerEl[0].offsetWidth;\n const navbarInnerWidth =\n navbarWidth -\n parseInt(navbarStyles.paddingLeft, 10) -\n parseInt(navbarStyles.paddingRight, 10);\n const isPrevious = $el.hasClass('navbar-previous');\n const sliding = $innerEl.hasClass('sliding');\n\n let router;\n let dynamicNavbar;\n\n if ($viewEl.length > 0 && $viewEl[0].f7View) {\n router = $viewEl[0].f7View.router;\n dynamicNavbar = router && router.dynamicNavbar;\n }\n\n let currLeft;\n let diff;\n if (noRight) {\n currLeft = navbarInnerWidth - titleWidth;\n }\n if (noLeft) {\n currLeft = 0;\n }\n if (!noLeft && !noRight) {\n currLeft = (navbarInnerWidth - rightWidth - titleWidth + leftWidth) / 2;\n }\n let requiredLeft = (navbarInnerWidth - titleWidth) / 2;\n if (navbarInnerWidth - leftWidth - rightWidth > titleWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n if (requiredLeft + titleWidth > navbarInnerWidth - rightWidth) {\n requiredLeft = navbarInnerWidth - rightWidth - titleWidth;\n }\n diff = requiredLeft - currLeft;\n } else {\n diff = 0;\n }\n\n // RTL inverter\n const inverter = app.rtl ? -1 : 1;\n\n if (dynamicNavbar && app.theme === 'ios') {\n if (title.hasClass('sliding') || (title.length > 0 && sliding)) {\n let titleLeftOffset = -(currLeft + diff) * inverter;\n const titleRightOffset = (navbarInnerWidth - currLeft - diff - titleWidth) * inverter;\n\n if (isPrevious) {\n if (router && router.params.iosAnimateNavbarBackIcon) {\n const activeNavbarBackLink = $el\n .parent()\n .find('.navbar-current')\n .children('.left.sliding')\n .find('.back .icon ~ span');\n if (activeNavbarBackLink.length > 0) {\n titleLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n }\n title[0].f7NavbarLeftOffset = titleLeftOffset;\n title[0].f7NavbarRightOffset = titleRightOffset;\n }\n if (!noLeft && (left.hasClass('sliding') || sliding)) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = (-(navbarInnerWidth - left[0].offsetWidth) / 2) * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n } else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarInnerWidth - left[0].offsetWidth) / 2;\n if (\n router &&\n router.params.iosAnimateNavbarBackIcon &&\n left.find('.back .icon').length > 0\n ) {\n if (left.find('.back .icon ~ span').length) {\n const leftOffset = left[0].f7NavbarLeftOffset;\n const rightOffset = left[0].f7NavbarRightOffset;\n left[0].f7NavbarLeftOffset = 0;\n left[0].f7NavbarRightOffset = 0;\n left.find('.back .icon ~ span')[0].f7NavbarLeftOffset = leftOffset;\n left.find('.back .icon ~ span')[0].f7NavbarRightOffset =\n rightOffset - left.find('.back .icon')[0].offsetWidth;\n }\n }\n }\n }\n if (!noRight && (right.hasClass('sliding') || sliding)) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = ((navbarInnerWidth - right[0].offsetWidth) / 2) * inverter;\n } else {\n right[0].f7NavbarLeftOffset = -(navbarInnerWidth - right[0].offsetWidth) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n }\n if (subnavbar.length && (subnavbar.hasClass('sliding') || sliding)) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl\n ? subnavbar[0].offsetWidth\n : -subnavbar[0].offsetWidth;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;\n }\n }\n\n // Center title\n if (needCenterTitle) {\n let titleLeft = diff;\n if (app.rtl && noLeft && noRight && title.length > 0) titleLeft = -titleLeft;\n title.css({ left: `${titleLeft}px` });\n }\n },\n hide(el, animate = true, hideStatusbar = false, hideOnlyCurrent = false) {\n const app = this;\n let $el = $(el);\n const isDynamic = $el.hasClass('navbar') && $el.parent('.navbars').length && !hideOnlyCurrent;\n if (isDynamic) $el = $el.parents('.navbars');\n if (!$el.length) return;\n if ($el.hasClass('navbar-hidden')) return;\n let className = `navbar-hidden${animate ? ' navbar-transitioning' : ''}`;\n const currentIsLarge = isDynamic\n ? $el.find('.navbar-current .title-large').length\n : $el.find('.title-large').length;\n if (currentIsLarge) {\n className += ' navbar-large-hidden';\n }\n if (hideStatusbar) {\n className += ' navbar-hidden-statusbar';\n }\n $el.transitionEnd(() => {\n $el.removeClass('navbar-transitioning');\n });\n $el.addClass(className);\n if (isDynamic) {\n $el.children('.navbar').each((subEl) => {\n $(subEl).trigger('navbar:hide');\n app.emit('navbarHide', subEl);\n });\n } else {\n $el.trigger('navbar:hide');\n app.emit('navbarHide', $el[0]);\n }\n },\n show(el = '.navbar-hidden', animate = true, hideOnlyCurrent = false) {\n const app = this;\n let $el = $(el);\n const isDynamic = $el.hasClass('navbar') && $el.parent('.navbars').length && !hideOnlyCurrent;\n if (isDynamic) $el = $el.parents('.navbars');\n if (!$el.length) return;\n if (!$el.hasClass('navbar-hidden')) return;\n if (animate) {\n $el.addClass('navbar-transitioning');\n $el.transitionEnd(() => {\n $el.removeClass('navbar-transitioning');\n });\n }\n $el.removeClass('navbar-hidden navbar-large-hidden navbar-hidden-statusbar');\n if (isDynamic) {\n $el.children('.navbar').each((subEl) => {\n $(subEl).trigger('navbar:show');\n app.emit('navbarShow', subEl);\n });\n } else {\n $el.trigger('navbar:show');\n app.emit('navbarShow', $el[0]);\n }\n },\n getElByPage(page) {\n let $pageEl;\n let $navbarEl;\n let pageData;\n if (page.$navbarEl || page.$el) {\n pageData = page;\n $pageEl = page.$el;\n } else {\n $pageEl = $(page);\n if ($pageEl.length > 0) pageData = $pageEl[0].f7Page;\n }\n if (pageData && pageData.$navbarEl && pageData.$navbarEl.length > 0) {\n $navbarEl = pageData.$navbarEl;\n } else if ($pageEl) {\n $navbarEl = $pageEl.children('.navbar');\n }\n if (!$navbarEl || ($navbarEl && $navbarEl.length === 0)) return undefined;\n return $navbarEl[0];\n },\n getPageByEl(navbarEl) {\n const $navbarEl = $(navbarEl);\n if ($navbarEl.parents('.page').length) {\n return $navbarEl.parents('.page')[0];\n }\n let pageEl;\n $navbarEl\n .parents('.view')\n .find('.page')\n .each((el) => {\n if (el && el.f7Page && el.f7Page.navbarEl && $navbarEl[0] === el.f7Page.navbarEl) {\n pageEl = el;\n }\n });\n return pageEl;\n },\n\n collapseLargeTitle(navbarEl) {\n const app = this;\n let $navbarEl = $(navbarEl);\n if ($navbarEl.hasClass('navbars')) {\n $navbarEl = $navbarEl.find('.navbar');\n if ($navbarEl.length > 1) {\n $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');\n }\n if ($navbarEl.length > 1 || !$navbarEl.length) {\n return;\n }\n }\n const $pageEl = $(app.navbar.getPageByEl($navbarEl));\n $navbarEl.addClass('navbar-large-collapsed');\n $pageEl.eq(0).addClass('page-with-navbar-large-collapsed').trigger('page:navbarlargecollapsed');\n app.emit('pageNavbarLargeCollapsed', $pageEl[0]);\n $navbarEl.trigger('navbar:collapse');\n app.emit('navbarCollapse', $navbarEl[0]);\n },\n expandLargeTitle(navbarEl) {\n const app = this;\n let $navbarEl = $(navbarEl);\n if ($navbarEl.hasClass('navbars')) {\n $navbarEl = $navbarEl.find('.navbar-large');\n if ($navbarEl.length > 1) {\n $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');\n }\n if ($navbarEl.length > 1 || !$navbarEl.length) {\n return;\n }\n }\n const $pageEl = $(app.navbar.getPageByEl($navbarEl));\n $navbarEl.removeClass('navbar-large-collapsed');\n $pageEl\n .eq(0)\n .removeClass('page-with-navbar-large-collapsed')\n .trigger('page:navbarlargeexpanded');\n app.emit('pageNavbarLargeExpanded', $pageEl[0]);\n $navbarEl.trigger('navbar:expand');\n app.emit('navbarExpand', $navbarEl[0]);\n },\n toggleLargeTitle(navbarEl) {\n const app = this;\n let $navbarEl = $(navbarEl);\n if ($navbarEl.hasClass('navbars')) {\n $navbarEl = $navbarEl.find('.navbar-large');\n if ($navbarEl.length > 1) {\n $navbarEl = $(navbarEl).find('.navbar-large.navbar-current');\n }\n if ($navbarEl.length > 1 || !$navbarEl.length) {\n return;\n }\n }\n if ($navbarEl.hasClass('navbar-large-collapsed')) {\n app.navbar.expandLargeTitle($navbarEl);\n } else {\n app.navbar.collapseLargeTitle($navbarEl);\n }\n },\n initNavbarOnScroll(pageEl, navbarEl, needHide, needCollapse, needTransparent) {\n const app = this;\n const support = getSupport();\n const $pageEl = $(pageEl);\n const $navbarEl = $(navbarEl);\n const $titleLargeEl = $navbarEl.find('.title-large');\n const isLarge = $titleLargeEl.length || $navbarEl.hasClass('.navbar-large');\n let navbarHideHeight = 44;\n const snapPageScrollToLargeTitle = app.params.navbar.snapPageScrollToLargeTitle;\n const snapPageScrollToTransparentNavbar = app.params.navbar.snapPageScrollToTransparentNavbar;\n\n let previousScrollTop;\n let currentScrollTop;\n\n let scrollHeight;\n let offsetHeight;\n let reachEnd;\n let action;\n let navbarHidden;\n\n let navbarCollapsed;\n let navbarTitleLargeHeight;\n\n let navbarOffsetHeight;\n\n if (needCollapse || (needHide && isLarge)) {\n navbarTitleLargeHeight = $navbarEl.css('--f7-navbar-large-title-height');\n\n if (navbarTitleLargeHeight && navbarTitleLargeHeight.indexOf('px') >= 0) {\n navbarTitleLargeHeight = parseInt(navbarTitleLargeHeight, 10);\n if (Number.isNaN(navbarTitleLargeHeight) && $titleLargeEl.length) {\n navbarTitleLargeHeight = $titleLargeEl[0].offsetHeight;\n } else if (Number.isNaN(navbarTitleLargeHeight)) {\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;\n else if (app.theme === 'md') navbarTitleLargeHeight = 88;\n }\n } else if ($titleLargeEl.length) {\n navbarTitleLargeHeight = $titleLargeEl[0].offsetHeight;\n } else {\n // eslint-disable-next-line\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;\n else if (app.theme === 'md') navbarTitleLargeHeight = 88;\n }\n }\n\n if (needHide && isLarge) {\n navbarHideHeight += navbarTitleLargeHeight;\n }\n\n let scrollChanged;\n let scrollContent;\n let scrollTimeoutId;\n let touchEndTimeoutId;\n const touchSnapTimeout = 70;\n const desktopSnapTimeout = 300;\n\n function calcScrollableDistance() {\n $pageEl.find('.page-content').each((pageContentEl) => {\n pageContentEl.f7ScrollableDistance =\n pageContentEl.scrollHeight - pageContentEl.offsetHeight;\n });\n }\n\n function snapLargeNavbar() {\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n if (!scrollContent || currentScrollTop < 0) return;\n if (\n currentScrollTop >= navbarTitleLargeHeight / 2 &&\n currentScrollTop < navbarTitleLargeHeight\n ) {\n $(scrollContent).scrollTop(navbarTitleLargeHeight, 100);\n } else if (currentScrollTop < navbarTitleLargeHeight) {\n $(scrollContent).scrollTop(0, 200);\n }\n }\n\n function snapTransparentNavbar() {\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n if (!scrollContent || currentScrollTop < 0) return;\n if (currentScrollTop >= navbarOffsetHeight / 2 && currentScrollTop < navbarOffsetHeight) {\n $(scrollContent).scrollTop(navbarOffsetHeight, 100);\n } else if (currentScrollTop < navbarOffsetHeight) {\n $(scrollContent).scrollTop(0, 200);\n }\n }\n\n function handleNavbarTransparent() {\n const isHidden =\n $navbarEl.hasClass('navbar-hidden') ||\n $navbarEl.parent('.navbars').hasClass('navbar-hidden');\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded || isHidden) return;\n if (!navbarOffsetHeight) {\n navbarOffsetHeight = navbarEl.offsetHeight;\n }\n let opacity = currentScrollTop / navbarOffsetHeight;\n const notTransparent = $navbarEl.hasClass('navbar-transparent-visible');\n opacity = Math.max(Math.min(opacity, 1), 0);\n\n if ((notTransparent && opacity === 1) || (!notTransparent && opacity === 0)) {\n $navbarEl.find('.navbar-bg, .title').css('opacity', '');\n return;\n }\n if (notTransparent && opacity === 0) {\n $navbarEl.trigger('navbar:transparenthide');\n app.emit('navbarTransparentHide', $navbarEl[0]);\n $navbarEl.removeClass('navbar-transparent-visible');\n $navbarEl.find('.navbar-bg, .title').css('opacity', '');\n return;\n }\n if (!notTransparent && opacity === 1) {\n $navbarEl.trigger('navbar:transparentshow');\n app.emit('navbarTransparentShow', $navbarEl[0]);\n $navbarEl.addClass('navbar-transparent-visible');\n $navbarEl.find('.navbar-bg, .title').css('opacity', '');\n return;\n }\n\n $navbarEl.find('.navbar-bg, .title').css('opacity', opacity);\n\n if (snapPageScrollToTransparentNavbar) {\n if (!support.touch) {\n clearTimeout(scrollTimeoutId);\n scrollTimeoutId = setTimeout(() => {\n snapTransparentNavbar();\n }, desktopSnapTimeout);\n } else if (touchEndTimeoutId) {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(() => {\n snapTransparentNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }, touchSnapTimeout);\n }\n }\n }\n\n let previousCollapseProgress = null;\n let collapseProgress = null;\n function handleLargeNavbarCollapse(pageContentEl) {\n const isHidden =\n $navbarEl.hasClass('navbar-hidden') ||\n $navbarEl.parent('.navbars').hasClass('navbar-hidden');\n if (isHidden) return;\n const isLargeTransparent =\n $navbarEl.hasClass('navbar-large-transparent') ||\n ($navbarEl.hasClass('navbar-large') && $navbarEl.hasClass('navbar-transparent'));\n previousCollapseProgress = collapseProgress;\n const scrollableDistance = Math.min(\n navbarTitleLargeHeight,\n pageContentEl.f7ScrollableDistance || navbarTitleLargeHeight,\n );\n collapseProgress = Math.min(Math.max(currentScrollTop / scrollableDistance, 0), 1);\n const previousCollapseWasInMiddle =\n previousCollapseProgress > 0 && previousCollapseProgress < 1;\n const inSearchbarExpanded = $navbarEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n navbarCollapsed = $navbarEl.hasClass('navbar-large-collapsed');\n const $bgEl = $navbarEl.find('.navbar-bg');\n if (collapseProgress === 0 && navbarCollapsed) {\n app.navbar.expandLargeTitle($navbarEl[0]);\n } else if (collapseProgress === 1 && !navbarCollapsed) {\n app.navbar.collapseLargeTitle($navbarEl[0]);\n }\n if (\n (collapseProgress === 0 && navbarCollapsed) ||\n (collapseProgress === 0 && previousCollapseWasInMiddle) ||\n (collapseProgress === 1 && !navbarCollapsed) ||\n (collapseProgress === 1 && previousCollapseWasInMiddle)\n ) {\n if (app.theme === 'md') {\n $navbarEl.find('.navbar-inner').css('overflow', '');\n }\n $navbarEl.find('.title').css('opacity', '');\n $navbarEl.find('.title-large-text, .subnavbar').css('transform', '');\n $navbarEl.find('.title-large-text').css('opacity', '');\n if (isLargeTransparent) {\n $bgEl.css('opacity', '');\n }\n $bgEl.css('transform', '');\n } else if (collapseProgress > 0 && collapseProgress < 1) {\n if (app.theme === 'md') {\n $navbarEl.find('.navbar-inner').css('overflow', 'visible');\n }\n $navbarEl.find('.title').css('opacity', -0.5 + collapseProgress * 1.5);\n $navbarEl\n .find('.title-large-text, .subnavbar')\n .css(\n 'transform',\n `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`,\n );\n $navbarEl.find('.title-large-text').css('opacity', 1 - collapseProgress * 2);\n\n if (isLargeTransparent) {\n $bgEl.css('opacity', collapseProgress);\n }\n $bgEl.css(\n 'transform',\n `translate3d(0px, ${-1 * collapseProgress * navbarTitleLargeHeight}px, 0)`,\n );\n }\n\n if (snapPageScrollToLargeTitle) {\n if (!support.touch) {\n clearTimeout(scrollTimeoutId);\n scrollTimeoutId = setTimeout(() => {\n snapLargeNavbar();\n }, desktopSnapTimeout);\n } else if (touchEndTimeoutId) {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(() => {\n snapLargeNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }, touchSnapTimeout);\n }\n }\n }\n\n function handleTitleHideShow() {\n if ($pageEl.hasClass('page-with-card-opened')) return;\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n navbarHidden =\n $navbarEl.hasClass('navbar-hidden') ||\n $navbarEl.parent('.navbars').hasClass('navbar-hidden');\n if (reachEnd) {\n if (app.params.navbar.showOnPageScrollEnd) {\n action = 'show';\n }\n } else if (previousScrollTop > currentScrollTop) {\n if (app.params.navbar.showOnPageScrollTop || currentScrollTop <= navbarHideHeight) {\n action = 'show';\n } else {\n action = 'hide';\n }\n } else if (currentScrollTop > navbarHideHeight) {\n action = 'hide';\n } else {\n action = 'show';\n }\n\n if (action === 'show' && navbarHidden) {\n app.navbar.show($navbarEl, true, true);\n navbarHidden = false;\n } else if (action === 'hide' && !navbarHidden) {\n app.navbar.hide($navbarEl, true, false, true);\n navbarHidden = true;\n }\n previousScrollTop = currentScrollTop;\n }\n\n function handleScroll(e) {\n scrollContent = this;\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n currentScrollTop = scrollContent.scrollTop;\n scrollChanged = currentScrollTop;\n if (needCollapse) {\n handleLargeNavbarCollapse(scrollContent);\n } else if (needTransparent) {\n handleNavbarTransparent();\n }\n if ($pageEl.hasClass('page-previous')) return;\n if (needHide) {\n handleTitleHideShow();\n }\n }\n function handeTouchStart() {\n scrollChanged = false;\n }\n function handleTouchEnd() {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(() => {\n if (scrollChanged !== false) {\n if (needTransparent && !needCollapse) {\n snapTransparentNavbar();\n } else {\n snapLargeNavbar();\n }\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }\n }, touchSnapTimeout);\n }\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n\n if (\n support.touch &&\n ((needCollapse && snapPageScrollToLargeTitle) ||\n (needTransparent && snapPageScrollToTransparentNavbar))\n ) {\n app.on('touchstart:passive', handeTouchStart);\n app.on('touchend:passive', handleTouchEnd);\n }\n calcScrollableDistance();\n if (needCollapse || needTransparent) {\n $pageEl.find('.page-content').each((pageContentEl) => {\n if (pageContentEl.scrollTop > 0) handleScroll.call(pageContentEl);\n });\n }\n app.on('resize', calcScrollableDistance);\n $pageEl[0].f7DetachNavbarScrollHandlers = function f7DetachNavbarScrollHandlers() {\n app.off('resize', calcScrollableDistance);\n delete $pageEl[0].f7DetachNavbarScrollHandlers;\n $pageEl.off('scroll', '.page-content', handleScroll, true);\n if (\n support.touch &&\n ((needCollapse && snapPageScrollToLargeTitle) ||\n (needTransparent && snapPageScrollToTransparentNavbar))\n ) {\n app.off('touchstart:passive', handeTouchStart);\n app.off('touchend:passive', handleTouchEnd);\n }\n };\n },\n};\nexport default {\n name: 'navbar',\n create() {\n const app = this;\n bindMethods(app, {\n navbar: Navbar,\n });\n },\n params: {\n navbar: {\n scrollTopOnTitleClick: true,\n iosCenterTitle: true,\n mdCenterTitle: false,\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true,\n collapseLargeTitleOnScroll: true,\n snapPageScrollToLargeTitle: true,\n snapPageScrollToTransparentNavbar: true,\n },\n },\n on: {\n 'panelBreakpoint panelCollapsedBreakpoint panelResize viewResize resize viewMasterDetailBreakpoint':\n function onPanelResize() {\n const app = this;\n $('.navbar').each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n },\n pageBeforeRemove(page) {\n if (page.$el[0].f7DetachNavbarScrollHandlers) {\n page.$el[0].f7DetachNavbarScrollHandlers();\n }\n },\n pageBeforeIn(page) {\n const app = this;\n if (app.theme !== 'ios') return;\n let $navbarsEl;\n const view = page.$el.parents('.view')[0].f7View;\n const navbarEl = app.navbar.getElByPage(page);\n if (!navbarEl) {\n $navbarsEl = page.$el.parents('.view').children('.navbars');\n } else {\n $navbarsEl = $(navbarEl).parents('.navbars');\n }\n if (page.$el.hasClass('no-navbar') || (view.router.dynamicNavbar && !navbarEl)) {\n const animate = !!(page.pageFrom && page.router.history.length > 0);\n app.navbar.hide($navbarsEl, animate);\n } else {\n app.navbar.show($navbarsEl);\n }\n },\n pageReinit(page) {\n const app = this;\n const $navbarEl = $(app.navbar.getElByPage(page));\n if (!$navbarEl || $navbarEl.length === 0) return;\n app.navbar.size($navbarEl);\n },\n pageInit(page) {\n const app = this;\n const $navbarEl = $(app.navbar.getElByPage(page));\n if (!$navbarEl || $navbarEl.length === 0) return;\n\n // Size\n app.navbar.size($navbarEl);\n\n // Need Collapse On Scroll\n let needCollapseOnScrollHandler;\n if ($navbarEl.find('.title-large').length > 0) {\n $navbarEl.addClass('navbar-large');\n }\n if ($navbarEl.hasClass('navbar-large')) {\n if (app.params.navbar.collapseLargeTitleOnScroll) needCollapseOnScrollHandler = true;\n page.$el.addClass('page-with-navbar-large');\n }\n\n // Need transparent on scroll\n let needTransparentOnScroll;\n if (!needCollapseOnScrollHandler && $navbarEl.hasClass('navbar-transparent')) {\n needTransparentOnScroll = true;\n }\n\n // Need Hide On Scroll\n let needHideOnScrollHandler;\n if (\n app.params.navbar.hideOnPageScroll ||\n page.$el.find('.hide-navbar-on-scroll').length ||\n page.$el.hasClass('hide-navbar-on-scroll') ||\n page.$el.find('.hide-bars-on-scroll').length ||\n page.$el.hasClass('hide-bars-on-scroll')\n ) {\n if (\n page.$el.find('.keep-navbar-on-scroll').length ||\n page.$el.hasClass('keep-navbar-on-scroll') ||\n page.$el.find('.keep-bars-on-scroll').length ||\n page.$el.hasClass('keep-bars-on-scroll')\n ) {\n needHideOnScrollHandler = false;\n } else {\n needHideOnScrollHandler = true;\n }\n }\n\n if (needCollapseOnScrollHandler || needHideOnScrollHandler || needTransparentOnScroll) {\n app.navbar.initNavbarOnScroll(\n page.el,\n $navbarEl[0],\n needHideOnScrollHandler,\n needCollapseOnScrollHandler,\n needTransparentOnScroll,\n );\n }\n },\n 'panelOpen panelSwipeOpen modalOpen': function onPanelModalOpen(instance) {\n const app = this;\n instance.$el.find('.navbar:not(.navbar-previous)').each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n },\n tabShow(tabEl) {\n const app = this;\n $(tabEl)\n .find('.navbar:not(.navbar-previous)')\n .each((navbarEl) => {\n app.navbar.size(navbarEl);\n });\n },\n },\n clicks: {\n '.navbar .title': function onTitleClick($clickedEl, clickedData, e) {\n const app = this;\n if (!app.params.navbar.scrollTopOnTitleClick) return;\n if ($(e.target).closest('a, button').length > 0) {\n return;\n }\n let $pageContentEl;\n\n // Find active page\n const $navbarEl = $clickedEl.parents('.navbar');\n const $navbarsEl = $navbarEl.parents('.navbars');\n\n // Static Layout\n $pageContentEl = $navbarEl.parents('.page-content');\n\n if ($pageContentEl.length === 0) {\n // Fixed Layout\n if ($navbarEl.parents('.page').length > 0) {\n $pageContentEl = $navbarEl.parents('.page').find('.page-content');\n }\n // Through Layout iOS\n if ($pageContentEl.length === 0 && $navbarsEl.length) {\n if ($navbarsEl.nextAll('.page-current').length > 0) {\n $pageContentEl = $navbarsEl.nextAll('.page-current').find('.page-content');\n }\n }\n // Through Layout\n if ($pageContentEl.length === 0) {\n if ($navbarEl.nextAll('.page-current').length > 0) {\n $pageContentEl = $navbarEl.nextAll('.page-current').find('.page-content');\n }\n }\n }\n if ($pageContentEl && $pageContentEl.length > 0) {\n // Check for tab\n if ($pageContentEl.hasClass('tab')) {\n $pageContentEl = $pageContentEl.parent('.tabs').children('.page-content.tab-active');\n }\n if ($pageContentEl.length > 0) $pageContentEl.scrollTop(0, 300);\n }\n },\n },\n vnode: {\n navbar: {\n postpatch(vnode) {\n const app = this;\n app.navbar.size(vnode.elm);\n },\n },\n },\n};\n","import $ from '../../shared/dom7.js';\nimport { nextFrame, bindMethods } from '../../shared/utils.js';\n\nconst Toolbar = {\n setHighlight(tabbarEl) {\n const app = this;\n const $tabbarEl = $(tabbarEl);\n if (app.theme === 'ios' && !$tabbarEl.hasClass('tabbar-highlight')) return;\n\n if (\n $tabbarEl.length === 0 ||\n !($tabbarEl.hasClass('tabbar') || $tabbarEl.hasClass('tabbar-icons'))\n )\n return;\n\n let $highlightEl = $tabbarEl.find('.tab-link-highlight');\n const tabLinksCount = $tabbarEl.find('.tab-link').length;\n if (tabLinksCount === 0) {\n $highlightEl.remove();\n return;\n }\n\n if ($highlightEl.length === 0) {\n $tabbarEl.children('.toolbar-inner').append('<span class=\"tab-link-highlight\"></span>');\n $highlightEl = $tabbarEl.find('.tab-link-highlight');\n } else if ($highlightEl.next().length) {\n $tabbarEl.children('.toolbar-inner').append($highlightEl);\n }\n\n const $activeLink = $tabbarEl.find('.tab-link-active');\n let highlightWidth;\n let highlightTranslate;\n\n if ($tabbarEl.hasClass('tabbar-scrollable') && $activeLink && $activeLink[0]) {\n highlightWidth = `${$activeLink[0].offsetWidth}px`;\n highlightTranslate = `${$activeLink[0].offsetLeft}px`;\n } else {\n const activeIndex = $activeLink.index();\n highlightWidth = `${100 / tabLinksCount}%`;\n highlightTranslate = `${(app.rtl ? -activeIndex : activeIndex) * 100}%`;\n }\n\n nextFrame(() => {\n $highlightEl.css('width', highlightWidth).transform(`translate3d(${highlightTranslate},0,0)`);\n });\n },\n init(tabbarEl) {\n const app = this;\n app.toolbar.setHighlight(tabbarEl);\n },\n hide(el, animate = true) {\n const app = this;\n const $el = $(el);\n if ($el.hasClass('toolbar-hidden')) return;\n const className = `toolbar-hidden${animate ? ' toolbar-transitioning' : ''}`;\n $el.transitionEnd(() => {\n $el.removeClass('toolbar-transitioning');\n });\n $el.addClass(className);\n $el.trigger('toolbar:hide');\n app.emit('toolbarHide', $el[0]);\n },\n show(el, animate = true) {\n const app = this;\n const $el = $(el);\n if (!$el.hasClass('toolbar-hidden')) return;\n if (animate) {\n $el.addClass('toolbar-transitioning');\n $el.transitionEnd(() => {\n $el.removeClass('toolbar-transitioning');\n });\n }\n $el.removeClass('toolbar-hidden');\n $el.trigger('toolbar:show');\n app.emit('toolbarShow', $el[0]);\n },\n initToolbarOnScroll(pageEl) {\n const app = this;\n const $pageEl = $(pageEl);\n let $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.find('.toolbar');\n }\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.parents('.views').children('.tabbar, .tabbar-icons');\n }\n if ($toolbarEl.length === 0) {\n return;\n }\n\n let previousScrollTop;\n let currentScrollTop;\n\n let scrollHeight;\n let offsetHeight;\n let reachEnd;\n let action;\n let toolbarHidden;\n function handleScroll(e) {\n if ($pageEl.hasClass('page-with-card-opened')) return;\n if ($pageEl.hasClass('page-previous')) return;\n const scrollContent = this;\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n currentScrollTop = scrollContent.scrollTop;\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n toolbarHidden = $toolbarEl.hasClass('toolbar-hidden');\n\n if (reachEnd) {\n if (app.params.toolbar.showOnPageScrollEnd) {\n action = 'show';\n }\n } else if (previousScrollTop > currentScrollTop) {\n if (app.params.toolbar.showOnPageScrollTop || currentScrollTop <= 44) {\n action = 'show';\n } else {\n action = 'hide';\n }\n } else if (currentScrollTop > 44) {\n action = 'hide';\n } else {\n action = 'show';\n }\n\n if (action === 'show' && toolbarHidden) {\n app.toolbar.show($toolbarEl);\n toolbarHidden = false;\n } else if (action === 'hide' && !toolbarHidden) {\n app.toolbar.hide($toolbarEl);\n toolbarHidden = true;\n }\n\n previousScrollTop = currentScrollTop;\n }\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n $pageEl[0].f7ScrollToolbarHandler = handleScroll;\n },\n};\nexport default {\n name: 'toolbar',\n create() {\n const app = this;\n bindMethods(app, {\n toolbar: Toolbar,\n });\n },\n params: {\n toolbar: {\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true,\n },\n },\n on: {\n pageBeforeRemove(page) {\n if (page.$el[0].f7ScrollToolbarHandler) {\n page.$el.off('scroll', '.page-content', page.$el[0].f7ScrollToolbarHandler, true);\n }\n },\n pageBeforeIn(page) {\n const app = this;\n let $toolbarEl = page.$el.parents('.view').children('.toolbar');\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.parents('.views').children('.tabbar, .tabbar-icons');\n }\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.find('.toolbar');\n }\n if ($toolbarEl.length === 0) {\n return;\n }\n if (page.$el.hasClass('no-toolbar')) {\n app.toolbar.hide($toolbarEl);\n } else {\n app.toolbar.show($toolbarEl);\n }\n },\n pageInit(page) {\n const app = this;\n page.$el.find('.tabbar, .tabbar-icons').each((tabbarEl) => {\n app.toolbar.init(tabbarEl);\n });\n if (\n app.params.toolbar.hideOnPageScroll ||\n page.$el.find('.hide-toolbar-on-scroll').length ||\n page.$el.hasClass('hide-toolbar-on-scroll') ||\n page.$el.find('.hide-bars-on-scroll').length ||\n page.$el.hasClass('hide-bars-on-scroll')\n ) {\n if (\n page.$el.find('.keep-toolbar-on-scroll').length ||\n page.$el.hasClass('keep-toolbar-on-scroll') ||\n page.$el.find('.keep-bars-on-scroll').length ||\n page.$el.hasClass('keep-bars-on-scroll')\n ) {\n return;\n }\n app.toolbar.initToolbarOnScroll(page.el);\n }\n },\n init() {\n const app = this;\n app.$el.find('.tabbar, .tabbar-icons').each((tabbarEl) => {\n app.toolbar.init(tabbarEl);\n });\n },\n },\n vnode: {\n tabbar: {\n insert(vnode) {\n const app = this;\n app.toolbar.init(vnode.elm);\n },\n },\n },\n};\n","import $ from '../../shared/dom7.js';\n\nexport default {\n name: 'subnavbar',\n on: {\n pageInit(page) {\n if (page.$navbarEl && page.$navbarEl.length && page.$navbarEl.find('.subnavbar').length) {\n page.$el.addClass('page-with-subnavbar');\n }\n const $innerSubnavbars = page.$el.find('.subnavbar').filter((subnavbarEl) => {\n return $(subnavbarEl).parents('.page')[0] === page.$el[0];\n });\n if ($innerSubnavbars.length) {\n page.$el.addClass('page-with-subnavbar');\n }\n },\n },\n};\n","import $ from '../../shared/dom7.js';\n\nexport default class TouchRipple {\n constructor(app, $el, x, y) {\n const ripple = this;\n\n if (!$el) return undefined;\n\n const { left, top, width, height } = $el[0].getBoundingClientRect();\n const center = {\n x: x - left,\n y: y - top,\n };\n let diameter = Math.max((height ** 2 + width ** 2) ** 0.5, 48);\n\n let isInset = false;\n const insetElements = app.params.touch.touchRippleInsetElements || '';\n if (insetElements && $el.is(insetElements)) {\n isInset = true;\n }\n if (isInset) {\n diameter = Math.max(Math.min(width, height), 48);\n }\n\n if (!isInset && $el.css('overflow') === 'hidden') {\n const distanceFromCenter =\n ((center.x - width / 2) ** 2 + (center.y - height / 2) ** 2) ** 0.5;\n const scale = (diameter / 2 + distanceFromCenter) / (diameter / 2);\n ripple.rippleTransform = `translate3d(0px, 0px, 0) scale(${scale})`;\n } else {\n // prettier-ignore\n ripple.rippleTransform = `translate3d(${-center.x + width / 2}px, ${-center.y + height / 2}px, 0) scale(1)`;\n }\n if (isInset) {\n $el.addClass('ripple-inset');\n }\n\n ripple.$rippleWaveEl = $(\n `<div class=\"ripple-wave\" style=\"width: ${diameter}px; height: ${diameter}px; margin-top:-${\n diameter / 2\n }px; margin-left:-${diameter / 2}px; left:${center.x}px; top:${\n center.y\n }px; --f7-ripple-transform: ${ripple.rippleTransform}\"></div>`,\n );\n\n $el.prepend(ripple.$rippleWaveEl);\n\n ripple.$rippleWaveEl.animationEnd(() => {\n if (!ripple.$rippleWaveEl) return;\n if (ripple.$rippleWaveEl.hasClass('ripple-wave-out')) return;\n ripple.$rippleWaveEl.addClass('ripple-wave-in');\n if (ripple.shouldBeRemoved) {\n ripple.out();\n }\n });\n\n return ripple;\n }\n\n destroy() {\n let ripple = this;\n if (ripple.$rippleWaveEl) {\n ripple.$rippleWaveEl.remove();\n }\n Object.keys(ripple).forEach((key) => {\n ripple[key] = null;\n delete ripple[key];\n });\n ripple = null;\n }\n\n out() {\n const ripple = this;\n const { $rippleWaveEl } = this;\n clearTimeout(ripple.removeTimeout);\n $rippleWaveEl.addClass('ripple-wave-out');\n\n ripple.removeTimeout = setTimeout(() => {\n ripple.destroy();\n }, 300);\n\n $rippleWaveEl.animationEnd(() => {\n clearTimeout(ripple.removeTimeout);\n ripple.destroy();\n });\n }\n\n remove() {\n const ripple = this;\n if (ripple.shouldBeRemoved) return;\n ripple.removeTimeout = setTimeout(() => {\n ripple.destroy();\n }, 400);\n ripple.shouldBeRemoved = true;\n if (ripple.$rippleWaveEl.hasClass('ripple-wave-in')) {\n ripple.out();\n }\n }\n}\n","import TouchRipple from './touch-ripple-class.js';\n\nexport default {\n name: 'touch-ripple',\n static: {\n TouchRipple,\n },\n create() {\n const app = this;\n app.touchRipple = {\n create(...args) {\n return new TouchRipple(...args);\n },\n };\n },\n};\n","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom7.js';\nimport { extend, deleteProps } from '../../shared/utils.js';\nimport Framework7Class from '../../shared/class.js';\n\nconst openedModals = [];\nconst dialogsQueue = [];\nfunction clearDialogsQueue() {\n if (dialogsQueue.length === 0) return;\n const dialog = dialogsQueue.shift();\n dialog.open();\n}\nclass Modal extends Framework7Class {\n constructor(app, params) {\n super(params, [app]);\n\n const modal = this;\n\n const defaults = {};\n\n // Extend defaults with modules params\n modal.useModulesParams(defaults);\n\n modal.params = extend(defaults, params);\n modal.opened = false;\n\n let $containerEl = modal.params.containerEl ? $(modal.params.containerEl).eq(0) : app.$el;\n if (!$containerEl.length) $containerEl = app.$el;\n\n modal.$containerEl = $containerEl;\n modal.containerEl = $containerEl[0];\n\n // Install Modules\n modal.useModules();\n\n return this;\n }\n\n onOpen() {\n const modal = this;\n modal.opened = true;\n openedModals.push(modal);\n $('html').addClass(`with-modal-${modal.type.toLowerCase()}`);\n modal.$el.trigger(`modal:open ${modal.type.toLowerCase()}:open`);\n modal.emit(`local::open modalOpen ${modal.type}Open`, modal);\n }\n\n onOpened() {\n const modal = this;\n modal.$el.trigger(`modal:opened ${modal.type.toLowerCase()}:opened`);\n modal.emit(`local::opened modalOpened ${modal.type}Opened`, modal);\n }\n\n onClose() {\n const modal = this;\n modal.opened = false;\n if (!modal.type || !modal.$el) return;\n openedModals.splice(openedModals.indexOf(modal), 1);\n $('html').removeClass(`with-modal-${modal.type.toLowerCase()}`);\n modal.$el.trigger(`modal:close ${modal.type.toLowerCase()}:close`);\n modal.emit(`local::close modalClose ${modal.type}Close`, modal);\n }\n\n onClosed() {\n const modal = this;\n if (!modal.type || !modal.$el) return;\n modal.$el.removeClass('modal-out');\n modal.$el.hide();\n if (\n modal.params.backdrop &&\n (modal.params.backdropUnique || modal.forceBackdropUnique) &&\n modal.$backdropEl\n ) {\n modal.$backdropEl.remove();\n }\n modal.$el.trigger(`modal:closed ${modal.type.toLowerCase()}:closed`);\n modal.emit(`local::closed modalClosed ${modal.type}Closed`, modal);\n }\n\n open(animateModal, force) {\n const modal = this;\n const document = getDocument();\n const app = modal.app;\n const $el = modal.$el;\n const $backdropEl = modal.$backdropEl;\n const type = modal.type;\n let animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;\n else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || $el.hasClass('modal-in')) {\n if (animateModal === false && $el[0] && type !== 'dialog') {\n $el[0].style.display = 'block';\n }\n if (!force) return modal;\n }\n\n if (type === 'dialog' && app.params.modal.queueDialogs) {\n let pushToQueue;\n if ($('.dialog.modal-in').length > 0) {\n pushToQueue = true;\n } else if (openedModals.length > 0) {\n openedModals.forEach((openedModal) => {\n if (openedModal.type === 'dialog') pushToQueue = true;\n });\n }\n if (pushToQueue) {\n dialogsQueue.push(modal);\n return modal;\n }\n }\n\n const $modalParentEl = $el.parent();\n const wasInDom = $el.parents(document).length > 0;\n if (!$modalParentEl.is(modal.$containerEl)) {\n modal.$containerEl.append($el);\n modal.once(`${type}Closed`, () => {\n if (wasInDom) {\n $modalParentEl.append($el);\n } else {\n $el.remove();\n }\n });\n }\n // Show Modal\n $el.show();\n\n if (\n modal.params.backdrop &&\n (modal.params.backdropUnique || modal.forceBackdropUnique) &&\n modal.$backdropEl\n ) {\n modal.$backdropEl.insertBefore($el);\n }\n\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n modal._clientLeft = $el[0].clientLeft;\n\n // Modal\n function transitionEnd() {\n if ($el.hasClass('modal-out')) {\n modal.onClosed();\n } else if ($el.hasClass('modal-in')) {\n modal.onOpened();\n }\n }\n if (animate) {\n if ($backdropEl) {\n $backdropEl.removeClass('not-animated');\n $backdropEl.addClass('backdrop-in');\n }\n $el.animationEnd(() => {\n transitionEnd();\n });\n $el.transitionEnd(() => {\n transitionEnd();\n });\n $el.removeClass('modal-out not-animated').addClass('modal-in');\n modal.onOpen();\n } else {\n if ($backdropEl) {\n $backdropEl.addClass('backdrop-in not-animated');\n }\n $el.removeClass('modal-out').addClass('modal-in not-animated');\n modal.onOpen();\n modal.onOpened();\n }\n\n return modal;\n }\n\n close(animateModal) {\n const modal = this;\n const $el = modal.$el;\n const $backdropEl = modal.$backdropEl;\n\n let animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;\n else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || !$el.hasClass('modal-in')) {\n if (dialogsQueue.indexOf(modal) >= 0) {\n dialogsQueue.splice(dialogsQueue.indexOf(modal), 1);\n }\n return modal;\n }\n\n // backdrop\n if ($backdropEl) {\n let needToHideBackdrop = true;\n if (modal.type === 'popup') {\n modal.$el\n .prevAll('.popup.modal-in')\n .add(modal.$el.nextAll('.popup.modal-in'))\n .each((popupEl) => {\n const popupInstance = popupEl.f7Modal;\n if (!popupInstance) return;\n if (\n popupInstance.params.closeByBackdropClick &&\n popupInstance.params.backdrop &&\n popupInstance.backdropEl === modal.backdropEl\n ) {\n needToHideBackdrop = false;\n }\n });\n }\n if (needToHideBackdrop) {\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n $backdropEl.removeClass('backdrop-in');\n }\n }\n\n // Modal\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n\n function transitionEnd() {\n if ($el.hasClass('modal-out')) {\n modal.onClosed();\n } else if ($el.hasClass('modal-in')) {\n modal.onOpened();\n }\n }\n if (animate) {\n $el.animationEnd(() => {\n transitionEnd();\n });\n $el.transitionEnd(() => {\n transitionEnd();\n });\n $el.removeClass('modal-in').addClass('modal-out');\n // Emit close\n modal.onClose();\n } else {\n $el.addClass('not-animated').removeClass('modal-in').addClass('modal-out');\n // Emit close\n modal.onClose();\n modal.onClosed();\n }\n\n if (modal.type === 'dialog') {\n clearDialogsQueue();\n }\n\n return modal;\n }\n\n destroy() {\n const modal = this;\n if (modal.destroyed) return;\n modal.emit(`local::beforeDestroy modalBeforeDestroy ${modal.type}BeforeDestroy`, modal);\n if (modal.$el) {\n modal.$el.trigger(`modal:beforedestroy ${modal.type.toLowerCase()}:beforedestroy`);\n if (modal.$el.length && modal.$el[0].f7Modal) {\n delete modal.$el[0].f7Modal;\n }\n }\n deleteProps(modal);\n modal.destroyed = true;\n }\n}\n\nexport default Modal;\n","import $ from '../../shared/dom7.js';\nimport { extend } from '../../shared/utils.js';\nimport Modal from './modal-class.js';\n\nclass CustomModal extends Modal {\n constructor(app, params) {\n const extendedParams = extend(\n {\n backdrop: true,\n closeByBackdropClick: true,\n on: {},\n },\n params,\n );\n\n // Extends with open/close Modal methods;\n super(app, extendedParams);\n\n const customModal = this;\n\n customModal.params = extendedParams;\n\n // Find Element\n let $el;\n if (!customModal.params.el) {\n $el = $(customModal.params.content);\n } else {\n $el = $(customModal.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return $el[0].f7Modal;\n }\n\n if ($el.length === 0) {\n return customModal.destroy();\n }\n let $backdropEl;\n if (customModal.params.backdrop) {\n $backdropEl = app.$el.children('.custom-modal-backdrop');\n if ($backdropEl.length === 0) {\n $backdropEl = $('<div class=\"custom-modal-backdrop\"></div>');\n app.$el.append($backdropEl);\n }\n }\n\n function handleClick(e) {\n if (!customModal || customModal.destroyed) return;\n if ($backdropEl && e.target === $backdropEl[0]) {\n customModal.close();\n }\n }\n\n customModal.on('customModalOpened', () => {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.on('click', handleClick);\n }\n });\n customModal.on('customModalClose', () => {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.off('click', handleClick);\n }\n });\n\n extend(customModal, {\n app,\n $el,\n el: $el[0],\n $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'customModal',\n });\n\n $el[0].f7Modal = customModal;\n\n return customModal;\n }\n}\nexport default CustomModal;\n","import Modal from './modal-class.js';\nimport CustomModal from './custom-modal-class.js';\n\nexport default {\n name: 'modal',\n static: {\n Modal,\n CustomModal,\n },\n create() {\n const app = this;\n app.customModal = {\n create(params) {\n return new CustomModal(app, params);\n },\n };\n },\n params: {\n modal: {\n queueDialogs: true,\n },\n },\n};\n","import $ from './shared/dom7.js';\n\nimport Framework7 from './components/app/app-class.js';\n\n//IMPORT_HELPERS\n\nimport DeviceModule from './modules/device/device.js';\nimport SupportModule from './modules/support/support.js';\nimport UtilsModule from './modules/utils/utils.js';\nimport ResizeModule from './modules/resize/resize.js';\nimport TouchModule from './modules/touch/touch.js';\nimport ClicksModule from './modules/clicks/clicks.js';\nimport RouterModule from './modules/router/router.js';\nimport RouterComponentLoaderModule from './modules/router/component-loader.js';\nimport ComponentModule, { Component, $jsx } from './modules/component/component.js';\nimport HistoryModule from './modules/history/history.js';\nimport ServiceWorkerModule from './modules/service-worker/service-worker.js';\nimport StoreModule, { createStore } from './modules/store/store.js';\n\nimport Statusbar from './components/statusbar/statusbar.js';\nimport View from './components/view/view.js';\nimport Navbar from './components/navbar/navbar.js';\nimport Toolbar from './components/toolbar/toolbar.js';\nimport Subnavbar from './components/subnavbar/subnavbar.js';\nimport TouchRipple from './components/touch-ripple/touch-ripple.js';\nimport Modal from './components/modal/modal.js';\nimport Router from './modules/router/router-class.js';\n\n//IMPORT_COMPONENTS\n\n// UMD_ONLY_START\nif (typeof window !== 'undefined') {\n // Dom7\n if (!window.Dom7) window.Dom7 = $;\n}\n// UMD_ONLY_END\n\nRouter.use([RouterComponentLoaderModule]);\n\nFramework7.use([\n DeviceModule,\n SupportModule,\n UtilsModule,\n ResizeModule,\n TouchModule,\n ClicksModule,\n RouterModule,\n HistoryModule,\n ComponentModule,\n ServiceWorkerModule,\n StoreModule,\n Statusbar,\n View,\n Navbar,\n Toolbar,\n Subnavbar,\n TouchRipple,\n Modal,\n //INSTALL_COMPONENTS\n]);\n\n//NAMED_EXPORT\nexport default Framework7;\n"],"names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","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","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","makeReactive","proto","__proto__","defineProperty","get","set","value","Dom7","Array","items","arrayFlat","arr","res","el","isArray","push","arrayFilter","prototype","filter","call","arrayUnique","uniqueArray","i","indexOf","toCamelCase","string","toLowerCase","replace","match","group","toUpperCase","qsa","selector","context","a","$","html","trim","toCreate","tempParent","innerHTML","nodeType","fn","addClass","classes","classNames","map","c","split","classList","add","removeClass","remove","toggleClass","className","toggle","hasClass","contains","attr","attrs","arguments","getAttribute","undefined","attrName","removeAttr","removeAttribute","prop","props","propName","data","dom7ElementDataStorage","dataKey","removeData","dataset","attributes","name","parseFloat","val","multiple","values","selectedOptions","j","options","selected","transform","transition","duration","transitionDuration","on","args","eventType","targetSelector","listener","capture","handleLiveEvent","e","eventData","dom7EventData","unshift","is","apply","parents","k","handleEvent","events","event","dom7Listeners","proxyListener","dom7LiveListeners","off","handlers","handler","splice","dom7proxy","once","dom","eventName","onceHandler","eventArgs","trigger","evt","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionEnd","fireCallBack","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","each","index","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","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","els","toAdd","empty","scrollTo","easing","animate","currentTop","currentLeft","maxTop","maxLeft","newTop","newLeft","animateTop","animateLeft","scrollHeight","Math","max","min","scrollWidth","startTime","render","time","getTime","progress","easeProgress","cos","PI","done","initialProps","initialParams","assign","params","elements","animating","que","easingProgress","stop","frameId","element","dom7AnimateInstance","complete","shift","initialFullValue","initialValue","unit","finalValue","finalFullValue","container","currentValue","elementsDone","propsDone","began","begin","animateInstance","noTrigger","shortcut","eventHandler","click","focus","focusin","focusout","keyup","keydown","keypress","submit","change","mousedown","mousemove","mouseup","mouseenter","mouseleave","mouseout","mouseover","touchstart","touchend","touchmove","resize","scroll","methods","methodName","signum","num","lerp","start","amount","clampInt","input","sanitizeDegreesDouble","degrees","rotationDirection","from","to","differenceDegrees","b","abs","matrixMultiply","row","matrix","SRGB_TO_XYZ","XYZ_TO_SRGB","WHITE_POINT_D65","argbFromRgb","red","green","blue","argbFromLinrgb","linrgb","delinearized","redFromArgb","argb","greenFromArgb","blueFromArgb","argbFromXyz","x","y","z","linearR","linearG","linearB","xyzFromArgb","linearized","argbFromLstar","lstar","component","yFromLstar","lstarFromArgb","labF","labInvf","rgbComponent","normalized","pow","round","whitePointD65","t","ft","ft3","ViewingConditions","n","aw","nbb","ncb","nc","rgbD","fl","fLRoot","make","whitePoint","adaptingLuminance","backgroundLstar","surround","discountingIlluminant","xyz","rW","gW","bW","f","d","exp","k4","k4F","cbrt","sqrt","rgbAFactors","rgbA","DEFAULT","Cam16","hue","chroma","q","m","s","jstar","astar","bstar","distance","other","dJ","dA","dB","dEPrime","fromInt","fromIntInViewingConditions","viewingConditions","redL","greenL","blueL","rC","gC","bC","rD","gD","bD","rAF","gAF","bAF","rA","gA","bA","u","p2","atanDegrees","atan2","hueRadians","ac","huePrime","alpha","mstar","log","sin","fromJch","h","fromJchInViewingConditions","fromUcs","fromUcsInViewingConditions","toInt","viewed","hRad","eHue","p1","hSin","hCos","gamma","rCBase","gCBase","bCBase","rF","gF","bF","HctSolver","sanitizeRadians","angle","trueDelinearized","chromaticAdaptation","af","hueOf","scaledDiscount","SCALED_DISCOUNT_FROM_LINRGB","areInCyclicOrder","intercept","source","mid","lerpPoint","setCoordinate","coordinate","axis","isBounded","nthVertex","kR","Y_FROM_LINRGB","kG","kB","coordA","coordB","g","r","bisectToSegment","targetHue","right","leftHue","rightHue","initialized","uncut","midHue","midpoint","criticalPlaneBelow","floor","criticalPlaneAbove","ceil","bisectToLimit","segment","lPlane","rPlane","mPlane","midPlaneCoordinate","CRITICAL_PLANES","inverseChromaticAdaptation","adapted","adaptedAbs","base","findResultByJ","tInnerCoeff","iterationRound","jNormalized","LINRGB_FROM_SCALED_DISCOUNT","fnj","solveToInt","hueDegrees","exactAnswer","solveToCam","Hct","cam","internalHue","internalChroma","internalTone","tone","newHue","setInternalState","newChroma","newTone","Blend","harmonize","designColor","sourceColor","fromHct","toHct","differenceDegrees$1","rotationDegrees","outputHue","hctHue","ucs","cam16Ucs","ucsCam","fromCam","toCam","fromJ","fromA","fromB","TonalPalette","cache","Map","hct","fromHueAndChroma","CorePalette","isContent","a1","a2","a3","n1","n2","error","of","contentOf","Scheme","primary","onPrimary","primaryContainer","onPrimaryContainer","secondary","onSecondary","secondaryContainer","onSecondaryContainer","tertiary","onTertiary","tertiaryContainer","onTertiaryContainer","onError","errorContainer","onErrorContainer","background","onBackground","surface","onSurface","surfaceVariant","onSurfaceVariant","outline","outlineVariant","shadow","scrim","inverseSurface","inverseOnSurface","inversePrimary","light","lightFromCorePalette","dark","darkFromCorePalette","lightContent","darkContent","core","toJSON","hexFromArgb","outParts","toString","part","entries","join","argbFromHex","hex","isThree","isSix","isEight","Error","parseIntHex","slice","repeat","parseInt","themeFromSourceColor","customColors","palette","schemes","palettes","neutral","neutralVariant","customColor","color","blend","tones","onColor","colorContainer","onColorContainer","toRGBA","l","rgba","String","p","materialColors","hexColor","theme","char","shouldSkip","skip","v","includes","uniqueNum","uniqueNumber","mask","random","mdPreloaderContent","iosPreloaderContent","eventNameToColonCase","hasColon","deleteProps","object","nextTick","delay","nextFrame","now","parseUrlQuery","url","query","urlToParse","param","paramsPart","decodeURIComponent","getTranslate","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","m41","m42","serializeObject","resultArray","separator","newParents","varName","parentParts","encodeURIComponent","varValue","toPush","o","merge","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","deep","colorHexToRgb","exec","colorRgbToHex","colorRgbToHsl","colorHslToRgb","hp","rgb1","Number","isNaN","colorHsbToHsl","HSL","HSB","colorHslToHsb","getShadeTintColors","rgb","hsl","hslShade","hslTint","shade","tint","colorThemeCSSProperties","shadeTintIos","shadeTintMdLight","shadeTintMdDark","ios","md","bindMethods","instance","subKey","bind","flattenArray","arg","colorThemeCSSStyles","colors","stringifyObject","colorVars","colorName","restVars","colorValue","rest","whiteColorVars","blackColorVars","lightString","darkString","support","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","passiveListener","checkPassiveListener","supportsPassive","opts","intersectionObserver","checkObserver","getSupport","deviceCalculated","calcDevice","platform","ua","device","android","androidChrome","desktop","iphone","ipod","ipad","edge","ie","firefox","macos","windows","cordova","electron","capacitor","Capacitor","nwjs","screenWidth","screenHeight","nw","process","versions","iPadScreens","os","osVersion","webView","standalone","webview","pixelRatio","devicePixelRatio","DARK","LIGHT","prefersColorScheme","prefersColorTheme","getDevice","overrides","reset","EventsClass","self","eventsParents","eventsListeners","priority","method","f7proxy","emit","local","eventsArray","localEvents","parentEvents","eventsParent","Framework7Class","useModuleParams","module","instanceParams","originalParams","paramKey","useModulesParams","modules","moduleName","useModule","moduleParams","modulePropName","moduleProp","moduleEventName","vnode","vnodeHooks","vnodeId","hookName","create","useModules","modulesParams","components","Class","use","installModule","static","install","ConstructorMethods","parameters","defaultSelector","Constructor","domProp","app","addMethods","$el","destroy","ModalMethods","open","targetEl","$targetPage","modalEl","$modalEl","f7Modal","close","$parentEl","$targetEl","fetchedModules","loadModule","moduleToLoad","Framework7","Promise","resolve","reject","modulePath","moduleObj","moduleFunc","matchNamePattern","lazyModulesPath","scriptLoad","resolveScript","rejectScript","fetch","then","scriptContent","callbackId","callbackLoadName","scriptEl","componentLoader","catch","err","styleLoad","resolveStyle","rtl","styleContent","styleEl","all","$jsx","tag","attrsString","childrenContent","passedParams","w","defaults","version","language","routes","initOnDeviceReady","init","darkMode","iosTranslucentBars","iosTranslucentModals","componentUrl","pink","yellow","orange","purple","deeppurple","lightblue","teal","lime","deeporange","white","black","getTheme","online","onLine","store","f7","initStore","setColorTheme","setColors","colorsStyleEl","head","utils","mount","rootEl","$rootEl","mq","colorSchemeListener","media","__store","createStore","enableAutoDarkMode","addListener","disableAutoDarkMode","removeListener","setDarkMode","mode","initAppComponent","router","componentOptions","$elComponent","f7Component","loadModules","getVnodeHooks","hook","Events","metaStatusbar","content","getSize","orientationchange","initTouch","useRipple","touchStartX","touchStartY","targetElement","isMoved","tapHoldFired","tapHoldTimeout","preventClick","activableElement","activeTimeout","rippleWave","rippleTarget","rippleTimeout","findActivableElement","activeStateElements","activable","newActivable","preventPropagation","isInsideScrollableView","pageContent","addActive","removeActive","findRippleElement","rippleElements","touchRippleElements","rippleParent","createRipple","touchRipple","removeRipple","rippleTouchStart","inScrollable","rippleTouchMove","rippleTouchEnd","handleMouseDown","$activableEl","which","pageX","pageY","handleMouseMove","activeStateOnMouseMove","handleMouseUp","handleTouchCancel","activeState","isScrolling","isSegmentedStrong","segmentedStrongEl","touchMoveActivableIos","isTouchMoveActivable","touchmoveActivableEl","handleTouchStart","targetTouches","touches","tapHold","preventDefault","tapHoldDelay","handleTouchMove","shouldRemoveActive","type","touchClicksDistanceThreshold","touchCurrentX","touchCurrentY","elementFromPoint","clientX","clientY","buttonEl","handleTouchEnd","tapHoldPreventClicks","handleClick","isOverswipe","isSegmented","localPreventClick","stopImmediatePropagation","stopPropagation","emitAppTouchEvent","appClick","appTouchStartActive","appTouchMoveActive","appTouchEndActive","appTouchStartPassive","appTouchMovePassive","appTouchEndPassive","passive","passiveListenerCapture","activeListener","activeListenerCapture","touchEvents","move","end","disableContextMenu","isNative","mdTouchRipple","iosTouchRipple","touchRippleInsetElements","lexer","str","tokens","code","charCodeAt","TypeError","count","pattern","parse","prefixes","defaultPattern","escapeString","delimiter","path","tryConsume","mustConsume","nextType","consumeText","prefix","suffix","modifier","name_1","pattern_1","compile","tokensToFunction","reFlags","flags","encode","_b","validate","token","RegExp","optional","test","typeOfMessage","sensitive","regexpToRegexp","groupsRegex","execResult","arrayToRegexp","paths","parts","stringToRegexp","tokensToRegexp","strict","_c","_d","endsWith","route","tokens_1","_i","mod","endToken","isEndDelimited","pathToRegexp","History","queue","clearQueue","currentQueue","routerQueue","clearRouterQueue","pop","stateUrl","action","browserHistoryAnimate","browserHistory","navigate","handle","blockPopstate","state","previousState","allowChange","views","view","viewState","allowPageChange","initViewState","viewId","newState","substr","readyState","SwipeBack","$navbarsEl","isTouched","touchesStart","$currentPageEl","$previousPageEl","viewContainerWidth","touchesDiff","allowViewTouchMove","touchStartTime","$currentNavbarEl","$previousNavbarEl","dynamicNavbar","$pageShadowEl","$pageOpacityEl","animatableNavEls","paramsSwipeBackAnimateShadow","paramsSwipeBackAnimateOpacity","paramsSwipeBackActiveArea","paramsSwipeBackThreshold","transformOrigin","transformOriginTitleLarge","animatableNavElements","inverter","currentNavIsTransparent","currentNavIsLarge","currentNavIsCollapsed","currentNavIsLargeTransparent","previousNavIsTransparent","previousNavIsLarge","previousNavIsCollapsed","previousNavIsLargeTransparent","fromLarge","toLarge","$currentNavElements","$previousNavElements","activeNavBackIconText","previousNavBackIconText","iosAnimateNavbarBackIcon","f7NavbarLeftOffset","navEl","$navEl","isSubnavbar","isLeft","isTitle","isBg","overflow","subNavEl","opacity","isSliding","transformTarget","textEl","activeNavTranslate","f7NavbarRightOffset","previousNavTranslate","setAnimatableNavElements","reflow","_clientLeft","classNameSet","styleProp","swipeBackEnabled","swipeout","masterDetailBreakpoint","f7PreventSwipeBack","preventSwipeBack","cancel","notFromBorder","sheet","f7PreventSwipePanel","preventSwipePanelBySwipeBack","percentage","callbackData","currentPageEl","previousPageEl","currentNavbarEl","previousNavbarEl","currentPageTranslate","previousPageTranslate","swipeBackActive","$pages","timeDiff","pageChanged","setNavbarPosition","currentRoute","f7Page","currentPage","pageCallback","swipeBack","saveHistory","removePage","removeNavbar","previousRoute","preloadPreviousPage","preload","attachEvents","detachEvents","redirect","direction","initial","redirectResolve","redirectUrl","redirectOptions","redirectReject","processQueue","routeQueue","queueItem","processRouteQueue","enterNextRoute","routesBeforeEnter","beforeEnter","leaveCurrentRoute","routesBeforeLeave","beforeLeave","appRouterCheck","asyncComponent","resolvePromise","componentPromise","default","_default","asyncComponentResult","refreshPage","ignoreCache","reloadCurrent","forward","forwardOptions","reloadPages","reloadPrevious","reloadAll","clearPreviousHistory","reloadDetail","masterDetailEnabled","isMaster","master","masterPageEl","otherDetailPageEl","detailsInBetweenRemoved","currentRouteIsModal","modal","modalType","modalLoadProp","modalToClose","modalInstance","previousUrl","findMatchingRoute","modalRemove","$viewEl","$newPage","reload","$oldPage","$newNavbarEl","$oldNavbarEl","removeThemeElements","$navbarEl","keepAlive","keepAliveData","pageEl","$pagesInView","pageInView","$navbarsInView","navbarInView","isDetail","isDetailRoot","newPagePosition","position","role","root","detailRoot","navbar","getElByPage","navbarEl","removedPageEls","removedNavbarEls","oldNavbarEl","browserHistoryRoot","browserHistorySeparator","newPageInDom","componentEl","f7PageMounted","$oldPageEl","$oldNavbarElEl","tab","tabLoad","checkMasterDetailBreakpoint","setPagePosition","afterAnimation","keepOldPage","setPositionClasses","f7PageTransition","load","loadParams","loadOptions","ignorePageChange","pageName","parentPath","sameParams","paramName","allowDuplicateUrls","parseRouteUrl","newOptions","getPageEl","pageComponentLoader","routerEl","xhrAbortController","abort","xhrRequest","navigateParams","navigateOptions","createRoute","generateUrl","navigateUrl","currentPath","viewName","anotherViewName","anotherView","openIn","ignoreOpenIn","routerLoaded","modalLoad","pageLoadProp","asyncResolve","resolveParams","resolveOptions","resolvedAsModal","modalRoute","asyncReject","async","masterRoute","preloadMaster","masterLoaded","pageAfterIn","tabRoute","parentPageEl","browserHistoryTabs","$parentPageEl","tabEl","tabShowResult","$newTabEl","$oldTabEl","animated","onTabsChanged","tabParentPageData","onTabLoaded","contentEl","tabEventTarget","unloadTabContent","tabRemove","f7RouterTabLoaded","loadTab","loadTabParams","loadTabOptions","tabComponentLoader","tabContent","hasContentLoadProp","tabLoadProp","hasTabComponentChild","tabChild","removeTabContent","isPanel","modalOrPanel","modalParams","routeCallback","modalOpen","panelOpen","modalClose","panelClose","modalClosed","panelClosed","onModalLoaded","hasEl","closeOnSwipeBack","closeByRouter","modalComponent","removeModal","loadModal","loadModalParams","loadModalOptions","modalComponentLoader","modalContent","foundLoadProp","backward","backwardOptions","masterPageRemoved","initialPreload","currentIsMaster","backIndex","force","$pageToRemove","$navbarToRemove","insertPage","$previousPages","pageToRemove","loadBack","backParams","backOptions","prevOpenedModals","forceOtherUrl","isBrokenBrowserHistory","needHistoryBack","currentRouteWithoutBrowserHistory","$previousPage","skipMaster","$previousMaster","expectedPreviousPageUrl","expectedPreviousPageRoute","previousPageRoute","clearPreviousPages","$pagesToRemove","panel","Router","isAppRouter","routerId","scrollHistory","iosDynamicNavbar","initialPages","initialNavbars","configurable","newRoute","tempDom","navbarsEl","animateIcon","newNavEls","oldNavEls","animatableNavEl","$navbarInner","needsOpacityTransition","$iconEl","isIconLabel","leftOffset","rightOffset","navEls","otherEls","otherNavEl","iconTextEl","offsetLeft","$newPageEl","animateCustom","routerCustomTransitionClass","onCustomTransitionDone","routerTransitionClass","toDifferent","oldIsLarge","newIsLarge","betweenMasterAndDetail","animateNavbars","setProperty","onDone","removeEl","$tabEl","removeElements","removeElementsWithTimeout","removeElementsTimeout","findElement","stringSelector","modalsSelector","$container","viewMainClass","flattenRoutes","flattenedRoutes","hasTabRoutes","tabs","mergedPathsRoutes","tRoute","concat","detailRoutes","detailRoute","dRoute","masterRoutePath","childRoute","cRoute","findRouteByKey","constructRouteUrl","toUrl","findTabRouteUrl","tabId","foundTabRouteUrl","matchingRoute","pathsToMatch","alias","aliasPath","matched","pathToMatch","keyObj","paramValue","replaceRequestUrlParams","compiledUrl","regExp","removeFromXhrCache","xhrCache","xhr","requestUrl","hasQuery","passRouteQueryToRequest","passRouteParamsToRequest","xhrCacheIgnoreGetParameters","xhrCacheIgnore","cachedUrl","xhrCacheDuration","AbortController","fetchRes","signal","responseText","status","ariaHidden","toRemove","getPageData","pageFromEl","$pageEl","pageFrom","fromPage","$pageFromEl","page","restoreScrollTopOnBack","camelName","colonName","f7RouteEventsAttached","f7RouteEventsOn","f7RouteEventsOnce","$pageContent","pageContentEl","f7PageInitialized","browserHistoryStoreHistory","localStorage","JSON","stringify","restoreHistory","clearHistory","updateCurrentUrl","newUrl","getInitialUrl","initialUrl","historyRestored","URL","documentUrl","browserHistoryOnLoad","console","warn","iosSwipeBack","mdSwipeBack","browserHistoryAnimateOnLoad","browserHistoryInitialMatch","initUrl","loadInitialPage","hasTabRoute","initOptions","routerProp","templates","resizableView","resizableInitialized","resizable","resizableWidth","$htmlEl","$resizeHandlerEl","minWidth","maxWidth","transformCSSWidth","newV","isResizable","$pageMasterEl","newWidth","handleResize","View","viewParams","ssr","routesAdd","message","main","f7View","viewProp","wasMasterDetail","isMasterDetail","initMasterDetail","masterDetailResizable","viewEl","initRouterOnTabShow","initClicks","handleClicks","$clickedEl","$clickedLinkEl","isLink","clicks","externalLinks","InAppBrowser","Plugins","Browser","moduleClicks","preventF7Router","clickSelector","matchingClickedElement","clickedLinkData","clickedEl","validUrl","current","linksView","ViewClass","f7RouteProps","popup","loginScreen","popover","side","effect","componentFunction","componentContext","f7route","f7router","componentProps","routeProps","componentRoot","createdComponent","cachedComponent","componentCache","cached","loadedComponent","parsedComponent","ignoreChildren","$h","htm","sel","elm","array","ns","childData","addNS","SELF_CLOSING","PROPS_ATTRS","BOOLEAN_PROPS","getTagName","treeNode","word","propsFromAttrs","createCustomComponent","customComponents","__component__","updateCustomComponent","newProps","update","destroyCustomComponent","isCustomComponent","treeNodeType","getHooks","isRoot","hooks","insert","postpatch","isFakeElement","tagName","isCustom","oldVnode","class","vn","getEventHandler","prevent","fired","getData","attrValue","eventNamePart","eventNameIndex","prepatch","getChildren","nodes","childNode","treeNodeToVNode","getSlots","slotName","slotNodes","childTreeNode","childSlotName","slot","subTreeNode","isTreeNode","vdom","tree","namespaceURI","qualifiedName","createTextNode","createComment","newNode","referenceNode","node","setTextContent","getTextContent","isElement","isText","isComment","emptyNode","vnode1","vnode2","beginIdx","endIdx","ch","domApi","cbs","api","htmlDomApi","childElm","listeners","parent_1","insertedVnodeQueue","isDef","isUndef","hashIdx","dotIdx","dot","createElm","parentElm","vnodes","startIdx","invokeDestroyHook","i_1","rm","createRmCb","oldCh","newCh","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","oldKeyToIdx","idxInOld","elmToMove","sameVnode","patchVnode","createKeyToOldIdx","addVnodes","removeVnodes","updateChildren","pre","isVnode","emptyNodeAt","post","xlinkNS","xmlNS","colonChar","xChar","oldAttrs","cur","old","setAttributeNS","attributesModule","updateAttrs","oldProps","propsModule","updateProps","raf","oldStyle","oldHasDel","removeProperty","delayed","name2","setNextFrame","compStyle","applied","ev","styleModule","updateStyle","applyDestroyStyle","applyRemoveStyle","invokeHandler","createListener","updateEvents","oldOn","oldListener","oldElm","patch","eventListenersModule","flatChildren","Component","generateId","__updateQueue","__eventHandlers","__onceEventHandlers","__onBeforeMount","__onMounted","__onBeforeUpdate","__onUpdated","__onBeforeUnmount","__onUnmounted","createComponent","getComponentContext","getRenderFuncion","componentResult","renderFunction","getComponentRef","getComponentStore","_gettersPlain","dispatch","$store","getters","Proxy","onUpdated","includeHooks","ctx","$f7route","$f7router","$id","$f7","$f7ready","f7ready","$theme","$tick","tick","$update","$emit","$ref","$on","$once","$onBeforeMount","$onMounted","$onBeforeUpdate","$onUpdated","$onBeforeUnmount","$onUnmounted","startUpdateQueue","__requestAnimationFrameId","newVNode","__updateIsPending","resolvers","resolver","__destroyed","setState","mountMethod","parseComponent","componentString","componentId","callbackCreateName","template","hasTemplate","item","scripts","registerComponent","unregisterComponent","SW","registrations","register","scope","serviceWorker","reg","unregister","registration","toRegister","storeParams","originalState","actions","propsQueue","gettersDependencies","gettersCallbacks","getterKey","getGetterValue","addGetterDependencies","deps","dep","addGetterCallback","runGetterCallbacks","stateKey","removeGetterCallback","callbacks","__removeCallback","getterValue","addCallback","__callback","actionName","isCapacitor","StatusBar","Statusbar","onClick","setTextColor","styleLightContent","styleDefault","setStyle","setBackgroundColor","backgroundColorByHexString","isVisible","getInfo","info","visible","overlaysWebView","overlays","setOverlaysWebView","overlay","statusbar","enabled","isCordova","isCap","scrollTopOnClick","iosOverlaysWebView","iosTextColor","androidOverlaysWebView","androidTextColor","iosBackgroundColor","androidBackgroundColor","getCurrentView","$popoverView","$popupView","$panelView","$viewsEl","iosSwipeBackAnimateShadow","iosSwipeBackAnimateOpacity","iosSwipeBackActiveArea","iosSwipeBackThreshold","mdSwipeBackAnimateShadow","mdSwipeBackAnimateOpacity","mdSwipeBackActiveArea","mdSwipeBackThreshold","iosPageLoadDelay","mdPageLoadDelay","onOpen","onClose","Navbar","size","$innerEl","needCenterTitle","needLeftTitle","iosCenterTitle","title","subnavbar","noLeft","noRight","leftWidth","rightWidth","titleWidth","navbarStyles","navbarWidth","navbarInnerWidth","paddingLeft","paddingRight","isPrevious","sliding","currLeft","diff","requiredLeft","titleLeftOffset","titleRightOffset","activeNavbarBackLink","titleLeft","hideStatusbar","hideOnlyCurrent","isDynamic","currentIsLarge","subEl","pageData","getPageByEl","collapseLargeTitle","expandLargeTitle","toggleLargeTitle","initNavbarOnScroll","needHide","needCollapse","needTransparent","$titleLargeEl","isLarge","navbarHideHeight","snapPageScrollToLargeTitle","snapPageScrollToTransparentNavbar","previousScrollTop","currentScrollTop","reachEnd","navbarHidden","navbarCollapsed","navbarTitleLargeHeight","navbarOffsetHeight","scrollChanged","scrollContent","scrollTimeoutId","touchEndTimeoutId","touchSnapTimeout","desktopSnapTimeout","calcScrollableDistance","f7ScrollableDistance","snapLargeNavbar","inSearchbarExpanded","snapTransparentNavbar","handleNavbarTransparent","isHidden","notTransparent","previousCollapseProgress","collapseProgress","handleLargeNavbarCollapse","isLargeTransparent","scrollableDistance","previousCollapseWasInMiddle","$bgEl","handleTitleHideShow","showOnPageScrollEnd","showOnPageScrollTop","handleScroll","handeTouchStart","f7DetachNavbarScrollHandlers","scrollTopOnTitleClick","mdCenterTitle","hideOnPageScroll","collapseLargeTitleOnScroll","onPanelResize","pageBeforeRemove","pageBeforeIn","pageReinit","pageInit","needCollapseOnScrollHandler","needTransparentOnScroll","needHideOnScrollHandler","onPanelModalOpen","tabShow","onTitleClick","clickedData","$pageContentEl","Toolbar","setHighlight","tabbarEl","$tabbarEl","$highlightEl","tabLinksCount","$activeLink","highlightWidth","highlightTranslate","activeIndex","toolbar","initToolbarOnScroll","$toolbarEl","toolbarHidden","f7ScrollToolbarHandler","tabbar","$innerSubnavbars","subnavbarEl","TouchRipple","ripple","center","diameter","isInset","insetElements","distanceFromCenter","scale","rippleTransform","$rippleWaveEl","shouldBeRemoved","out","removeTimeout","openedModals","dialogsQueue","clearDialogsQueue","dialog","Modal","opened","$containerEl","containerEl","onOpened","onClosed","backdrop","backdropUnique","forceBackdropUnique","$backdropEl","animateModal","queueDialogs","pushToQueue","openedModal","$modalParentEl","wasInDom","needToHideBackdrop","popupEl","popupInstance","closeByBackdropClick","backdropEl","destroyed","CustomModal","extendedParams","customModal","RouterComponentLoaderModule","DeviceModule","SupportModule","UtilsModule","ResizeModule","TouchModule","ClicksModule","RouterModule","HistoryModule","ComponentModule","ServiceWorkerModule","StoreModule","Subnavbar"],"mappings":"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AAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,C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"}