(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendors~main"],{ /***/ "./node_modules/chart.js/auto/auto.esm.js": /*!************************************************!*\ !*** ./node_modules/chart.js/auto/auto.esm.js ***! \************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dist/chart.esm */ \"./node_modules/chart.js/dist/chart.esm.js\");\n\n\n_dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__[\"Chart\"].register(..._dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__[\"registerables\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__[\"Chart\"]);\n\n\n//# sourceURL=webpack:///./node_modules/chart.js/auto/auto.esm.js?"); /***/ }), /***/ "./node_modules/chart.js/dist/chart.esm.js": /*!*************************************************!*\ !*** ./node_modules/chart.js/dist/chart.esm.js ***! \*************************************************/ /*! exports provided: defaults, Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, Decimation, DomPlatform, DoughnutController, Element, Filler, Interaction, Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, SubTitle, Ticks, TimeScale, TimeSeriesScale, Title, Tooltip, _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Animation\", function() { return Animation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Animations\", function() { return Animations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArcElement\", function() { return ArcElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BarController\", function() { return BarController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BarElement\", function() { return BarElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BasePlatform\", function() { return BasePlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BasicPlatform\", function() { return BasicPlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BubbleController\", function() { return BubbleController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CategoryScale\", function() { return CategoryScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Chart\", function() { return Chart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DatasetController\", function() { return DatasetController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Decimation\", function() { return plugin_decimation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomPlatform\", function() { return DomPlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DoughnutController\", function() { return DoughnutController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return Element; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Filler\", function() { return plugin_filler; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Interaction\", function() { return Interaction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Legend\", function() { return plugin_legend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineController\", function() { return LineController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineElement\", function() { return LineElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LinearScale\", function() { return LinearScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LogarithmicScale\", function() { return LogarithmicScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PieController\", function() { return PieController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PointElement\", function() { return PointElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PolarAreaController\", function() { return PolarAreaController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RadarController\", function() { return RadarController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RadialLinearScale\", function() { return RadialLinearScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scale\", function() { return Scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScatterController\", function() { return ScatterController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SubTitle\", function() { return plugin_subtitle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Ticks\", function() { return Ticks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TimeScale\", function() { return TimeScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TimeSeriesScale\", function() { return TimeSeriesScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Title\", function() { return plugin_title; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return plugin_tooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_adapters\", function() { return adapters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_detectPlatform\", function() { return _detectPlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"animator\", function() { return animator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"controllers\", function() { return controllers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elements\", function() { return elements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layouts\", function() { return layouts; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"plugins\", function() { return plugins; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerables\", function() { return registerables; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registry\", function() { return registry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scales\", function() { return scales; });\n/* harmony import */ var _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunks/helpers.segment.js */ \"./node_modules/chart.js/dist/chunks/helpers.segment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"]; });\n\n/*!\n * Chart.js v3.5.0\n * https://www.chartjs.org\n * (c) 2021 Chart.js Contributors\n * Released under the MIT License\n */\n\n\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n const me = this;\n if (me._request) {\n return;\n }\n me._running = true;\n me._request = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"r\"].call(window, () => {\n me._update();\n me._request = null;\n if (me._running) {\n me._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n const me = this;\n let remaining = 0;\n me._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n me._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n me._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n me._lastDate = date;\n if (remaining === 0) {\n me._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"c\"])(from || transparent);\n const c1 = c0.valid && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"c\"])(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.to, to, currentValue, cfg.from]);\n const from = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"e\"][cfg.easing] || _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"e\"].linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n const me = this;\n if (me._active) {\n me._notify(false);\n const currentValue = me._target[me._prop];\n const elapsed = date - me._start;\n const remain = me._duration - elapsed;\n me._start = date;\n me._duration = Math.floor(Math.max(remain, cfg.duration));\n me._total += elapsed;\n me._loop = !!cfg.loop;\n me._to = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.to, to, currentValue, cfg.from]);\n me._from = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n const me = this;\n if (me._active) {\n me.tick(Date.now());\n me._active = false;\n me._notify(false);\n }\n }\n tick(date) {\n const me = this;\n const elapsed = date - me._start;\n const duration = me._duration;\n const prop = me._prop;\n const from = me._from;\n const loop = me._loop;\n const to = me._to;\n let factor;\n me._active = from !== to && (loop || (elapsed < duration));\n if (!me._active) {\n me._target[prop] = to;\n me._notify(true);\n return;\n }\n if (elapsed < 0) {\n me._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = me._easing(Math.min(1, Math.max(0, factor)));\n me._target[prop] = me._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].animation);\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('animations', {\n _fallback: 'animation',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(otherValue) && (singleMode || (value === 0 || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(value) === Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive) {\n for (const meta of vScale.getMatchingVisibleMetas('bar').reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true);\n stack._bottom = getLastIndexInStack(stack, vScale, false);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return Object.assign(Object.create(parent),\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return Object.assign(Object.create(parent), {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const me = this;\n const meta = me._cachedMeta;\n me.configure();\n me.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n me.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const me = this;\n const chart = me.chart;\n const meta = me._cachedMeta;\n const dataset = me.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = me.getScaleForId(xid);\n meta.yScale = me.getScaleForId(yid);\n meta.rScale = me.getScaleForId(rid);\n meta.iScale = me.getScaleForId(iid);\n meta.vScale = me.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"u\"])(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const me = this;\n const dataset = me.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = me._data;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(data)) {\n me._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"u\"])(_data, me);\n const meta = me._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"l\"])(data, me);\n }\n me._syncList = [];\n me._data = data;\n }\n }\n addElements() {\n const me = this;\n const meta = me._cachedMeta;\n me._dataCheck();\n if (me.datasetElementType) {\n meta.dataset = new me.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const me = this;\n const meta = me._cachedMeta;\n const dataset = me.getDataset();\n let stackChanged = false;\n me._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n me._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(me, meta._parsed);\n }\n }\n configure() {\n const me = this;\n const config = me.chart.config;\n const scopeKeys = config.datasetScopeKeys(me._type);\n const scopes = config.getOptionScopes(me.getDataset(), scopeKeys, true);\n me.options = config.createResolver(scopes, me.getContext());\n me._parsing = me.options.parsing;\n }\n parse(start, count) {\n const me = this;\n const {_cachedMeta: meta, _data: data} = me;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (me._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(data[start])) {\n parsed = me.parseArrayData(meta, data, start, count);\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(data[start])) {\n parsed = me.parseObjectData(meta, data, start, count);\n } else {\n parsed = me.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(me, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, xAxisKey), index),\n y: yScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n value = applyStack(stack, parsedValue, this._cachedMeta.index, {all: true});\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const me = this;\n const meta = me._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = me._getOtherScale(scale);\n const stack = canStack && meta._stacked && {keys: getSortedDatasetIndices(me.chart, true), values: null};\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, value, parsed, otherValue;\n function _skip() {\n parsed = _parsed[i];\n value = parsed[scale.axis];\n otherValue = parsed[otherScale.axis];\n return !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n me.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n me.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = me.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n me.configure();\n me._cachedDataOpts = {};\n me.update(mode || 'default');\n meta._clip = toClip(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(me.options.clip, defaultClip(meta.xScale, meta.yScale, me.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const me = this;\n const ctx = me._ctx;\n const chart = me.chart;\n const meta = me._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = me._drawStart || 0;\n const count = me._drawCount || (elements.length - start);\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const me = this;\n const dataset = me.getDataset();\n let context;\n if (index >= 0 && index < me._cachedMeta.data.length) {\n const element = me._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(me.getContext(), index, element));\n context.parsed = me.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = me.$context ||\n (me.$context = createDatasetContext(me.chart.getContext(), me.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = me.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const me = this;\n const active = mode === 'active';\n const cache = me._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = me.enableOptionSharing && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = me.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(me._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(me.getDataset(), scopeKeys);\n const names = Object.keys(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].elements[elementType]);\n const context = () => me.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const me = this;\n const chart = me.chart;\n const cache = me._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = me.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(me._type, transition);\n const scopes = config.getOptionScopes(me.getDataset(), scopeKeys);\n options = config.createResolver(scopes, me.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const me = this;\n const data = me._data;\n const elements = me._cachedMeta.data;\n for (const [method, arg1, arg2] of me._syncList) {\n me[method](arg1, arg2);\n }\n me._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n me.parse(0, count);\n }\n if (numData > numMeta) {\n me._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n me._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const me = this;\n const meta = me._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new me.dataElementType();\n }\n if (me._parsing) {\n move(meta._parsed);\n }\n me.parse(start, count);\n if (resetNewElements) {\n me.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const me = this;\n const meta = me._cachedMeta;\n if (me._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _onDataPush() {\n const count = arguments.length;\n this._syncList.push(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._syncList.push(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._syncList.push(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n this._syncList.push(['_removeElements', start, count]);\n this._syncList.push(['_insertElements', start, arguments.length - 2]);\n }\n _onDataUnshift() {\n this._syncList.push(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale) {\n if (!scale._cache.$bar) {\n const metas = scale.getMatchingVisibleMetas('bar');\n let values = [];\n for (let i = 0, ilen = metas.length; i < ilen; i++) {\n values = values.concat(metas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"_\"])(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(scale) {\n const values = getAllScaleValues(scale);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(obj, iAxisKey), i);\n parsed.push(parseValue(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = me.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n const me = this;\n me.enableOptionSharing = true;\n super.initialize();\n const meta = me._cachedMeta;\n meta.stack = me.getDataset().stack;\n }\n update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n me.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = me;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = me._getRuler();\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n for (let i = start; i < start + count; i++) {\n const parsed = me.getParsed(i);\n const vpixels = reset || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(parsed[vScale.axis]) ? {base, head: base} : me._calculateBarValuePixels(i);\n const ipixels = me._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || me.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n setBorderSkipped(properties, properties.options || bars[i].options, stack, index);\n me.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const me = this;\n const meta = me._cachedMeta;\n const iScale = meta.iScale;\n const metasets = iScale.getMatchingVisibleMetas(me._type);\n const stacked = iScale.options.stacked;\n const ilen = metasets.length;\n const stacks = [];\n let i, item;\n for (i = 0; i < ilen; ++i) {\n item = metasets[i];\n if (!item.controller.options.grouped) {\n continue;\n }\n if (typeof dataIndex !== 'undefined') {\n const val = item.controller.getParsed(dataIndex)[\n item.controller._cachedMeta.vScale.axis\n ];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(val) || isNaN(val)) {\n continue;\n }\n }\n if (stacked === false || stacks.indexOf(item.stack) === -1 ||\n\t\t\t\t(stacked === undefined && item.stack === undefined)) {\n stacks.push(item.stack);\n }\n if (item.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const me = this;\n const opts = me.options;\n const meta = me._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(me.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(iScale);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: me._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const me = this;\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = me;\n const actualBase = baseValue || 0;\n const parsed = me.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? me.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(value) !== Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (me.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const me = this;\n const scale = ruler.scale;\n const options = me.options;\n const skipNull = options.skipNull;\n const maxBarThickness = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? me._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = me._getStackIndex(me.index, me._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(me.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const me = this;\n const meta = me._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (me.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(me._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n interaction: {\n mode: 'index'\n },\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = [];\n let i, ilen, item;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n item = data[i];\n parsed.push({\n x: xScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, xAxisKey), i),\n y: yScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, yAxisKey), i),\n _custom: item && item.r && +item.r\n });\n }\n return parsed;\n }\n getMaxOverflow() {\n const {data, _parsed} = this._cachedMeta;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size() / 2, _parsed[i]._custom);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = me.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const me = this;\n const points = me._cachedMeta.data;\n me.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const {iScale, vScale} = me._cachedMeta;\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && me.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = me.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n me.updateElement(point, i, properties, mode);\n }\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"o\"])(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"o\"])(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], startY, endY);\n const minX = calcMin(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"], startX, endX);\n const minY = calcMin(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"] + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = +data[i];\n }\n }\n _getRotation() {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(this.options.rotation - 90);\n }\n _getCircumference() {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(this.options.circumference);\n }\n _getRotationExtents() {\n let min = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n let max = -_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n const me = this;\n for (let i = 0; i < me.chart.data.datasets.length; ++i) {\n if (me.chart.isDatasetVisible(i)) {\n const controller = me.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const me = this;\n const chart = me.chart;\n const {chartArea} = chart;\n const meta = me._cachedMeta;\n const arcs = meta.data;\n const spacing = me.getMaxBorderWidth() + me.getMaxOffset(arcs) + me.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"k\"])(me.options.cutout, maxSize), 1);\n const chartWeight = me._getRingWeight(me.index);\n const {circumference, rotation} = me._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"m\"])(me.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / me._getVisibleDatasetWeightTotal();\n me.offsetX = offsetX * outerRadius;\n me.offsetY = offsetY * outerRadius;\n meta.total = me.calculateTotal();\n me.outerRadius = outerRadius - radiusLength * me._getRingWeightOffset(me.index);\n me.innerRadius = Math.max(me.outerRadius - radiusLength * chartWeight, 0);\n me.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const me = this;\n const opts = me.options;\n const meta = me._cachedMeta;\n const circumference = me._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return me.calculateCircumference(meta._parsed[i] * circumference / _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n }\n updateElements(arcs, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const chart = me.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : me.innerRadius;\n const outerRadius = animateScale ? 0 : me.outerRadius;\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n let startAngle = me._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += me._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = me._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + me.offsetX,\n y: centerY + me.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || me.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n me.updateElement(arc, i, properties, mode);\n }\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const chart = me.chart;\n const labels = chart.data.labels || [];\n const value = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n const me = this;\n let max = 0;\n const chart = me.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n if (controller !== me) {\n controller.configure();\n }\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = me.chart._animationsDisabled;\n let {start, count} = getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n me._drawStart = start;\n me._drawCount = count;\n if (scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._datasetIndex = me.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = me.resolveDatasetElementOptions(mode);\n if (!me.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = me.options.segment;\n me.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n me.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked} = me._cachedMeta;\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const spanGaps = me.options.spanGaps;\n const maxGapLength = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = me.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && me.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = me.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? me.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n properties.parsed = parsed;\n if (includeOptions) {\n properties.options = sharedOptions || me.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n me.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const me = this;\n const meta = me._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(me.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(me.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\nfunction getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Math.min(\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Math.max(\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(_parsed, iScale.axis, max).hi + 1,\n animationsDisabled ? 0 : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, axis, iScale.getPixelForValue(max)).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const chart = me.chart;\n const labels = chart.data.labels || [];\n const value = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _updateRadius() {\n const me = this;\n const chart = me.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n me.outerRadius = outerRadius - (radiusLength * me.index);\n me.innerRadius = me.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const chart = me.chart;\n const dataset = me.getDataset();\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = me._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"];\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / me.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += me._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + me._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(dataset.data[i]) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: me.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n me.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const dataset = this.getDataset();\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(dataset.data[index]) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const me = this;\n const vScale = me._cachedMeta.vScale;\n const parsed = me.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = me.resolveDatasetElementOptions(mode);\n if (!me.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n me.updateElement(line, undefined, properties, mode);\n }\n me.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const me = this;\n const dataset = me.getDataset();\n const scale = me._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = me.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n me.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass ScatterController extends LineController {\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction getRelativePosition(e, chart) {\n if ('native' in e) {\n return {\n x: e.x,\n y: e.y\n };\n }\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"x\"])(e, chart);\n}\nfunction evaluateAllVisibleItems(chart, handler) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n let index, data, element;\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n ({index, data} = metasets[i]);\n for (let j = 0, jlen = data.length; j < jlen; ++j) {\n element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"z\"] : _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"];\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction optimizedEvaluateItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition) {\n const items = [];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(position, chart.chartArea, chart._minPadding)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n optimizedEvaluateItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition) {\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n let items = [];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(position, chart.chartArea, chart._minPadding)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (intersect && !element.inRange(position.x, position.y, useFinalPosition)) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(center, chart.chartArea, chart._minPadding) && !element.inRange(position.x, position.y, useFinalPosition)) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n };\n optimizedEvaluateItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getAxisItems(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const items = [];\n const axis = options.axis;\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateAllVisibleItems(chart, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n intersectsItem = true;\n }\n });\n if (options.intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition)\n : getNearestItems(chart, position, axis, false, useFinalPosition);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition) :\n getNearestItems(chart, position, axis, false, useFinalPosition);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getIntersectItems(chart, position, axis, useFinalPosition);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition);\n },\n x(chart, e, options, useFinalPosition) {\n options.axis = 'x';\n return getAxisItems(chart, e, options, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n options.axis = 'y';\n return getAxisItems(chart, e, options, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('layout', {\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h);\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"E\"])(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"E\"])(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"G\"] ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"x\"])(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n const element = container || canvas;\n const observer = new MutationObserver(entries => {\n const parent = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(element);\n entries.forEach(entry => {\n for (let i = 0; i < entry.addedNodes.length; i++) {\n const added = entry.addedNodes[i];\n if (added === element || added === parent) {\n listener(entry.target);\n }\n }\n });\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n if (!container) {\n return;\n }\n const observer = new MutationObserver(entries => {\n entries.forEach(entry => {\n for (let i = 0; i < entry.removedNodes.length; i++) {\n if (entry.removedNodes[i] === canvas) {\n listener();\n break;\n }\n }\n });\n });\n observer.observe(container, {childList: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n if (!container) {\n return;\n }\n const resize = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"F\"])((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"F\"])((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"C\"])(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"I\"])() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(this.x) && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(this.y);\n }\n getProps(props, final) {\n const me = this;\n const anims = this.$animations;\n if (!final || !anims) {\n return me;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : me[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.ticks', 'color', '', 'color');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.grid', 'color', '', 'borderColor');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.grid', 'borderColor', '', 'borderColor');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.title', 'color', '', 'color');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('scales', {\n _fallback: 'scale',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"K\"])(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(majorStart, 0);\n const end = Math.min(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.font, fallback);\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n const lines = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return Object.assign(Object.create(parent), {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return Object.assign(Object.create(parent), {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Y\"])(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, left, right);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, bottom, top);\n rotation = position === 'left' ? -_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"] : _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"];\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n const me = this;\n me.options = options.setContext(me.getContext());\n me.axis = options.axis;\n me._userMin = me.parse(options.min);\n me._userMax = me.parse(options.max);\n me._suggestedMin = me.parse(options.suggestedMin);\n me._suggestedMax = me.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMin, Number.POSITIVE_INFINITY);\n _userMax = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMin, _suggestedMin),\n max: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMax, _suggestedMax),\n minDefined: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(_userMin),\n maxDefined: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(_userMax)\n };\n }\n getMinMax(canStack) {\n const me = this;\n let {min, max, minDefined, maxDefined} = me.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = me.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(me, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n return {\n min: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(min, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(max, min)),\n max: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(max, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(min, max))\n };\n }\n getPadding() {\n const me = this;\n return {\n left: me.paddingLeft || 0,\n top: me.paddingTop || 0,\n right: me.paddingRight || 0,\n bottom: me.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const me = this;\n const tickOpts = me.options.ticks;\n const sampleSize = tickOpts.sampleSize;\n me.beforeUpdate();\n me.maxWidth = maxWidth;\n me.maxHeight = maxHeight;\n me._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n me.ticks = null;\n me._labelSizes = null;\n me._gridLineItems = null;\n me._labelItems = null;\n me.beforeSetDimensions();\n me.setDimensions();\n me.afterSetDimensions();\n me._maxLength = me.isHorizontal()\n ? me.width + margins.left + margins.right\n : me.height + margins.top + margins.bottom;\n if (!me._dataLimitsCached) {\n me.beforeDataLimits();\n me.determineDataLimits();\n me.afterDataLimits();\n me._range = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"N\"])(me, me.options.grace);\n me._dataLimitsCached = true;\n }\n me.beforeBuildTicks();\n me.ticks = me.buildTicks() || [];\n me.afterBuildTicks();\n const samplingEnabled = sampleSize < me.ticks.length;\n me._convertTicksToLabels(samplingEnabled ? sample(me.ticks, sampleSize) : me.ticks);\n me.configure();\n me.beforeCalculateLabelRotation();\n me.calculateLabelRotation();\n me.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n me.ticks = autoSkip(me, me.ticks);\n me._labelSizes = null;\n }\n if (samplingEnabled) {\n me._convertTicksToLabels(me.ticks);\n }\n me.beforeFit();\n me.fit();\n me.afterFit();\n me.afterUpdate();\n }\n configure() {\n const me = this;\n let reversePixels = me.options.reverse;\n let startPixel, endPixel;\n if (me.isHorizontal()) {\n startPixel = me.left;\n endPixel = me.right;\n } else {\n startPixel = me.top;\n endPixel = me.bottom;\n reversePixels = !reversePixels;\n }\n me._startPixel = startPixel;\n me._endPixel = endPixel;\n me._reversePixels = reversePixels;\n me._length = endPixel - startPixel;\n me._alignToPixels = me.options.alignToPixels;\n }\n afterUpdate() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n const me = this;\n if (me.isHorizontal()) {\n me.width = me.maxWidth;\n me.left = 0;\n me.right = me.width;\n } else {\n me.height = me.maxHeight;\n me.top = 0;\n me.bottom = me.height;\n }\n me.paddingLeft = 0;\n me.paddingTop = 0;\n me.paddingRight = 0;\n me.paddingBottom = 0;\n }\n afterSetDimensions() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n const me = this;\n me.chart.notifyPlugins(name, me.getContext());\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(me.options[name], [me]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const me = this;\n const tickOpts = me.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(tickOpts.callback, [tick.value, i, ticks], me);\n }\n }\n afterTickToLabelConversion() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const me = this;\n const options = me.options;\n const tickOpts = options.ticks;\n const numTicks = me.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!me._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !me.isHorizontal()) {\n me.labelRotation = minRotation;\n return;\n }\n const labelSizes = me._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(me.chart.width - maxLabelWidth, 0, me.maxWidth);\n tickWidth = options.offset ? me.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = me.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, me.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"O\"])(Math.min(\n Math.asin(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n me.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterCalculateLabelRotation, [this]);\n }\n beforeFit() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeFit, [this]);\n }\n fit() {\n const me = this;\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = me;\n const display = me._isVisible();\n const isHorizontal = me.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = me.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = me.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && me.ticks.length) {\n const {first, last, widest, highest} = me._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(me.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n me._calculatePadding(first, last, sin, cos);\n }\n }\n me._handleMargins();\n if (isHorizontal) {\n me.width = me._length = chart.width - me._margins.left - me._margins.right;\n me.height = minSize.height;\n } else {\n me.width = minSize.width;\n me.height = me._length = chart.height - me._margins.top - me._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const me = this;\n const {ticks: {align, padding}, position} = me.options;\n const isRotated = me.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && me.axis === 'x';\n if (me.isHorizontal()) {\n const offsetLeft = me.getPixelForTick(0) - me.left;\n const offsetRight = me.right - me.getPixelForTick(me.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n me.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * me.width / (me.width - offsetLeft), 0);\n me.paddingRight = Math.max((paddingRight - offsetRight + padding) * me.width / (me.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n me.paddingTop = paddingTop + padding;\n me.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n const me = this;\n if (me._margins) {\n me._margins.left = Math.max(me.paddingLeft, me._margins.left);\n me._margins.top = Math.max(me.paddingTop, me._margins.top);\n me._margins.right = Math.max(me.paddingRight, me._margins.right);\n me._margins.bottom = Math.max(me.paddingBottom, me._margins.bottom);\n }\n }\n afterFit() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n const me = this;\n me.beforeTickToLabelConversion();\n me.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n me.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n const me = this;\n let labelSizes = me._labelSizes;\n if (!labelSizes) {\n const sampleSize = me.options.ticks.sampleSize;\n let ticks = me.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n me._labelSizes = labelSizes = me._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(label) && !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label)) {\n width = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Q\"])(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(nestedLabel) && !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(nestedLabel)) {\n width = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Q\"])(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n const me = this;\n if (me._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = me._startPixel + decimal * me._length;\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"R\"])(me._alignToPixels ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(me.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const me = this;\n const ticks = me.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(me.getContext(), index, tick));\n }\n return me.$context ||\n\t\t\t(me.$context = createScaleContext(me.chart.getContext(), me));\n }\n _tickSize() {\n const me = this;\n const optionTicks = me.options.ticks;\n const rot = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = me._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return me.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const me = this;\n const axis = me.axis;\n const chart = me.chart;\n const options = me.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = me.isHorizontal();\n const ticks = me.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(me.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(me.bottom);\n ty1 = me.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(me.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = me.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(me.right);\n tx1 = me.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(me.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = me.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(me.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(me.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(me.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = grid.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(me, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n me._ticksLength = ticksLength;\n me._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const me = this;\n const axis = me.axis;\n const options = me.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = me.isHorizontal();\n const ticks = me.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = me.bottom - hTickAndPadding;\n textAlign = me._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = me.top + hTickAndPadding;\n textAlign = me._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = me._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = me._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = me.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = me._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = me.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = me._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = me._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(me.getContext(i));\n pixel = me.getPixelForTick(i) + optionTicks.labelOffset;\n font = me._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n if (isHorizontal) {\n x = pixel;\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const me = this;\n const {position, ticks} = me.options;\n const rotation = -Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const me = this;\n const {position, ticks: {crossAlign, mirror, padding}} = me.options;\n const labelSizes = me._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n textAlign = 'left';\n x = me.right + padding;\n } else {\n x = me.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = me.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n textAlign = 'right';\n x = me.left + padding;\n } else {\n x = me.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = me.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n const me = this;\n if (me.options.ticks.mirror) {\n return;\n }\n const chart = me.chart;\n const position = me.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: me.left, bottom: chart.height, right: me.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: me.top, left: 0, bottom: me.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const me = this;\n const grid = me.options.grid;\n if (!me._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = me.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(me.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const me = this;\n const grid = me.options.grid;\n const ctx = me.ctx;\n const items = me._gridLineItems || (me._gridLineItems = me._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const me = this;\n const {chart, ctx, options: {grid}} = me;\n const borderOpts = grid.setContext(me.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(me.getContext(0)).lineWidth;\n const borderValue = me._borderValue;\n let x1, x2, y1, y2;\n if (me.isHorizontal()) {\n x1 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.left, axisWidth) - axisWidth / 2;\n x2 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.top, axisWidth) - axisWidth / 2;\n y2 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const me = this;\n const optionTicks = me.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = me.ctx;\n const area = me._computeLabelArea();\n if (area) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, area);\n }\n const items = me._labelItems || (me._labelItems = me._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(title.font);\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n offset += padding.bottom;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n const me = this;\n if (!me._isVisible()) {\n return;\n }\n me.drawBackground();\n me.drawGrid(chartArea);\n me.drawBorder();\n me.drawTitle();\n me.drawLabels(chartArea);\n }\n _layers() {\n const me = this;\n const opts = me.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(opts.grid && opts.grid.z, -1);\n if (!me._isVisible() || me.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw(chartArea) {\n me.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw(chartArea) {\n me.drawBackground();\n me.drawGrid(chartArea);\n me.drawTitle();\n }\n }, {\n z: gz + 1,\n draw() {\n me.drawBorder();\n }\n }, {\n z: tz,\n draw(chartArea) {\n me.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const me = this;\n const metas = me.chart.getSortedVisibleDatasetMetas();\n const axisID = me.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === me.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font);\n }\n _maxDigits() {\n const me = this;\n const fontSize = me._resolveTickFontOptions(0).lineHeight;\n return (me.isHorizontal() ? me.width : me.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const me = this;\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = me.register(proto);\n }\n const items = me.items;\n const id = item.id;\n const scope = me.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (me.override) {\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"][scope]) {\n delete _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"][scope][id];\n if (this.override) {\n delete _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a0\"])(Object.create(null), [\n parentScope ? _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].get(parentScope) : {},\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].get(scope),\n item.defaults\n ]);\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n const me = this;\n [...args].forEach(arg => {\n const reg = typedRegistry || me._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === me.plugins && arg.id)) {\n me._exec(method, reg, arg);\n } else {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(arg, item => {\n const itemReg = typedRegistry || me._getRegistryForType(item);\n me._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a1\"])(method);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(component['before' + camelMethod], [], component);\n registry[method](component);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n const me = this;\n if (hook === 'beforeInit') {\n me._init = me._createDescriptors(chart, true);\n me._notify(me._init, chart, 'install');\n }\n const descriptors = filter ? me._descriptors(chart).filter(filter) : me._descriptors(chart);\n const result = me._notify(descriptors, chart, hook, args);\n if (hook === 'destroy') {\n me._notify(descriptors, chart, 'stop');\n me._notify(me._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n }\n }\n return plugins;\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, plugins, options, all) {\n const result = [];\n const context = chart.getContext();\n for (let i = 0; i < plugins.length; i++) {\n const plugin = plugins[i];\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, plugin, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, plugin, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n return config.createResolver(scopes, context, [''], {scriptable: false, indexable: false, allKeys: true});\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(scale, [_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].scales[scale.type], _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][type] || {}, key));\n keys.forEach(key => addIfFound(scopes, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"], key));\n keys.forEach(key => addIfFound(scopes, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a2\"], key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][type] || {},\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].datasets[type] || {},\n {type},\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"],\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a2\"]\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a3\"])(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a4\"])(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(context)\n ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a4\"])(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a5\"])(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a6\"])(proxy);\n for (const prop of names) {\n if ((isScriptable(prop) && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a3\"])(proxy[prop]))\n || (isIndexable(prop) && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(proxy[prop]))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.5.0\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"I\"])() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nclass Chart {\n constructor(item, userConfig) {\n const me = this;\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), me.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n const context = me.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a8\"])();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this.scale = undefined;\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a9\"])(() => this.update('resize'), options.resizeDelay || 0);\n instances[me.id] = me;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(me, 'complete', onAnimationsComplete);\n animator.listen(me, 'progress', onAnimationProgress);\n me._initialize();\n if (me.attached) {\n me.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n const me = this;\n me.notifyPlugins('beforeInit');\n if (me.options.responsive) {\n me.resize();\n } else {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aa\"])(me, me.options.devicePixelRatio);\n }\n me.bindEvents();\n me.notifyPlugins('afterInit');\n return me;\n }\n clear() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ab\"])(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const me = this;\n const options = me.options;\n const canvas = me.canvas;\n const aspectRatio = options.maintainAspectRatio && me.aspectRatio;\n const newSize = me.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || me.platform.getDevicePixelRatio();\n me.width = newSize.width;\n me.height = newSize.height;\n me._aspectRatio = me.aspectRatio;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aa\"])(me, newRatio, true)) {\n return;\n }\n me.notifyPlugins('resize', {size: newSize});\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(options.onResize, [me, newSize], me);\n if (me.attached) {\n if (me._doResize()) {\n me.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const me = this;\n const options = me.options;\n const scaleOpts = options.scales;\n const scales = me.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: me.ctx,\n chart: me\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(scales, (scale) => {\n layouts.configure(me, scale, scale.options);\n layouts.addBox(me, scale);\n });\n }\n _updateMetasets() {\n const me = this;\n const metasets = me._metasets;\n const numData = me.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n me._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n me._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const me = this;\n const {_metasets: metasets, data: {datasets}} = me;\n if (metasets.length > datasets.length) {\n delete me._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n me._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const me = this;\n const newControllers = [];\n const datasets = me.data.datasets;\n let i, ilen;\n me._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = me.getDatasetMeta(i);\n const type = dataset.type || me.config.type;\n if (meta.type && meta.type !== type) {\n me._destroyDatasetMeta(i);\n meta = me.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, me.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = me.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(me, i);\n newControllers.push(meta.controller);\n }\n }\n me._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n const me = this;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.data.datasets, (dataset, datasetIndex) => {\n me.getDatasetMeta(datasetIndex).controller.reset();\n }, me);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const me = this;\n const config = me.config;\n config.update();\n me._options = config.createResolver(config.chartOptionScopes(), me.getContext());\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.scales, (scale) => {\n layouts.removeBox(me, scale);\n });\n const animsDisabled = me._animationsDisabled = !me.options.animation;\n me.ensureScalesHaveIDs();\n me.buildOrUpdateScales();\n const existingEvents = new Set(Object.keys(me._listeners));\n const newEvents = new Set(me.options.events);\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ac\"])(existingEvents, newEvents) || !!this._responsiveListeners !== me.options.responsive) {\n me.unbindEvents();\n me.bindEvents();\n }\n me._plugins.invalidate();\n if (me.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = me.buildOrUpdateControllers();\n me.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = me.data.datasets.length; i < ilen; i++) {\n const {controller} = me.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n me._minPadding = minPadding;\n me._updateLayout(minPadding);\n if (!animsDisabled) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(newControllers, (controller) => {\n controller.reset();\n });\n }\n me._updateDatasets(mode);\n me.notifyPlugins('afterUpdate', {mode});\n me._layers.sort(compare2Level('z', '_idx'));\n if (me._lastEvent) {\n me._eventHandler(me._lastEvent, true);\n }\n me.render();\n }\n _updateLayout(minPadding) {\n const me = this;\n if (me.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(me, me.width, me.height, minPadding);\n const area = me.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n me._layers = [];\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n me._layers.push(...box._layers());\n }, me);\n me._layers.forEach((item, index) => {\n item._idx = index;\n });\n me.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n const me = this;\n const isFunction = typeof mode === 'function';\n if (me.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n me._updateDataset(i, isFunction ? mode({datasetIndex: i}) : mode);\n }\n me.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const me = this;\n const meta = me.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (me.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n me.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n const me = this;\n if (me.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(me)) {\n if (me.attached && !animator.running(me)) {\n animator.start(me);\n }\n } else {\n me.draw();\n onAnimationsComplete({chart: me});\n }\n }\n draw() {\n const me = this;\n let i;\n if (me._resizeBeforeDraw) {\n const {width, height} = me._resizeBeforeDraw;\n me._resize(width, height);\n me._resizeBeforeDraw = null;\n }\n me.clear();\n if (me.width <= 0 || me.height <= 0) {\n return;\n }\n if (me.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = me._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(me.chartArea);\n }\n me._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(me.chartArea);\n }\n me.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const me = this;\n const metasets = me._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n const me = this;\n if (me.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = me.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n me._drawDataset(metasets[i]);\n }\n me.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const me = this;\n const ctx = me.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = me.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (me.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? me.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? me.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n args.cancelable = false;\n me.notifyPlugins('afterDatasetDraw', args);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const me = this;\n const dataset = me.data.datasets[datasetIndex];\n const metasets = me._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = {chart: this, type: 'chart'});\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const me = this;\n const mode = visible ? 'show' : 'hide';\n const meta = me.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n me.update();\n } else {\n me.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n me.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const me = this;\n const meta = me._metasets && me._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n delete me._metasets[datasetIndex];\n }\n }\n destroy() {\n const me = this;\n const {canvas, ctx} = me;\n let i, ilen;\n me.stop();\n animator.remove(me);\n for (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n me._destroyDatasetMeta(i);\n }\n me.config.clearCache();\n if (canvas) {\n me.unbindEvents();\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ab\"])(canvas, ctx);\n me.platform.releaseContext(ctx);\n me.canvas = null;\n me.ctx = null;\n }\n me.notifyPlugins('destroy');\n delete instances[me.id];\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const me = this;\n const listeners = me._listeners;\n const platform = me.platform;\n const _add = (type, listener) => {\n platform.addEventListener(me, type, listener);\n listeners[type] = listener;\n };\n const listener = function(e, x, y) {\n e.offsetX = x;\n e.offsetY = y;\n me._eventHandler(e);\n };\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n const me = this;\n if (!me._responsiveListeners) {\n me._responsiveListeners = {};\n }\n const listeners = me._responsiveListeners;\n const platform = me.platform;\n const _add = (type, listener) => {\n platform.addEventListener(me, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(me, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (me.canvas) {\n me.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n me.attached = true;\n me.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n me.attached = false;\n _remove('resize', listener);\n _add('attach', attached);\n };\n if (platform.isAttached(me.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n const me = this;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me._listeners, (listener, type) => {\n me.platform.removeEventListener(me, type, listener);\n });\n me._listeners = {};\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me._responsiveListeners, (listener, type) => {\n me.platform.removeEventListener(me, type, listener);\n });\n me._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const me = this;\n const lastActive = me._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = me.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(active, lastActive);\n if (changed) {\n me._active = active;\n me._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const me = this;\n const hoverOptions = me.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n me.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n me.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const me = this;\n const args = {event: e, replay, cancelable: true};\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.type);\n if (me.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = me._handleEvent(e, replay);\n args.cancelable = false;\n me.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n me.render();\n }\n return me;\n }\n _handleEvent(e, replay) {\n const me = this;\n const {_active: lastActive = [], options} = me;\n const hoverOptions = options.hover;\n const useFinalPosition = replay;\n let active = [];\n let changed = false;\n let lastEvent = null;\n if (e.type !== 'mouseout') {\n active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n lastEvent = e.type === 'click' ? me._lastEvent : e;\n }\n me._lastEvent = null;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(e, me.chartArea, me._minPadding)) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(options.onHover, [e, active, me], me);\n if (e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu') {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(options.onClick, [e, active, me], me);\n }\n }\n changed = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(active, lastActive);\n if (changed || replay) {\n me._active = active;\n me._updateHoverStyles(active, lastActive, replay);\n }\n me._lastEvent = lastEvent;\n return changed;\n }\n}\nconst invalidatePlugins = () => Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"]\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"]\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], startAngle - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"]);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"af\"])(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(o.innerStart, 0, innerLimit),\n innerEnd: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"]) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"]);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"]);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], outerStartAdjustedAngle);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n if (circumference % _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] === 0) {\n endAngle += _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"], startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle) {\n const {options} = element;\n const inner = options.borderAlign === 'inner';\n if (!options.borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = options.borderWidth * 2;\n ctx.lineJoin = 'round';\n } else {\n ctx.lineWidth = options.borderWidth;\n ctx.lineJoin = 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ae\"])(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const betweenAngles = circumference >= _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"o\"])(angle, startAngle, endAngle);\n const withinRadius = (distance >= innerRadius + rAdjust && distance <= outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const me = this;\n const {options, circumference} = me;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n me.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n me.fullCircles = circumference > _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] ? Math.floor(circumference / _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]) : 0;\n if (circumference === 0 || me.innerRadius < 0 || me.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (me.startAngle + me.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (me.circumference >= _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"]) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, me, radiusOffset, spacing);\n drawBorder(ctx, me, radiusOffset, spacing, endAngle);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderDash, options.borderDash));\n ctx.lineDashOffset = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"am\"];\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"an\"];\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aj\"];\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ak\"];\n }\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"al\"];\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && line.segments.length === 1) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const me = this;\n const options = me.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !me._pointsUpdated) {\n const loop = options.spanGaps ? me._loop : me._fullLoop;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ag\"])(me._points, options, chartArea, loop, indexAxis);\n me._pointsUpdated = true;\n }\n }\n set points(points) {\n const me = this;\n me._points = points;\n delete me._segments;\n delete me._path;\n me._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ah\"])(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const me = this;\n const options = me.options;\n const value = point[property];\n const points = me.points;\n const segments = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ai\"])(me, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const me = this;\n const segments = me.segments;\n const segmentMethod = _getSegmentMethod(me);\n let loop = me._loop;\n start = start || 0;\n count = count || (me.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, me, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const me = this;\n const options = me.options || {};\n const points = me.points || [];\n if (!points.length || !options.borderWidth) {\n return;\n }\n ctx.save();\n draw(ctx, me, start, count);\n ctx.restore();\n if (me.animated) {\n me._pointsUpdated = false;\n me._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const me = this;\n const options = me.options;\n if (me.skip || options.radius < 0.1 || !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(me, area, me.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, options, me.x, me.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aq\"])(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ar\"])(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const options = this.options;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"] : addNormalRectPath;\n const inflateAmount = 0.33;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = options.borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount, outer));\n ctx.fillStyle = options.backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n enableBorderRadius: true,\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(minIndex) && !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (meta.type !== 'line') {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\nfunction decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(target) && Math.floor(target) === target) {\n if (fill[0] === '-' || fill[0] === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n let target = null;\n let horizontal;\n if (fill === 'start') {\n target = scale.bottom;\n } else if (fill === 'end') {\n target = scale.top;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(fill)) {\n target = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n target = scale.getBasePixel();\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(target)) {\n horizontal = scale.isHorizontal();\n return {\n x: horizontal ? target : null,\n y: horizontal ? null : target\n };\n }\n return null;\n}\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const target = [];\n const start = options.reverse ? scale.max : scale.min;\n const end = options.reverse ? scale.min : scale.max;\n let i, center, value;\n if (fill === 'start') {\n value = start;\n } else if (fill === 'end') {\n value = end;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n if (options.grid.circular) {\n center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction buildStackLine(source) {\n const {chart, scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(chart, index);\n linesBelow.push(createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nconst isLineAndNotInHideAnimation = (meta) => meta.type === 'line' && !meta.hidden;\nfunction getLinesBelow(chart, index) {\n const below = [];\n const metas = chart.getSortedVisibleDatasetMetas();\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (isLineAndNotInHideAnimation(meta)) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (pointValue >= firstValue && pointValue <= lastValue) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\nfunction getTarget(source) {\n const {chart, fill, line} = source;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return createBoundaryLine(boundary, line);\n}\nfunction createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _clip(ctx, target, clipY) {\n ctx.beginPath();\n target.path(ctx);\n ctx.lineTo(target.last().x, clipY);\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"at\"])(start);\n end = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"at\"])(end);\n }\n return {property, start, end};\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = findSegmentEnd(start, end, points);\n const bounds = getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ai\"])(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"as\"])(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\nfunction _fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n _clip(ctx, target, area.top);\n _fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n _clip(ctx, target, area.bottom);\n }\n _fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction drawfill(ctx, source, area) {\n const target = getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n}\nvar plugin_filler = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw) {\n drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (source) {\n drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!source || source.fill === false || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n const me = this;\n me.maxWidth = maxWidth;\n me.maxHeight = maxHeight;\n me._margins = margins;\n me.setDimensions();\n me.buildLabels();\n me.fit();\n }\n setDimensions() {\n const me = this;\n if (me.isHorizontal()) {\n me.width = me.maxWidth;\n me.left = me._margins.left;\n me.right = me.width;\n } else {\n me.height = me.maxHeight;\n me.top = me._margins.top;\n me.bottom = me.height;\n }\n }\n buildLabels() {\n const me = this;\n const labelOpts = me.options.labels || {};\n let legendItems = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(labelOpts.generateLabels, [me.chart], me) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, me.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, me.chart.data));\n }\n if (me.options.reverse) {\n legendItems.reverse();\n }\n me.legendItems = legendItems;\n }\n fit() {\n const me = this;\n const {options, ctx} = me;\n if (!options.display) {\n me.width = me.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = me._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (me.isHorizontal()) {\n width = me.maxWidth;\n height = me._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = me.maxHeight;\n width = me._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n me.width = Math.min(width, options.maxWidth || me.maxWidth);\n me.height = Math.min(height, options.maxHeight || me.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const me = this;\n const {ctx, maxWidth, options: {labels: {padding}}} = me;\n const hitboxes = me.legendHitBoxes = [];\n const lineWidths = me.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n me.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const me = this;\n const {ctx, maxHeight, options: {labels: {padding}}} = me;\n const hitboxes = me.legendHitBoxes = [];\n const columnSizes = me.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n me.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n const me = this;\n if (!me.options.display) {\n return;\n }\n const titleHeight = me._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = me;\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(rtl, me.left, me.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - me.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - me.lineWidths[row]);\n }\n hitbox.top += me.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - me.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - me.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += me.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n const me = this;\n if (me.options.display) {\n const ctx = me.ctx;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, me);\n me._draw();\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n }\n _draw() {\n const me = this;\n const {options: opts, columnSizes, lineWidths, ctx} = me;\n const {align, labels: labelOpts} = opts;\n const defaultColor = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].color;\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(opts.rtl, me.left, me.width);\n const labelFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n me.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineWidth, 1);\n ctx.fillStyle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.fillStyle, defaultColor);\n ctx.lineCap = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineDashOffset, 0);\n ctx.lineJoin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxWidth * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, drawOptions, centerX, centerY);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ar\"])(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"])(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = me.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - lineWidths[0]),\n y: me.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: me.left + padding,\n y: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - columnSizes[0].height),\n line: 0\n };\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"av\"])(me.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n me.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(me.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > me.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > me.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aw\"])(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : me.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ax\"])(me.ctx, opts.textDirection);\n }\n drawTitle() {\n const me = this;\n const opts = me.options;\n const titleOpts = opts.title;\n const titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(titleOpts.font);\n const titlePadding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(opts.rtl, me.left, me.width);\n const ctx = me.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = me.left;\n let maxWidth = me.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...me.lineWidths);\n y = me.top + topPaddingPlusHalfFontSize;\n left = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(opts.align, left, me.right - maxWidth);\n } else {\n const maxHeight = me.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(opts.align, me.top, me.bottom - maxHeight - opts.labels.padding - me._computeTitleHeight());\n }\n const x = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Y\"])(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(titleOpts.font);\n const titlePadding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n const me = this;\n let i, hitBox, lh;\n if (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\n lh = me.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\n return me.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const me = this;\n const opts = me.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = me._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove') {\n const previous = me._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(opts.onLeave, [e, previous, me], me);\n }\n me._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(opts.onHover, [e, hoveredItem, me], me);\n }\n } else if (hoveredItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(opts.onClick, [e, hoveredItem, me], me);\n }\n }\n}\nfunction isListened(type, opts) {\n if (type === 'mousemove' && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const me = this;\n const opts = me.options;\n me.left = 0;\n me.top = 0;\n if (!opts.display) {\n me.width = me.height = me.right = me.bottom = 0;\n return;\n }\n me.width = me.right = maxWidth;\n me.height = me.bottom = maxHeight;\n const lineCount = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(opts.text) ? opts.text.length : 1;\n me._padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(opts.padding);\n const textSize = lineCount * Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font).lineHeight + me._padding.height;\n if (me.isHorizontal()) {\n me.height = textSize;\n } else {\n me.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, bottom, top);\n rotation = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"] * -0.5;\n } else {\n titleX = right - offset;\n titleY = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, top, bottom);\n rotation = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"] * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const me = this;\n const ctx = me.ctx;\n const opts = me.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + me._padding.top;\n const {titleX, titleY, maxWidth, rotation} = me._drawArgs(offset);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Y\"])(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"az\"])(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip._chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.bodyFont);\n const titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.titleFont);\n const footerFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2) : 0;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(body, (bodyItem) => {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.before, maxLineWidth);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.lines, maxLineWidth);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const radiusAndPadding = cornerRadius + caretPadding;\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= radiusAndPadding;\n } else if (xAlign === 'right') {\n x += radiusAndPadding;\n }\n return {\n x: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(x, 0, chart.width - size.width),\n y: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return Object.assign(Object.create(parent), {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._chart = config._chart;\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const me = this;\n const cached = me._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = me._chart;\n const options = me.options.setContext(me.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(me._chart, opts);\n if (opts._cacheable) {\n me._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n const me = this;\n return me.$context ||\n\t\t\t(me.$context = createTooltipContext(me._chart.getContext(), me, me._tooltipItems));\n }\n getTitle(context, options) {\n const me = this;\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(me, [context]);\n const title = callbacks.title.apply(me, [context]);\n const afterTitle = callbacks.afterTitle.apply(me, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const me = this;\n const {callbacks} = options;\n const bodyItems = [];\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(me, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(me, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(me, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const me = this;\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(me, [tooltipItems]);\n const footer = callbacks.footer.apply(me, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(me, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const me = this;\n const active = me._active;\n const data = me._chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(me._chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(me, context));\n labelPointStyles.push(scoped.labelPointStyle.call(me, context));\n labelTextColors.push(scoped.labelTextColor.call(me, context));\n });\n me.labelColors = labelColors;\n me.labelPointStyles = labelPointStyles;\n me.labelTextColors = labelTextColors;\n me.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const me = this;\n const options = me.options.setContext(me.getContext());\n const active = me._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (me.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(me, active, me._eventPosition);\n tooltipItems = me._createItems(options);\n me.title = me.getTitle(tooltipItems, options);\n me.beforeBody = me.getBeforeBody(tooltipItems, options);\n me.body = me.getBody(tooltipItems, options);\n me.afterBody = me.getAfterBody(tooltipItems, options);\n me.footer = me.getFooter(tooltipItems, options);\n const size = me._size = getTooltipSize(me, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(me._chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, me._chart);\n me.xAlign = alignment.xAlign;\n me.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n me._tooltipItems = tooltipItems;\n me.$context = undefined;\n if (properties) {\n me._resolveAnimations().update(me, properties);\n }\n if (changed && options.external) {\n options.external.call(me, {chart: me._chart, tooltip: me, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {cornerRadius, caretSize} = options;\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + cornerRadius + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - cornerRadius - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const me = this;\n const title = me.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(options.rtl, me.x, me.width);\n pt.x = getAlignedX(me, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const me = this;\n const labelColors = me.labelColors[i];\n const labelPointStyle = me.labelPointStyles[i];\n const {boxHeight, boxWidth} = options;\n const bodyFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.bodyFont);\n const colorX = getAlignedX(me, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = labelColors.borderWidth || 1;\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ar\"])(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"])(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"])(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = me.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const me = this;\n const {body} = me;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth} = options;\n const bodyFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(options.rtl, me.x, me.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(me, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + 1) : (boxWidth + 2)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = me.labelTextColors[i];\n ctx.fillStyle = textColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n me._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const me = this;\n const footer = me.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(options.rtl, me.x, me.width);\n pt.x = getAlignedX(me, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const radius = options.cornerRadius;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + radius, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const me = this;\n const chart = me._chart;\n const anims = me.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(me, me._active, me._eventPosition);\n if (!position) {\n return;\n }\n const size = me._size = getTooltipSize(me, options);\n const positionAndSize = Object.assign({}, position, me._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n me.xAlign = alignment.xAlign;\n me.yAlign = alignment.yAlign;\n me.width = size.width;\n me.height = size.height;\n me.caretX = position.x;\n me.caretY = position.y;\n me._resolveAnimations().update(me, point);\n }\n }\n }\n draw(ctx) {\n const me = this;\n const options = me.options.setContext(me.getContext());\n let opacity = me.opacity;\n if (!opacity) {\n return;\n }\n me._updateAnimationTarget(options);\n const tooltipSize = {\n width: me.width,\n height: me.height\n };\n const pt = {\n x: me.x,\n y: me.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n const hasTooltipContent = me.title.length || me.beforeBody.length || me.body.length || me.afterBody.length || me.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n me.drawBackground(pt, ctx, tooltipSize, options);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"av\"])(ctx, options.textDirection);\n pt.y += padding.top;\n me.drawTitle(pt, ctx, options);\n me.drawBody(pt, ctx, options);\n me.drawFooter(pt, ctx, options);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ax\"])(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const me = this;\n const lastActive = me._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = me._chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(lastActive, active);\n const positionChanged = me._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n me._active = active;\n me._eventPosition = eventPosition;\n me.update(true);\n }\n }\n handleEvent(e, replay) {\n const me = this;\n const options = me.options;\n const lastActive = me._active || [];\n let changed = false;\n let active = [];\n if (e.type !== 'mouseout') {\n active = me._chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n }\n const positionChanged = me._positionChanged(active, e);\n changed = replay || !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(active, lastActive) || positionChanged;\n if (changed) {\n me._active = active;\n if (options.enabled || options.external) {\n me._eventPosition = {\n x: e.x,\n y: e.y\n };\n me.update(true, replay);\n }\n }\n return changed;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({_chart: chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n if (tooltip) {\n tooltip.draw(chart.ctx);\n }\n chart.notifyPlugins('afterTooltipDraw', args);\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n beforeBody: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n beforeLabel: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n afterBody: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n beforeFooter: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n footer: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n afterFooter: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"]\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: plugin_filler,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index) => typeof raw === 'string'\n ? labels.push(raw) - 1\n : isNaN(raw) ? null : index;\nfunction findOrAddLabel(labels, raw, index) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(index, raw));\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const me = this;\n const {minDefined, maxDefined} = me.getUserBounds();\n let {min, max} = me.getMinMax(true);\n if (me.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = me.getLabels().length - 1;\n }\n }\n me.min = min;\n me.max = max;\n }\n buildTicks() {\n const me = this;\n const min = me.min;\n const max = me.max;\n const offset = me.options.offset;\n const ticks = [];\n let labels = me.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n me._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n me._startValue = me.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const me = this;\n const labels = me.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n const me = this;\n super.configure();\n if (!me.isHorizontal()) {\n me._reversePixels = !me._reversePixels;\n }\n }\n getPixelForValue(value) {\n const me = this;\n if (typeof value !== 'number') {\n value = me.parse(value);\n }\n return value === null ? NaN : me.getPixelForDecimal((value - me._startValue) / me._valueRange);\n }\n getPixelForTick(index) {\n const me = this;\n const ticks = me.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return me.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n const me = this;\n return Math.round(me._startValue + me.getDecimalForPixel(pixel) * me._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(min);\n const maxDefined = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(max);\n const countDefined = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aB\"])((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aB\"])(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aC\"])((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aD\"])(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aE\"])(spacing),\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aE\"])(niceMin)\n );\n factor = Math.pow(10, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aD\"])(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aD\"])(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const me = this;\n const {beginAtZero} = me.options;\n const {minDefined, maxDefined} = me.getUserBounds();\n let {min, max} = me;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(min);\n const maxSign = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n me.min = min;\n me.max = max;\n }\n getTickLimit() {\n const me = this;\n const tickOpts = me.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(me.max / stepSize) - Math.floor(me.min / stepSize) + 1;\n } else {\n maxTicks = me.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const me = this;\n const opts = me.options;\n const tickOpts = opts.ticks;\n let maxTicks = me.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: me._maxDigits(),\n horizontal: me.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = me._range || me;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aA\"])(ticks, me, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n me.start = me.max;\n me.end = me.min;\n } else {\n me.start = me.min;\n me.end = me.max;\n }\n return ticks;\n }\n configure() {\n const me = this;\n const ticks = me.ticks;\n let start = me.min;\n let end = me.max;\n super.configure();\n if (me.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n me._startValue = start;\n me._endValue = end;\n me._valueRange = end - start;\n }\n getLabelForValue(value) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(value, this.chart.options.locale);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const me = this;\n const {min, max} = me.getMinMax(true);\n me.min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) ? min : 0;\n me.max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) ? max : 1;\n me.handleTickRangeOptions();\n }\n computeTickLimit() {\n const me = this;\n const horizontal = me.isHorizontal();\n const length = horizontal ? me.width : me.height;\n const minRotation = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = me._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(generationOptions.min, Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(dataRange.min))));\n let exp = Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const me = this;\n const {min, max} = me.getMinMax(true);\n me.min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) ? Math.max(0, min) : null;\n me.max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) ? Math.max(0, max) : null;\n if (me.options.beginAtZero) {\n me._zero = true;\n }\n me.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const me = this;\n const {minDefined, maxDefined} = me.getUserBounds();\n let min = me.min;\n let max = me.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (me._zero && me.min !== me._suggestedMin && min === exp(me.min, 0)) {\n setMin(exp(min, -1));\n }\n me.min = min;\n me.max = max;\n }\n buildTicks() {\n const me = this;\n const opts = me.options;\n const generationOptions = {\n min: me._userMin,\n max: me._userMax\n };\n const ticks = generateTicks(generationOptions, me);\n if (opts.bounds === 'ticks') {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aA\"])(ticks, me, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n me.start = me.max;\n me.end = me.min;\n } else {\n me.start = me.min;\n me.end = me.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(value, this.chart.options.locale);\n }\n configure() {\n const me = this;\n const start = me.min;\n super.configure();\n me._startValue = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(start);\n me._valueRange = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(me.max) - Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(start);\n }\n getPixelForValue(value) {\n const me = this;\n if (value === undefined || value === 0) {\n value = me.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return me.getPixelForDecimal(value === me.min\n ? 0\n : (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(value) - me._startValue) / me._valueRange);\n }\n getValueForPixel(pixel) {\n const me = this;\n const decimal = me.getDecimalForPixel(pixel);\n return Math.pow(10, me._startValue + decimal * me._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(tickOpts.backdropPadding);\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(tickOpts.font && tickOpts.font.size, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label) ? label : [label];\n return {\n w: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aF\"])(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const furthestLimits = {\n l: 0,\n r: scale.width,\n t: 0,\n b: scale.height - scale.paddingTop\n };\n const furthestAngles = {};\n const labelSizes = [];\n const padding = [];\n const valueCount = scale.getLabels().length;\n for (let i = 0; i < valueCount; i++) {\n const opts = scale.options.pointLabels.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i]);\n const plFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = scale.getIndexAngle(i);\n const angle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"O\"])(angleRadians);\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n if (hLimits.start < furthestLimits.l) {\n furthestLimits.l = hLimits.start;\n furthestAngles.l = angleRadians;\n }\n if (hLimits.end > furthestLimits.r) {\n furthestLimits.r = hLimits.end;\n furthestAngles.r = angleRadians;\n }\n if (vLimits.start < furthestLimits.t) {\n furthestLimits.t = vLimits.start;\n furthestAngles.t = angleRadians;\n }\n if (vLimits.end > furthestLimits.b) {\n furthestLimits.b = vLimits.end;\n furthestAngles.b = angleRadians;\n }\n }\n scale._setReductions(scale.drawingArea, furthestLimits, furthestAngles);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale.getLabels().length;\n const opts = scale.options;\n const tickBackdropHeight = getTickBackdropHeight(opts);\n const outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\n for (let i = 0; i < valueCount; i++) {\n const extra = (i === 0 ? tickBackdropHeight / 2 : 0);\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i]);\n const angle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"O\"])(scale.getIndexAngle(i));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(backdropColor)) {\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n ctx.fillRect(left - padding.left, top - padding.top, right - left + padding.width, bottom - top + padding.height);\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction numberOrZero(param) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(param) ? param : 0;\n}\nfunction createPointLabelContext(parent, index, label) {\n return Object.assign(Object.create(parent), {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const me = this;\n me.width = me.maxWidth;\n me.height = me.maxHeight;\n me.paddingTop = getTickBackdropHeight(me.options) / 2;\n me.xCenter = Math.floor(me.width / 2);\n me.yCenter = Math.floor((me.height - me.paddingTop) / 2);\n me.drawingArea = Math.min(me.height - me.paddingTop, me.width) / 2;\n }\n determineDataLimits() {\n const me = this;\n const {min, max} = me.getMinMax(false);\n me.min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) && !isNaN(min) ? min : 0;\n me.max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) && !isNaN(max) ? max : 0;\n me.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n const me = this;\n LinearScaleBase.prototype.generateTickLabels.call(me, ticks);\n me._pointLabels = me.getLabels().map((value, index) => {\n const label = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(me.options.pointLabels.callback, [value, index], me);\n return label || label === 0 ? label : '';\n });\n }\n fit() {\n const me = this;\n const opts = me.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(me);\n } else {\n me.setCenterPoint(0, 0, 0, 0);\n }\n }\n _setReductions(largestPossibleRadius, furthestLimits, furthestAngles) {\n const me = this;\n let radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\n let radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\n let radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\n let radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);\n radiusReductionLeft = numberOrZero(radiusReductionLeft);\n radiusReductionRight = numberOrZero(radiusReductionRight);\n radiusReductionTop = numberOrZero(radiusReductionTop);\n radiusReductionBottom = numberOrZero(radiusReductionBottom);\n me.drawingArea = Math.max(largestPossibleRadius / 2, Math.min(\n Math.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\n Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2)));\n me.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n const me = this;\n const maxRight = me.width - rightMovement - me.drawingArea;\n const maxLeft = leftMovement + me.drawingArea;\n const maxTop = topMovement + me.drawingArea;\n const maxBottom = (me.height - me.paddingTop) - bottomMovement - me.drawingArea;\n me.xCenter = Math.floor(((maxLeft + maxRight) / 2) + me.left);\n me.yCenter = Math.floor(((maxTop + maxBottom) / 2) + me.top + me.paddingTop);\n }\n getIndexAngle(index) {\n const angleMultiplier = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] / this.getLabels().length;\n const startAngle = this.options.startAngle || 0;\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"at\"])(index * angleMultiplier + Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n const me = this;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(value)) {\n return NaN;\n }\n const scalingFactor = me.drawingArea / (me.max - me.min);\n if (me.options.reverse) {\n return (me.max - value) * scalingFactor;\n }\n return (value - me.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(distance)) {\n return NaN;\n }\n const me = this;\n const scaledDistance = distance / (me.drawingArea / (me.max - me.min));\n return me.options.reverse ? me.max - scaledDistance : me.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const me = this;\n const pointLabels = me._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(me.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter) {\n const me = this;\n const angle = me.getIndexAngle(index) - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"];\n return {\n x: Math.cos(angle) * distanceFromCenter + me.xCenter,\n y: Math.sin(angle) * distanceFromCenter + me.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const me = this;\n const {backgroundColor, grid: {circular}} = me.options;\n if (backgroundColor) {\n const ctx = me.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(me, me.getDistanceFromCenterForValue(me._endValue), circular, me.getLabels().length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const me = this;\n const ctx = me.ctx;\n const opts = me.options;\n const {angleLines, grid} = opts;\n const labelCount = me.getLabels().length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(me, labelCount);\n }\n if (grid.display) {\n me.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = me.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(me.getContext(index - 1));\n drawRadiusLine(me, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = me.getLabels().length - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(me.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = me.getDistanceFromCenterForValue(opts.ticks.reverse ? me.min : me.max);\n position = me.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(me.xCenter, me.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const me = this;\n const ctx = me.ctx;\n const opts = me.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = me.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(me.xCenter, me.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n me.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(me.getContext(index));\n const tickFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(optsAtIndex.font);\n offset = me.getDistanceFromCenterForValue(me.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aH\"])(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const me = this;\n const options = me.options;\n const adapter = me._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = me.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(me._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(me.getMinMax(false));\n }\n }\n min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n me.min = Math.min(min, max - 1);\n me.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const me = this;\n const options = me.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? me.getLabelTimestamps() : me._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n me.min = me._userMin || timestamps[0];\n me.max = me._userMax || timestamps[timestamps.length - 1];\n }\n const min = me.min;\n const max = me.max;\n const ticks = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aG\"])(timestamps, min, max);\n me._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, me.min, me.max, me._getLabelCapacity(min))\n : determineUnitForFormatting(me, ticks.length, timeOpts.minUnit, me.min, me.max));\n me._majorUnit = !tickOpts.major.enabled || me._unit === 'year' ? undefined\n : determineMajorUnit(me._unit);\n me.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(me, ticks, me._majorUnit);\n }\n initOffsets(timestamps) {\n const me = this;\n let start = 0;\n let end = 0;\n let first, last;\n if (me.options.offset && timestamps.length) {\n first = me.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (me.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = me.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - me.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(start, 0, limit);\n end = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(end, 0, limit);\n me._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const me = this;\n const adapter = me._adapter;\n const min = me.min;\n const max = me.max;\n const options = me.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, me._getLabelCapacity(min));\n const stepSize = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && me.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const me = this;\n const adapter = me._adapter;\n const timeOpts = me.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const me = this;\n const options = me.options;\n const formats = options.time.displayFormats;\n const unit = me._unit;\n const majorUnit = me._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = me._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(formatter, [label, index, ticks], me) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n const me = this;\n return value === null ? NaN : (value - me.min) / (me.max - me.min);\n }\n getPixelForValue(value) {\n const me = this;\n const offsets = me._offsets;\n const pos = me.getDecimalForValue(value);\n return me.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const me = this;\n const offsets = me._offsets;\n const pos = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return me.min + pos * (me.max - me.min);\n }\n _getLabelSize(label) {\n const me = this;\n const ticksOpts = me.options.ticks;\n const tickLabelWidth = me.ctx.measureText(label).width;\n const angle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = me._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const me = this;\n const timeOpts = me.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = me._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(me, [exampleTime], me._majorUnit), format);\n const size = me._getLabelSize(exampleLabel);\n const capacity = Math.floor(me.isHorizontal() ? me.width / size.w : me.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n const me = this;\n let timestamps = me._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = me.getMatchingVisibleMetas();\n if (me._normalized && metas.length) {\n return (me._cache.data = metas[0].controller.getAllParsedValues(me));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(me));\n }\n return (me._cache.data = me.normalize(timestamps));\n }\n getLabelTimestamps() {\n const me = this;\n const timestamps = me._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = me.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(me, labels[i]));\n }\n return (me._cache.labels = me._normalized ? timestamps : me.normalize(timestamps));\n }\n normalize(values) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"_\"])(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const me = this;\n const timestamps = me._getTimestampsForTable();\n const table = me._table = me.buildLookupTable(timestamps);\n me._minPos = interpolate(table, me.min);\n me._tableRange = interpolate(table, me.max) - me._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n const me = this;\n let timestamps = me._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = me.getDataTimestamps();\n const label = me.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = me.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = me._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const me = this;\n const offsets = me._offsets;\n const decimal = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(me._table, decimal * me._tableRange + me._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\n\n\n\n//# sourceURL=webpack:///./node_modules/chart.js/dist/chart.esm.js?"); /***/ }), /***/ "./node_modules/chart.js/dist/chunks/helpers.segment.js": /*!**************************************************************!*\ !*** ./node_modules/chart.js/dist/chunks/helpers.segment.js ***! \**************************************************************/ /*! exports provided: $, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, a, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW, aX, aY, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"$\", function() { return overrides; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return toPadding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return each; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return getMaximumSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return _getParentNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return readUsedSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return throttled; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return supportsEventListenerOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return HALF_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return _isDomSupported; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return log10; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return _factorize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return finiteOrDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return callback; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return _addGrace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return toDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return _measureText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return _int16Range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return _alignPixel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return TAU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"U\", function() { return clipArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"V\", function() { return renderText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"W\", function() { return unclipArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return toFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return _toLeftRightCenter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z\", function() { return _alignStartEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_\", function() { return _arrayUnique; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return resolve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a0\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a1\", function() { return _capitalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a2\", function() { return descriptors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a3\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a4\", function() { return _attachContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a5\", function() { return _createResolver; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a6\", function() { return _descriptors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a7\", function() { return mergeIf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a8\", function() { return uid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a9\", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aA\", function() { return _setMinAndMaxByKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aB\", function() { return niceNum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aC\", function() { return almostWhole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aD\", function() { return almostEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aE\", function() { return _decimalPlaces; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aF\", function() { return _longestText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aG\", function() { return _filterBetween; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aH\", function() { return _lookup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aI\", function() { return getHoverColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aJ\", function() { return clone$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aK\", function() { return _merger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aL\", function() { return _mergerIf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aM\", function() { return _deprecated; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aN\", function() { return toFontString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aO\", function() { return splineCurve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aP\", function() { return splineCurveMonotone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aQ\", function() { return getStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aR\", function() { return fontString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aS\", function() { return toLineHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aT\", function() { return PITAU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aU\", function() { return INFINITY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aV\", function() { return RAD_PER_DEG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aW\", function() { return QUARTER_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aX\", function() { return TWO_THIRDS_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aY\", function() { return _angleDiff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aa\", function() { return retinaScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ab\", function() { return clearCanvas; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ac\", function() { return setsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ad\", function() { return _elementsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ae\", function() { return getAngleFromPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"af\", function() { return _readValueToProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ag\", function() { return _updateBezierControlPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ah\", function() { return _computeSegments; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ai\", function() { return _boundSegments; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aj\", function() { return _steppedInterpolation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ak\", function() { return _bezierInterpolation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"al\", function() { return _pointInLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"am\", function() { return _steppedLineTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"an\", function() { return _bezierCurveTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ao\", function() { return drawPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ap\", function() { return addRoundedRectPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aq\", function() { return toTRBL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ar\", function() { return toTRBLCorners; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"as\", function() { return _boundSegment; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _normalizeAngle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"au\", function() { return getRtlAdapter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"av\", function() { return overrideTextDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aw\", function() { return _textX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ax\", function() { return restoreTextDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ay\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"az\", function() { return distanceBetweenPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return color; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return defaults; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return effects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return resolveObjectKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return isNumberFinite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return defined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return isNullOrUndef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return toPercentage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return listenArrayEvents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return toDimension; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return formatNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return _angleBetween; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return isNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return _limitValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return requestAnimFrame; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return sign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return toRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return unlistenArrayEvents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return valueOrDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return _lookupByKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return getRelativePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return _isPointInArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return _rlookupByKey; });\n/*!\n * Chart.js v3.5.0\n * https://www.chartjs.org\n * (c) 2021 Chart.js Contributors\n * Released under the MIT License\n */\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function() {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay);\n } else {\n fn();\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst emptyString = '';\nconst dot = '.';\nfunction indexOfDotOrLength(key, start) {\n const idx = key.indexOf(dot, start);\n return idx === -1 ? key.length : idx;\n}\nfunction resolveObjectKey(obj, key) {\n if (key === emptyString) {\n return obj;\n }\n let pos = 0;\n let idx = indexOfDotOrLength(key, pos);\n while (obj && idx > pos) {\n obj = obj[key.substr(pos, idx - pos)];\n pos = idx + 1;\n idx = indexOfDotOrLength(key, pos);\n }\n return obj;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.1.9\n * https://github.com/kurkle/color#readme\n * (c) 2020 Jukka Kurkela\n * Released under the MIT License\n */\nconst map = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = '0123456789ABCDEF';\nconst h1 = (b) => hex[b & 0xF];\nconst h2 = (b) => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = (b) => (((b & 0xF0) >> 4) === (b & 0xF));\nfunction isShort(v) {\n\treturn eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\n}\nfunction hexParse(str) {\n\tvar len = str.length;\n\tvar ret;\n\tif (str[0] === '#') {\n\t\tif (len === 4 || len === 5) {\n\t\t\tret = {\n\t\t\t\tr: 255 & map[str[1]] * 17,\n\t\t\t\tg: 255 & map[str[2]] * 17,\n\t\t\t\tb: 255 & map[str[3]] * 17,\n\t\t\t\ta: len === 5 ? map[str[4]] * 17 : 255\n\t\t\t};\n\t\t} else if (len === 7 || len === 9) {\n\t\t\tret = {\n\t\t\t\tr: map[str[1]] << 4 | map[str[2]],\n\t\t\t\tg: map[str[3]] << 4 | map[str[4]],\n\t\t\t\tb: map[str[5]] << 4 | map[str[6]],\n\t\t\t\ta: len === 9 ? (map[str[7]] << 4 | map[str[8]]) : 255\n\t\t\t};\n\t\t}\n\t}\n\treturn ret;\n}\nfunction hexString(v) {\n\tvar f = isShort(v) ? h1 : h2;\n\treturn v\n\t\t? '#' + f(v.r) + f(v.g) + f(v.b) + (v.a < 255 ? f(v.a) : '')\n\t\t: v;\n}\nfunction round(v) {\n\treturn v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n\treturn lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n\treturn lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n\treturn lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n\treturn lim(round(v * 100), 0, 100);\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n\tconst m = RGB_RE.exec(str);\n\tlet a = 255;\n\tlet r, g, b;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[7] !== r) {\n\t\tconst v = +m[7];\n\t\ta = 255 & (m[8] ? p2b(v) : v * 255);\n\t}\n\tr = +m[1];\n\tg = +m[3];\n\tb = +m[5];\n\tr = 255 & (m[2] ? p2b(r) : r);\n\tg = 255 & (m[4] ? p2b(g) : g);\n\tb = 255 & (m[6] ? p2b(b) : b);\n\treturn {\n\t\tr: r,\n\t\tg: g,\n\t\tb: b,\n\t\ta: a\n\t};\n}\nfunction rgbString(v) {\n\treturn v && (\n\t\tv.a < 255\n\t\t\t? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n\t\t\t: `rgb(${v.r}, ${v.g}, ${v.b})`\n\t);\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n\tconst a = s * Math.min(l, 1 - l);\n\tconst f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n\treturn [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n\tconst f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n\treturn [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n\tconst rgb = hsl2rgbn(h, 1, 0.5);\n\tlet i;\n\tif (w + b > 1) {\n\t\ti = 1 / (w + b);\n\t\tw *= i;\n\t\tb *= i;\n\t}\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] *= 1 - w - b;\n\t\trgb[i] += w;\n\t}\n\treturn rgb;\n}\nfunction rgb2hsl(v) {\n\tconst range = 255;\n\tconst r = v.r / range;\n\tconst g = v.g / range;\n\tconst b = v.b / range;\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tconst l = (max + min) / 2;\n\tlet h, s, d;\n\tif (max !== min) {\n\t\td = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\th = max === r\n\t\t\t? ((g - b) / d) + (g < b ? 6 : 0)\n\t\t\t: max === g\n\t\t\t\t? (b - r) / d + 2\n\t\t\t\t: (r - g) / d + 4;\n\t\th = h * 60 + 0.5;\n\t}\n\treturn [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n\treturn (\n\t\tArray.isArray(a)\n\t\t\t? f(a[0], a[1], a[2])\n\t\t\t: f(a, b, c)\n\t).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n\treturn calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n\treturn calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n\treturn calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n\treturn (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n\tconst m = HUE_RE.exec(str);\n\tlet a = 255;\n\tlet v;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[5] !== v) {\n\t\ta = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n\t}\n\tconst h = hue(+m[2]);\n\tconst p1 = +m[3] / 100;\n\tconst p2 = +m[4] / 100;\n\tif (m[1] === 'hwb') {\n\t\tv = hwb2rgb(h, p1, p2);\n\t} else if (m[1] === 'hsv') {\n\t\tv = hsv2rgb(h, p1, p2);\n\t} else {\n\t\tv = hsl2rgb(h, p1, p2);\n\t}\n\treturn {\n\t\tr: v[0],\n\t\tg: v[1],\n\t\tb: v[2],\n\t\ta: a\n\t};\n}\nfunction rotate(v, deg) {\n\tvar h = rgb2hsl(v);\n\th[0] = hue(h[0] + deg);\n\th = hsl2rgb(h);\n\tv.r = h[0];\n\tv.g = h[1];\n\tv.b = h[2];\n}\nfunction hslString(v) {\n\tif (!v) {\n\t\treturn;\n\t}\n\tconst a = rgb2hsl(v);\n\tconst h = a[0];\n\tconst s = n2p(a[1]);\n\tconst l = n2p(a[2]);\n\treturn v.a < 255\n\t\t? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n\t\t: `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map$1 = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n\tconst unpacked = {};\n\tconst keys = Object.keys(names);\n\tconst tkeys = Object.keys(map$1);\n\tlet i, j, k, ok, nk;\n\tfor (i = 0; i < keys.length; i++) {\n\t\tok = nk = keys[i];\n\t\tfor (j = 0; j < tkeys.length; j++) {\n\t\t\tk = tkeys[j];\n\t\t\tnk = nk.replace(k, map$1[k]);\n\t\t}\n\t\tk = parseInt(names[ok], 16);\n\t\tunpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n\t}\n\treturn unpacked;\n}\nlet names$1;\nfunction nameParse(str) {\n\tif (!names$1) {\n\t\tnames$1 = unpack();\n\t\tnames$1.transparent = [0, 0, 0, 0];\n\t}\n\tconst a = names$1[str.toLowerCase()];\n\treturn a && {\n\t\tr: a[0],\n\t\tg: a[1],\n\t\tb: a[2],\n\t\ta: a.length === 4 ? a[3] : 255\n\t};\n}\nfunction modHSL(v, i, ratio) {\n\tif (v) {\n\t\tlet tmp = rgb2hsl(v);\n\t\ttmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n\t\ttmp = hsl2rgb(tmp);\n\t\tv.r = tmp[0];\n\t\tv.g = tmp[1];\n\t\tv.b = tmp[2];\n\t}\n}\nfunction clone(v, proto) {\n\treturn v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n\tvar v = {r: 0, g: 0, b: 0, a: 255};\n\tif (Array.isArray(input)) {\n\t\tif (input.length >= 3) {\n\t\t\tv = {r: input[0], g: input[1], b: input[2], a: 255};\n\t\t\tif (input.length > 3) {\n\t\t\t\tv.a = n2b(input[3]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tv = clone(input, {r: 0, g: 0, b: 0, a: 1});\n\t\tv.a = n2b(v.a);\n\t}\n\treturn v;\n}\nfunction functionParse(str) {\n\tif (str.charAt(0) === 'r') {\n\t\treturn rgbParse(str);\n\t}\n\treturn hueParse(str);\n}\nclass Color {\n\tconstructor(input) {\n\t\tif (input instanceof Color) {\n\t\t\treturn input;\n\t\t}\n\t\tconst type = typeof input;\n\t\tlet v;\n\t\tif (type === 'object') {\n\t\t\tv = fromObject(input);\n\t\t} else if (type === 'string') {\n\t\t\tv = hexParse(input) || nameParse(input) || functionParse(input);\n\t\t}\n\t\tthis._rgb = v;\n\t\tthis._valid = !!v;\n\t}\n\tget valid() {\n\t\treturn this._valid;\n\t}\n\tget rgb() {\n\t\tvar v = clone(this._rgb);\n\t\tif (v) {\n\t\t\tv.a = b2n(v.a);\n\t\t}\n\t\treturn v;\n\t}\n\tset rgb(obj) {\n\t\tthis._rgb = fromObject(obj);\n\t}\n\trgbString() {\n\t\treturn this._valid ? rgbString(this._rgb) : this._rgb;\n\t}\n\thexString() {\n\t\treturn this._valid ? hexString(this._rgb) : this._rgb;\n\t}\n\thslString() {\n\t\treturn this._valid ? hslString(this._rgb) : this._rgb;\n\t}\n\tmix(color, weight) {\n\t\tconst me = this;\n\t\tif (color) {\n\t\t\tconst c1 = me.rgb;\n\t\t\tconst c2 = color.rgb;\n\t\t\tlet w2;\n\t\t\tconst p = weight === w2 ? 0.5 : weight;\n\t\t\tconst w = 2 * p - 1;\n\t\t\tconst a = c1.a - c2.a;\n\t\t\tconst w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\t\tw2 = 1 - w1;\n\t\t\tc1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n\t\t\tc1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n\t\t\tc1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n\t\t\tc1.a = p * c1.a + (1 - p) * c2.a;\n\t\t\tme.rgb = c1;\n\t\t}\n\t\treturn me;\n\t}\n\tclone() {\n\t\treturn new Color(this.rgb);\n\t}\n\talpha(a) {\n\t\tthis._rgb.a = n2b(a);\n\t\treturn this;\n\t}\n\tclearer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 - ratio;\n\t\treturn this;\n\t}\n\tgreyscale() {\n\t\tconst rgb = this._rgb;\n\t\tconst val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n\t\trgb.r = rgb.g = rgb.b = val;\n\t\treturn this;\n\t}\n\topaquer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 + ratio;\n\t\treturn this;\n\t}\n\tnegate() {\n\t\tconst v = this._rgb;\n\t\tv.r = 255 - v.r;\n\t\tv.g = 255 - v.g;\n\t\tv.b = 255 - v.b;\n\t\treturn this;\n\t}\n\tlighten(ratio) {\n\t\tmodHSL(this._rgb, 2, ratio);\n\t\treturn this;\n\t}\n\tdarken(ratio) {\n\t\tmodHSL(this._rgb, 2, -ratio);\n\t\treturn this;\n\t}\n\tsaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, ratio);\n\t\treturn this;\n\t}\n\tdesaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, -ratio);\n\t\treturn this;\n\t}\n\trotate(deg) {\n\t\trotate(this._rgb, deg);\n\t\treturn this;\n\t}\n}\nfunction index_esm(input) {\n\treturn new Color(input);\n}\n\nconst isPatternOrGradient = (value) => value instanceof CanvasGradient || value instanceof CanvasPattern;\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n let type, xOffset, yOffset, size, cornerRadius;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n ctx.arc(x, y, radius, 0, TAU);\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n ctx.rect(x - size, y - size, 2 * size, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return point && area && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace) {\n const {min, max} = minmax;\n return {\n min: min - Math.abs(toDimension(grace, min)),\n max: max + toDimension(grace, max)\n };\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n storage[prop] = value;\n delete target[prop];\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters';\nfunction _cached(target, prop, resolve) {\n let value = target[prop];\n if (defined(value)) {\n return value;\n }\n value = resolve();\n if (defined(value)) {\n target[prop] = value;\n }\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (isObject(value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, scope);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(evt, canvas) {\n const e = evt.native || evt;\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: (n, s, e) => n >= Math.min(s, e) && n <= Math.max(e, s),\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const baseStyle = readStyle(line.options);\n const count = points.length;\n const result = [];\n let start = segments[0].start;\n let i = start;\n for (const segment of segments) {\n let prevStyle = baseStyle;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext({\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex: line._datasetIndex\n }));\n if (styleChanged(style, prevStyle)) {\n result.push({start: start, end: i - 1, loop: segment.loop, style: prevStyle});\n prevStyle = style;\n start = i - 1;\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n result.push({start, end: i - 1, loop: segment.loop, style});\n start = i - 1;\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/chart.js/dist/chunks/helpers.segment.js?"); /***/ }), /***/ "./node_modules/dom7/dist/dom7.module.js": /*!***********************************************!*\ !*** ./node_modules/dom7/dist/dom7.module.js ***! \***********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Dom7 2.1.3\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * http://framework7.io/docs/dom.html\n *\n * Copyright 2019, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n *\n * Licensed under MIT\n *\n * Released on: February 11, 2019\n */\n\n\nvar Dom7 = function Dom7(arr) {\n _classCallCheck(this, Dom7);\n\n var self = this; // Create array-like object\n\n for (var i = 0; i < arr.length; i += 1) {\n self[i] = arr[i];\n }\n\n self.length = arr.length; // Return collection with methods\n\n return this;\n};\n\nfunction $(selector, context) {\n var arr = [];\n var i = 0;\n\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els;\n var tempParent;\n\n var _html = selector.trim();\n\n if (_html.indexOf('<') >= 0 && _html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (_html.indexOf(':~]/)) {\n // Pure ID selector\n els = [ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]).querySelectorAll(selector.trim());\n }\n\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) arr.push(els[i]);\n }\n }\n } else if (selector.nodeType || selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] || selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n\n return new Dom7(arr);\n}\n\n$.fn = Dom7.prototype;\n$.Class = Dom7;\n$.Dom7 = Dom7;\n\nfunction unique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\n\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group1) {\n return group1.toUpperCase();\n });\n}\n\nfunction requestAnimationFrame(callback) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame(callback);else if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitRequestAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitRequestAnimationFrame(callback);\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].setTimeout(callback, 1000 / 60);\n}\n\nfunction cancelAnimationFrame(id) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cancelAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cancelAnimationFrame(id);else if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitCancelAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitCancelAnimationFrame(id);\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].clearTimeout(id);\n} // Classes and attributes\n\n\nfunction addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n\n var classes = className.split(' ');\n\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]);\n }\n }\n\n return this;\n}\n\nfunction removeClass(className) {\n var classes = className.split(' ');\n\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]);\n }\n }\n\n return this;\n}\n\nfunction hasClass(className) {\n if (!this[0]) return false;\n return this[0].classList.contains(className);\n}\n\nfunction toggleClass(className) {\n var classes = className.split(' ');\n\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]);\n }\n }\n\n return this;\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 (var 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 // eslint-disable-next-line\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n} // eslint-disable-next-line\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 (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0]; // Get value\n\n if (el) {\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\".concat(key));\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var 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 var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n // eslint-disable-next-line\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n } // eslint-disable-next-line\n\n\n for (var 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 var dom = this;\n\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n\n return values;\n }\n\n return dom[0].value;\n }\n\n return undefined;\n }\n\n for (var _i = 0; _i < dom.length; _i += 1) {\n var el = dom[_i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return dom;\n} // Transforms\n// eslint-disable-next-line\n\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n if (typeof duration !== 'string') {\n duration = \"\".concat(duration, \"ms\"); // eslint-disable-line\n }\n\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n\n return this;\n} // Events\n\n\nfunction on() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var 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 var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\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 (var k = handlers.length - 1; k >= 0; k -= 1) {\n var 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() {\n var dom = this;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len4 = arguments.length, eventArgs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n eventArgs[_key4] = arguments[_key4];\n }\n\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() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var evt = void 0;\n\n try {\n evt = new ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n } catch (e) {\n evt = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n } // eslint-disable-next-line\n\n\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var events = ['webkitTransitionEnd', 'transitionend'];\n var dom = this;\n var i;\n\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var events = ['webkitAnimationEnd', 'animationend'];\n var dom = this;\n var i;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n\n return this;\n} // Sizing/Styles\n\n\nfunction width() {\n if (this[0] === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"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 // eslint-disable-next-line\n var _styles = this.styles();\n\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 if (this[0] === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"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 // eslint-disable-next-line\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.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 var el = this[0];\n var box = el.getBoundingClientRect();\n var body = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n\n var _scrollTop = el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] ? ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].scrollY : el.scrollTop;\n\n var _scrollLeft = el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] ? ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].scrollX : el.scrollLeft;\n\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 (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"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 if (this[0]) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n} // Dom manipulation\n\n\nfunction toArray() {\n var arr = [];\n\n for (var i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n\n return arr;\n} // Iterate over the collection passing elements to `callback`\n\n\nfunction each(callback) {\n // Don't bother continuing without a callback\n if (!callback) return this; // Iterate over the current collection\n\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n } // Return `this` to allow chained DOM operations\n\n\n return this;\n}\n\nfunction forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) return this; // Iterate over the current collection\n\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n } // Return `this` to allow chained DOM operations\n\n\n return this;\n}\n\nfunction filter(callback) {\n var matchedItems = [];\n var dom = this;\n\n for (var i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]);\n }\n\n return new Dom7(matchedItems);\n}\n\nfunction map(callback) {\n var modifiedItems = [];\n var dom = this;\n\n for (var i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n\n return new Dom7(modifiedItems);\n} // eslint-disable-next-line\n\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n\n return null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);else 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 } else if (selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]) return el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"];else if (selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) return el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"];\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 indexOf(el) {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i] === el) return i;\n }\n\n return -1;\n}\n\nfunction index() {\n var child = this[0];\n var 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} // eslint-disable-next-line\n\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n var returnIndex;\n\n if (index > length - 1) {\n return new Dom7([]);\n }\n\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n return new Dom7([this[returnIndex]]);\n }\n\n return new Dom7([this[index]]);\n}\n\nfunction append() {\n var newChild;\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"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 (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"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} // eslint-disable-next-line\n\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n return new Dom7([]);\n }\n\n return new Dom7([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n\n while (el.nextElementSibling) {\n var _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 new Dom7(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) return new Dom7([el.previousElementSibling]);\n return new Dom7([]);\n }\n\n return new Dom7([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n\n while (el.previousElementSibling) {\n var _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 new Dom7(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(unique(parents));\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _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 $(unique(parents));\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return new Dom7([]);\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 var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return new Dom7(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].childNodes;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return new Dom7(unique(children));\n}\n\nfunction remove() {\n for (var 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() {\n var dom = this;\n var i;\n var j;\n\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n for (i = 0; i < args.length; i += 1) {\n var toAdd = $(args[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nvar Methods = /*#__PURE__*/Object.freeze({\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n prop: prop,\n data: data,\n removeData: removeData,\n dataset: dataset,\n val: val,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n once: once,\n trigger: trigger,\n transitionEnd: transitionEnd,\n animationEnd: animationEnd,\n width: width,\n outerWidth: outerWidth,\n height: height,\n outerHeight: outerHeight,\n offset: offset,\n hide: hide,\n show: show,\n styles: styles,\n css: css,\n toArray: toArray,\n each: each,\n forEach: forEach,\n filter: filter,\n map: map,\n html: html,\n text: text,\n is: is,\n indexOf: indexOf,\n index: index,\n eq: eq,\n append: append,\n appendTo: appendTo,\n prepend: prepend,\n prependTo: prependTo,\n insertBefore: insertBefore,\n insertAfter: insertAfter,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n siblings: siblings,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n remove: remove,\n detach: detach,\n add: add,\n empty: empty\n});\n\nfunction scrollTo() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var 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 var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\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 requestAnimationFrame(render);\n }\n\n requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var 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() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var 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\nvar Scroll = /*#__PURE__*/Object.freeze({\n scrollTo: scrollTo,\n scrollTop: scrollTop,\n scrollLeft: scrollLeft\n});\n\nfunction animate(initialProps, initialParams) {\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\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 easingProgress: function 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 stop: function stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (index, el) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"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: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var 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(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var 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 = requestAnimationFrame(render);\n }\n\n a.frameId = requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\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 var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar Animate = /*#__PURE__*/Object.freeze({\n animate: animate,\n stop: stop\n});\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction eventShortcut(name) {\n for (var _len10 = arguments.length, args = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {\n args[_key10 - 1] = arguments[_key10];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n}\n\nfunction click() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['click'].concat(args));\n}\n\nfunction blur() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n args[_key12] = arguments[_key12];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['blur'].concat(args));\n}\n\nfunction focus() {\n for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n args[_key13] = arguments[_key13];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['focus'].concat(args));\n}\n\nfunction focusin() {\n for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {\n args[_key14] = arguments[_key14];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['focusin'].concat(args));\n}\n\nfunction focusout() {\n for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {\n args[_key15] = arguments[_key15];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['focusout'].concat(args));\n}\n\nfunction keyup() {\n for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {\n args[_key16] = arguments[_key16];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['keyup'].concat(args));\n}\n\nfunction keydown() {\n for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {\n args[_key17] = arguments[_key17];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['keydown'].concat(args));\n}\n\nfunction keypress() {\n for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {\n args[_key18] = arguments[_key18];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['keypress'].concat(args));\n}\n\nfunction submit() {\n for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {\n args[_key19] = arguments[_key19];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['submit'].concat(args));\n}\n\nfunction change() {\n for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {\n args[_key20] = arguments[_key20];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['change'].concat(args));\n}\n\nfunction mousedown() {\n for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {\n args[_key21] = arguments[_key21];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mousedown'].concat(args));\n}\n\nfunction mousemove() {\n for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {\n args[_key22] = arguments[_key22];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mousemove'].concat(args));\n}\n\nfunction mouseup() {\n for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {\n args[_key23] = arguments[_key23];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseup'].concat(args));\n}\n\nfunction mouseenter() {\n for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {\n args[_key24] = arguments[_key24];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseenter'].concat(args));\n}\n\nfunction mouseleave() {\n for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {\n args[_key25] = arguments[_key25];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseleave'].concat(args));\n}\n\nfunction mouseout() {\n for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {\n args[_key26] = arguments[_key26];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseout'].concat(args));\n}\n\nfunction mouseover() {\n for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {\n args[_key27] = arguments[_key27];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseover'].concat(args));\n}\n\nfunction touchstart() {\n for (var _len28 = arguments.length, args = new Array(_len28), _key28 = 0; _key28 < _len28; _key28++) {\n args[_key28] = arguments[_key28];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['touchstart'].concat(args));\n}\n\nfunction touchend() {\n for (var _len29 = arguments.length, args = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) {\n args[_key29] = arguments[_key29];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['touchend'].concat(args));\n}\n\nfunction touchmove() {\n for (var _len30 = arguments.length, args = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) {\n args[_key30] = arguments[_key30];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['touchmove'].concat(args));\n}\n\nfunction resize() {\n for (var _len31 = arguments.length, args = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) {\n args[_key31] = arguments[_key31];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['resize'].concat(args));\n}\n\nfunction scroll() {\n for (var _len32 = arguments.length, args = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) {\n args[_key32] = arguments[_key32];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['scroll'].concat(args));\n}\n\nvar eventShortcuts = /*#__PURE__*/Object.freeze({\n click: click,\n blur: blur,\n focus: focus,\n focusin: focusin,\n focusout: focusout,\n keyup: keyup,\n keydown: keydown,\n keypress: keypress,\n submit: submit,\n change: change,\n mousedown: mousedown,\n mousemove: mousemove,\n mouseup: mouseup,\n mouseenter: mouseenter,\n mouseleave: mouseleave,\n mouseout: mouseout,\n mouseover: mouseover,\n touchstart: touchstart,\n touchend: touchend,\n touchmove: touchmove,\n resize: resize,\n scroll: scroll\n});\n[Methods, Scroll, Animate, eventShortcuts].forEach(function (group) {\n Object.keys(group).forEach(function (methodName) {\n $.fn[methodName] = group[methodName];\n });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ($);\n\n//# sourceURL=webpack:///./node_modules/dom7/dist/dom7.module.js?"); /***/ }), /***/ "./node_modules/framework7/components/accordion/accordion.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/accordion/accordion.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Accordion = {\n toggleClicked: function toggleClicked($clickedEl) {\n var app = this;\n var $accordionItemEl = $clickedEl.closest('.accordion-item').eq(0);\n if (!$accordionItemEl.length) $accordionItemEl = $clickedEl.parents('li').eq(0);\n var $accordionContent = $clickedEl.parents('.accordion-item-content').eq(0);\n\n if ($accordionContent.length) {\n if ($accordionContent.parents($accordionItemEl).length) return;\n }\n\n if ($clickedEl.parents('li').length > 1 && $clickedEl.parents('li')[0] !== $accordionItemEl[0]) return;\n app.accordion.toggle($accordionItemEl);\n },\n open: function open(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var prevented = false;\n\n function prevent() {\n prevented = true;\n }\n\n $el.trigger('accordion:beforeopen', {\n prevent: prevent\n }, prevent);\n app.emit('accordionBeforeOpen', $el[0], prevent);\n if (prevented) return;\n var $list = $el.parents('.accordion-list').eq(0);\n var $contentEl = $el.children('.accordion-item-content');\n $contentEl.removeAttr('aria-hidden');\n if ($contentEl.length === 0) $contentEl = $el.find('.accordion-item-content');\n if ($contentEl.length === 0) return;\n var $openedItem = $list.length > 0 && $el.parent().children('.accordion-item-opened');\n\n if ($openedItem.length > 0) {\n app.accordion.close($openedItem);\n }\n\n $contentEl.transitionEnd(function () {\n if ($el.hasClass('accordion-item-opened')) {\n $contentEl.transition(0);\n $contentEl.css('height', 'auto');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $contentEl.transition('');\n $el.trigger('accordion:opened');\n app.emit('accordionOpened', $el[0]);\n });\n } else {\n $contentEl.css('height', '');\n $el.trigger('accordion:closed');\n app.emit('accordionClosed', $el[0]);\n }\n });\n $contentEl.css('height', \"\".concat($contentEl[0].scrollHeight, \"px\"));\n $el.trigger('accordion:open');\n $el.addClass('accordion-item-opened');\n app.emit('accordionOpen', $el[0]);\n },\n close: function close(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var prevented = false;\n\n function prevent() {\n prevented = true;\n }\n\n $el.trigger('accordion:beforeclose', {\n prevent: prevent\n }, prevent);\n app.emit('accordionBeforeClose', $el[0], prevent);\n if (prevented) return;\n var $contentEl = $el.children('.accordion-item-content');\n if ($contentEl.length === 0) $contentEl = $el.find('.accordion-item-content');\n $el.removeClass('accordion-item-opened');\n $contentEl.attr('aria-hidden', true);\n $contentEl.transition(0);\n $contentEl.css('height', \"\".concat($contentEl[0].scrollHeight, \"px\")); // Close\n\n $contentEl.transitionEnd(function () {\n if ($el.hasClass('accordion-item-opened')) {\n $contentEl.transition(0);\n $contentEl.css('height', 'auto');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $contentEl.transition('');\n $el.trigger('accordion:opened');\n app.emit('accordionOpened', $el[0]);\n });\n } else {\n $contentEl.css('height', '');\n $el.trigger('accordion:closed');\n app.emit('accordionClosed', $el[0]);\n }\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $contentEl.transition('');\n $contentEl.css('height', '');\n $el.trigger('accordion:close');\n app.emit('accordionClose', $el[0]);\n });\n },\n toggle: function toggle(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n if ($el.hasClass('accordion-item-opened')) app.accordion.close(el);else app.accordion.open(el);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'accordion',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n accordion: {\n open: Accordion.open.bind(app),\n close: Accordion.close.bind(app),\n toggle: Accordion.toggle.bind(app)\n }\n });\n },\n clicks: {\n '.accordion-item .item-link, .accordion-item-toggle, .links-list.accordion-list > ul > li > a': function open($clickedEl) {\n var app = this;\n Accordion.toggleClicked.call(app, $clickedEl);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/accordion/accordion.js?"); /***/ }), /***/ "./node_modules/framework7/components/actions/actions-class.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/actions/actions-class.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint indent: [\"off\"] */\n\n\n\n\nvar Actions = /*#__PURE__*/function (_Modal) {\n _inherits(Actions, _Modal);\n\n var _super = _createSuper(Actions);\n\n function Actions(app, params) {\n var _this;\n\n _classCallCheck(this, Actions);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.actions, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var actions = _assertThisInitialized(_this);\n\n actions.params = extendedParams; // Buttons\n\n var groups;\n\n if (actions.params.buttons) {\n groups = actions.params.buttons;\n if (!Array.isArray(groups[0])) groups = [groups];\n }\n\n actions.groups = groups; // Find Element\n\n var $el;\n\n if (actions.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.params.el).eq(0);\n } else if (actions.params.content) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else if (actions.params.buttons) {\n if (actions.params.convertToPopover) {\n actions.popoverHtml = actions.renderPopover();\n }\n\n actions.actionsHtml = actions.render();\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el && $el.length === 0 && !(actions.actionsHtml || actions.popoverHtml)) {\n return _possibleConstructorReturn(_this, actions.destroy());\n } // Backdrop\n\n\n var $backdropEl;\n\n if (actions.params.backdrop && actions.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.params.backdropEl);\n } else if (actions.params.backdrop) {\n $backdropEl = app.root.children('.actions-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
');\n app.root.append($backdropEl);\n }\n }\n\n var originalOpen = actions.open;\n var originalClose = actions.close;\n var popover;\n\n function buttonOnClick(e) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var buttonIndex;\n var groupIndex;\n\n if ($buttonEl.hasClass('list-button') || $buttonEl.hasClass('item-link')) {\n buttonIndex = $buttonEl.parents('li').index();\n groupIndex = $buttonEl.parents('.list').index();\n } else {\n buttonIndex = $buttonEl.index();\n groupIndex = $buttonEl.parents('.actions-group').index();\n }\n\n if (typeof groups !== 'undefined') {\n var button = groups[groupIndex][buttonIndex];\n if (button.onClick) button.onClick(actions, e);\n if (actions.params.onClick) actions.params.onClick(actions, e);\n if (button.close !== false) actions.close();\n }\n }\n\n actions.open = function open(animate) {\n var convertToPopover = false;\n var _actions$params = actions.params,\n targetEl = _actions$params.targetEl,\n targetX = _actions$params.targetX,\n targetY = _actions$params.targetY,\n targetWidth = _actions$params.targetWidth,\n targetHeight = _actions$params.targetHeight;\n\n if (actions.params.convertToPopover && (targetEl || targetX !== undefined && targetY !== undefined)) {\n // Popover\n if (actions.params.forceToPopover || app.device.ios && app.device.ipad || app.width >= 768 || app.device.desktop && app.theme === 'aurora') {\n convertToPopover = true;\n }\n }\n\n if (convertToPopover && actions.popoverHtml) {\n popover = app.popover.create({\n content: actions.popoverHtml,\n backdrop: actions.params.backdrop,\n targetEl: targetEl,\n targetX: targetX,\n targetY: targetY,\n targetWidth: targetWidth,\n targetHeight: targetHeight\n });\n popover.open(animate);\n popover.once('popoverOpened', function () {\n popover.$el.find('.list-button, .item-link').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).on('click', buttonOnClick);\n });\n });\n popover.once('popoverClosed', function () {\n popover.$el.find('.list-button, .item-link').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).off('click', buttonOnClick);\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n popover.destroy();\n popover = undefined;\n });\n });\n } else {\n actions.$el = actions.actionsHtml ? Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.actionsHtml) : actions.$el;\n actions.$el[0].f7Modal = actions;\n\n if (actions.groups) {\n actions.$el.find('.actions-button').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).on('click', buttonOnClick);\n });\n actions.once('actionsClosed', function () {\n actions.$el.find('.actions-button').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).off('click', buttonOnClick);\n });\n });\n }\n\n actions.el = actions.$el[0];\n originalOpen.call(actions, animate);\n }\n\n return actions;\n };\n\n actions.close = function close(animate) {\n if (popover) {\n popover.close(animate);\n } else {\n originalClose.call(actions, animate);\n }\n\n return actions;\n };\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(actions, {\n app: app,\n $el: $el,\n el: $el ? $el[0] : undefined,\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'actions'\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(actions.el).length === 0) {\n if (actions.params.closeByBackdropClick && actions.params.backdrop && actions.backdropEl && actions.backdropEl === target) {\n actions.close();\n } else if (actions.params.closeByOutsideClick) {\n actions.close();\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && actions.params.closeOnEscape) {\n actions.close();\n }\n }\n\n if (actions.params.closeOnEscape) {\n actions.on('open', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n });\n actions.on('close', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n });\n }\n\n actions.on('opened', function () {\n if (actions.params.closeByBackdropClick || actions.params.closeByOutsideClick) {\n app.on('click', handleClick);\n }\n });\n actions.on('close', function () {\n if (actions.params.closeByBackdropClick || actions.params.closeByOutsideClick) {\n app.off('click', handleClick);\n }\n });\n\n if ($el) {\n $el[0].f7Modal = actions;\n }\n\n return _possibleConstructorReturn(_this, actions);\n }\n\n _createClass(Actions, [{\n key: \"render\",\n value: function render() {\n var actions = this;\n if (actions.params.render) return actions.params.render.call(actions, actions);\n var groups = actions.groups;\n return \"\\n
\\n \").concat(groups.map(function (group) {\n return \"
\\n \".concat(group.map(function (button) {\n var buttonClasses = [\"actions-\".concat(button.label ? 'label' : 'button')];\n var color = button.color,\n bg = button.bg,\n bold = button.bold,\n disabled = button.disabled,\n label = button.label,\n text = button.text,\n icon = button.icon;\n if (color) buttonClasses.push(\"color-\".concat(color));\n if (bg) buttonClasses.push(\"bg-color-\".concat(bg));\n if (bold) buttonClasses.push('actions-button-bold');\n if (disabled) buttonClasses.push('disabled');\n\n if (label) {\n return \"
\").concat(text, \"
\");\n }\n\n return \"\\n
\\n \").concat(icon ? \"
\".concat(icon, \"
\") : '', \"\\n
\").concat(text, \"
\\n
\").trim();\n }).join(''), \"\\n
\");\n }).join(''), \"\\n
\\n \").trim();\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var actions = this;\n if (actions.params.renderPopover) return actions.params.renderPopover.call(actions, actions);\n var groups = actions.groups;\n return \"\\n
\\n
\\n \".concat(groups.map(function (group) {\n return \"\\n
\\n
    \\n \".concat(group.map(function (button) {\n var itemClasses = [];\n var color = button.color,\n bg = button.bg,\n bold = button.bold,\n disabled = button.disabled,\n label = button.label,\n text = button.text,\n icon = button.icon;\n if (color) itemClasses.push(\"color-\".concat(color));\n if (bg) itemClasses.push(\"bg-color-\".concat(bg));\n if (bold) itemClasses.push('popover-from-actions-bold');\n if (disabled) itemClasses.push('disabled');\n\n if (label) {\n itemClasses.push('popover-from-actions-label');\n return \"
  • \").concat(text, \"
  • \");\n }\n\n if (icon) {\n itemClasses.push('item-link item-content');\n return \"\\n
  • \\n \\n
    \\n \").concat(icon, \"\\n
    \\n
    \\n
    \\n \").concat(text, \"\\n
    \\n
    \\n
    \\n
  • \\n \");\n }\n\n itemClasses.push('list-button');\n return \"\\n
  • \\n \").concat(text, \"\\n
  • \\n \");\n }).join(''), \"\\n
\\n
\\n \");\n }).join(''), \"\\n
\\n
\\n \").trim();\n }\n }]);\n\n return Actions;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Actions);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/actions/actions-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/actions/actions.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/actions/actions.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _actions_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions-class */ \"./node_modules/framework7/components/actions/actions-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'actions',\n params: {\n actions: {\n convertToPopover: true,\n forceToPopover: false,\n backdrop: true,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeOnEscape: false,\n render: null,\n renderPopover: null\n }\n },\n static: {\n Actions: _actions_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.actions = Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n app: app,\n constructor: _actions_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n defaultSelector: '.actions-modal.modal-in'\n });\n },\n clicks: {\n '.actions-open': function openActions($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.actions.open(data.actions, data.animate);\n },\n '.actions-close': function closeActions($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.actions.close(data.actions, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/actions/actions.js?"); /***/ }), /***/ "./node_modules/framework7/components/app/app-class.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/app/app-class.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! template7 */ \"./node_modules/framework7/node_modules/template7/dist/template7.esm.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_events_class__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/events-class */ \"./node_modules/framework7/utils/events-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n/* harmony import */ var _load_module__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./load-module */ \"./node_modules/framework7/components/app/load-module.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\nvar Framework7 = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Framework7, _Framework7Class);\n\n var _super = _createSuper(Framework7);\n\n function Framework7(params) {\n var _this;\n\n _classCallCheck(this, Framework7);\n\n _this = _super.call(this, params);\n\n if (Framework7.instance) {\n throw new Error('Framework7 is already initialized and can\\'t be initialized more than once');\n }\n\n var passedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({}, params); // App Instance\n\n var app = _assertThisInitialized(_this);\n\n Framework7.instance = app; // Default\n\n var defaults = {\n version: '1.0.0',\n id: 'io.framework7.testapp',\n root: 'body',\n theme: 'auto',\n language: ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].navigator.language,\n routes: [],\n name: 'Framework7',\n lazyModulesPath: null,\n initOnDeviceReady: true,\n init: true,\n autoDarkTheme: false\n }; // Extend defaults with modules params\n\n app.useModulesParams(defaults); // Extend defaults with passed params\n\n app.params = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(defaults, params);\n var $rootEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.params.root);\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].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 // Root\n root: $rootEl,\n // RTL\n rtl: $rootEl.css('direction') === 'rtl',\n // Theme\n theme: function getTheme() {\n if (app.params.theme === 'auto') {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].ios) return 'ios';\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].desktop && _utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].electron) return 'aurora';\n return 'md';\n }\n\n return app.params.theme;\n }(),\n // Initially passed parameters\n passedParams: passedParams\n }); // Save Root\n\n if (app.root && app.root[0]) {\n app.root[0].f7 = app;\n } // Install Modules\n\n\n app.useModules(); // Init Data & Methods\n\n app.initData(); // Auto Dark Theme\n\n var DARK = '(prefers-color-scheme: dark)';\n var LIGHT = '(prefers-color-scheme: light)';\n app.mq = {};\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia) {\n app.mq.dark = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia(DARK);\n app.mq.light = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia(LIGHT);\n }\n\n app.colorSchemeListener = function colorSchemeListener(_ref) {\n var matches = _ref.matches,\n media = _ref.media;\n\n if (!matches) {\n return;\n }\n\n var html = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"document\"].querySelector('html');\n\n if (media === DARK) {\n html.classList.add('theme-dark');\n } else if (media === LIGHT) {\n html.classList.remove('theme-dark');\n }\n }; // Init\n\n\n if (app.params.init) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cordova && app.params.initOnDeviceReady) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"document\"]).on('deviceready', function () {\n app.init();\n });\n } else {\n app.init();\n }\n } // Return app instance\n\n\n return _possibleConstructorReturn(_this, app);\n }\n\n _createClass(Framework7, [{\n key: \"initData\",\n value: function initData() {\n var app = this; // Data\n\n app.data = {};\n\n if (app.params.data && typeof app.params.data === 'function') {\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(app.data, app.params.data.bind(app)());\n } else if (app.params.data) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(app.data, app.params.data);\n } // Methods\n\n\n app.methods = {};\n\n if (app.params.methods) {\n Object.keys(app.params.methods).forEach(function (methodName) {\n if (typeof app.params.methods[methodName] === 'function') {\n app.methods[methodName] = app.params.methods[methodName].bind(app);\n } else {\n app.methods[methodName] = app.params.methods[methodName];\n }\n });\n }\n }\n }, {\n key: \"enableAutoDarkTheme\",\n value: function enableAutoDarkTheme() {\n if (!ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia) return;\n var app = this;\n var html = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"document\"].querySelector('html');\n\n if (app.mq.dark && app.mq.light) {\n app.mq.dark.addListener(app.colorSchemeListener);\n app.mq.light.addListener(app.colorSchemeListener);\n }\n\n if (app.mq.dark && app.mq.dark.matches) {\n html.classList.add('theme-dark');\n } else if (app.mq.light && app.mq.light.matches) {\n html.classList.remove('theme-dark');\n }\n }\n }, {\n key: \"disableAutoDarkTheme\",\n value: function disableAutoDarkTheme() {\n if (!ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia) return;\n var 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 key: \"init\",\n value: function init() {\n var app = this;\n if (app.initialized) return app;\n app.root.addClass('framework7-initializing'); // RTL attr\n\n if (app.rtl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').attr('dir', 'rtl');\n } // Auto Dark Theme\n\n\n if (app.params.autoDarkTheme) {\n app.enableAutoDarkTheme();\n } // Root class\n\n\n app.root.addClass('framework7-root'); // Theme class\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('ios md').addClass(app.theme); // Init class\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].nextFrame(function () {\n app.root.removeClass('framework7-initializing');\n }); // Emit, init other modules\n\n app.initialized = true;\n app.emit('init');\n return app;\n } // eslint-disable-next-line\n\n }, {\n key: \"loadModule\",\n value: function loadModule() {\n return Framework7.loadModule.apply(Framework7, arguments);\n } // eslint-disable-next-line\n\n }, {\n key: \"loadModules\",\n value: function loadModules() {\n return Framework7.loadModules.apply(Framework7, arguments);\n }\n }, {\n key: \"getVnodeHooks\",\n value: function getVnodeHooks(hook, id) {\n var app = this;\n if (!app.vnodeHooks || !app.vnodeHooks[hook]) return [];\n return app.vnodeHooks[hook][id] || [];\n } // eslint-disable-next-line\n\n }, {\n key: \"$\",\n get: function get() {\n return dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n } // eslint-disable-next-line\n\n }, {\n key: \"t7\",\n get: function get() {\n return template7__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n }], [{\n key: \"Dom7\",\n get: function get() {\n return dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n }, {\n key: \"$\",\n get: function get() {\n return dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n }, {\n key: \"Template7\",\n get: function get() {\n return template7__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n }, {\n key: \"Class\",\n get: function get() {\n return _utils_class__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n }\n }, {\n key: \"Events\",\n get: function get() {\n return _utils_events_class__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n }\n }]);\n\n return Framework7;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nFramework7.ModalMethods = _utils_modal_methods__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\nFramework7.ConstructorMethods = _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nFramework7.loadModule = _load_module__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n\nFramework7.loadModules = function loadModules(modules) {\n return Promise.all(modules.map(function (module) {\n return Framework7.loadModule(module);\n }));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Framework7);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/app/app-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/app/load-module.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/app/load-module.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar fetchedModules = [];\n\nfunction loadModule(moduleToLoad) {\n var Framework7 = this;\n return new Promise(function (resolve, reject) {\n var app = Framework7.instance;\n var modulePath;\n var moduleObj;\n var moduleFunc;\n\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 var matchNamePattern = moduleToLoad.match(/([a-z0-9-]*)/i);\n\n if (moduleToLoad.indexOf('.') < 0 && matchNamePattern && matchNamePattern[0].length === moduleToLoad.length) {\n if (!app || app && !app.params.lazyModulesPath) {\n reject(new Error('Framework7: \"lazyModulesPath\" app parameter must be specified to fetch module by name'));\n return;\n }\n\n modulePath = \"\".concat(app.params.lazyModulesPath, \"/\").concat(moduleToLoad, \".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 var module = moduleFunc(Framework7, false);\n\n if (!module) {\n reject(new Error('Framework7: Can\\'t find Framework7 component in specified component function'));\n return;\n } // Check if it was added\n\n\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolve();\n return;\n } // Install It\n\n\n install(module);\n resolve();\n }\n\n if (moduleObj) {\n var _module = moduleObj;\n\n if (!_module) {\n reject(new Error('Framework7: Can\\'t find Framework7 component in specified component'));\n return;\n } // Check if it was added\n\n\n if (Framework7.prototype.modules && Framework7.prototype.modules[_module.name]) {\n resolve();\n return;\n } // Install It\n\n\n install(_module);\n resolve();\n }\n\n if (modulePath) {\n if (fetchedModules.indexOf(modulePath) >= 0) {\n resolve();\n return;\n }\n\n fetchedModules.push(modulePath);\n var scriptLoad = new Promise(function (resolveScript, rejectScript) {\n Framework7.request.get(modulePath, function (scriptContent) {\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].id();\n var callbackLoadName = \"f7_component_loader_callback_\".concat(id);\n var scriptEl = document.createElement('script');\n scriptEl.innerHTML = \"window.\".concat(callbackLoadName, \" = function (Framework7, Framework7AutoInstallComponent) {return \").concat(scriptContent.trim(), \"}\");\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('head').append(scriptEl);\n var componentLoader = window[callbackLoadName];\n delete window[callbackLoadName];\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(scriptEl).remove();\n var module = componentLoader(Framework7, false);\n\n if (!module) {\n rejectScript(new Error(\"Framework7: Can't find Framework7 component in \".concat(modulePath, \" file\")));\n return;\n } // Check if it was added\n\n\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolveScript();\n return;\n } // Install It\n\n\n install(module);\n resolveScript();\n }, function (xhr, status) {\n rejectScript(xhr, status);\n });\n });\n var styleLoad = new Promise(function (resolveStyle) {\n Framework7.request.get(modulePath.replace('.js', app.rtl ? '.rtl.css' : '.css'), function (styleContent) {\n var styleEl = document.createElement('style');\n styleEl.innerHTML = styleContent;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('head').append(styleEl);\n resolveStyle();\n }, function () {\n resolveStyle();\n });\n });\n Promise.all([scriptLoad, styleLoad]).then(function () {\n resolve();\n }).catch(function (err) {\n reject(err);\n });\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (loadModule);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/app/load-module.js?"); /***/ }), /***/ "./node_modules/framework7/components/appbar/appbar.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/appbar/appbar.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'appbar'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/appbar/appbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/autocomplete/autocomplete-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/autocomplete/autocomplete-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint \"no-useless-escape\": \"off\" */\n\n\n\n\nvar Autocomplete = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Autocomplete, _Framework7Class);\n\n var _super = _createSuper(Autocomplete);\n\n function Autocomplete(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Autocomplete);\n\n _this = _super.call(this, params, [app]);\n\n var ac = _assertThisInitialized(_this);\n\n ac.app = app;\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.autocomplete);\n\n if (typeof defaults.searchbarDisableButton === 'undefined') {\n defaults.searchbarDisableButton = app.theme !== 'aurora';\n } // Extend defaults with modules params\n\n\n ac.useModulesParams(defaults);\n ac.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var $openerEl;\n\n if (ac.params.openerEl) {\n $openerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.params.openerEl);\n if ($openerEl.length) $openerEl[0].f7Autocomplete = ac;\n }\n\n var $inputEl;\n\n if (ac.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.params.inputEl);\n if ($inputEl.length) $inputEl[0].f7Autocomplete = ac;\n }\n\n var view;\n\n if (ac.params.view) {\n view = ac.params.view;\n } else if ($openerEl || $inputEl) {\n var $el = $openerEl || $inputEl;\n view = $el.closest('.view').length && $el.closest('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].id();\n var url = params.url;\n\n if (!url && $openerEl && $openerEl.length) {\n if ($openerEl.attr('href')) url = $openerEl.attr('href');else if ($openerEl.find('a').length > 0) {\n url = $openerEl.find('a').attr('href');\n }\n }\n\n if (!url || url === '#' || url === '') url = ac.params.url;\n var inputType = ac.params.multiple ? 'checkbox' : 'radio';\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(ac, {\n $openerEl: $openerEl,\n openerEl: $openerEl && $openerEl[0],\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n id: id,\n view: view,\n url: url,\n value: ac.params.value || [],\n inputType: inputType,\n inputName: \"\".concat(inputType, \"-\").concat(id),\n $modalEl: undefined,\n $dropdownEl: undefined\n });\n var previousQuery = '';\n\n function onInputChange() {\n var query = ac.$inputEl.val().trim();\n if (!ac.params.source) return;\n ac.params.source.call(ac, query, function (items) {\n var itemsHTML = '';\n var limit = ac.params.limit ? Math.min(ac.params.limit, items.length) : items.length;\n ac.items = items;\n var regExp;\n\n if (ac.params.highlightMatches) {\n query = query.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n regExp = new RegExp(\"(\".concat(query, \")\"), 'i');\n }\n\n var firstValue;\n var firstItem;\n\n for (var i = 0; i < limit; i += 1) {\n var itemValue = _typeof(items[i]) === 'object' ? items[i][ac.params.valueProperty] : items[i];\n var itemText = _typeof(items[i]) === 'object' ? items[i][ac.params.textProperty] : items[i];\n\n if (i === 0) {\n firstValue = itemValue;\n firstItem = ac.items[i];\n }\n\n itemsHTML += ac.renderItem({\n value: itemValue,\n text: ac.params.highlightMatches ? itemText.replace(regExp, '$1') : itemText\n }, i);\n }\n\n if (itemsHTML === '' && query === '' && ac.params.dropdownPlaceholderText) {\n itemsHTML += ac.renderItem({\n placeholder: true,\n text: ac.params.dropdownPlaceholderText\n });\n }\n\n ac.$dropdownEl.find('ul').html(itemsHTML);\n\n if (ac.params.typeahead) {\n if (!firstValue || !firstItem) {\n return;\n }\n\n if (firstValue.toLowerCase().indexOf(query.toLowerCase()) !== 0) {\n return;\n }\n\n if (previousQuery.toLowerCase() === query.toLowerCase()) {\n ac.value = [];\n return;\n }\n\n if (previousQuery.toLowerCase().indexOf(query.toLowerCase()) === 0) {\n previousQuery = query;\n ac.value = [];\n return;\n }\n\n $inputEl.val(firstValue);\n $inputEl[0].setSelectionRange(query.length, firstValue.length);\n var previousValue = _typeof(ac.value[0]) === 'object' ? ac.value[0][ac.params.valueProperty] : ac.value[0];\n\n if (!previousValue || firstValue.toLowerCase() !== previousValue.toLowerCase()) {\n ac.value = [firstItem];\n ac.emit('local::change autocompleteChange', [firstItem]);\n }\n }\n\n previousQuery = query;\n });\n }\n\n function onPageInputChange() {\n var input = this;\n var value = input.value;\n var isValues = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(input).parents('.autocomplete-values').length > 0;\n var item;\n var itemValue;\n var aValue;\n\n if (isValues) {\n if (ac.inputType === 'checkbox' && !input.checked) {\n for (var i = 0; i < ac.value.length; i += 1) {\n aValue = typeof ac.value[i] === 'string' ? ac.value[i] : ac.value[i][ac.params.valueProperty];\n\n if (aValue === value || aValue * 1 === value * 1) {\n ac.value.splice(i, 1);\n }\n }\n\n ac.updateValues();\n ac.emit('local::change autocompleteChange', ac.value);\n }\n\n return;\n } // Find Related Item\n\n\n for (var _i = 0; _i < ac.items.length; _i += 1) {\n itemValue = _typeof(ac.items[_i]) === 'object' ? ac.items[_i][ac.params.valueProperty] : ac.items[_i];\n if (itemValue === value || itemValue * 1 === value * 1) item = ac.items[_i];\n }\n\n if (ac.inputType === 'radio') {\n ac.value = [item];\n } else if (input.checked) {\n ac.value.push(item);\n } else {\n for (var _i2 = 0; _i2 < ac.value.length; _i2 += 1) {\n aValue = _typeof(ac.value[_i2]) === 'object' ? ac.value[_i2][ac.params.valueProperty] : ac.value[_i2];\n\n if (aValue === value || aValue * 1 === value * 1) {\n ac.value.splice(_i2, 1);\n }\n }\n } // Update Values Block\n\n\n ac.updateValues(); // On Select Callback\n\n if (ac.inputType === 'radio' && input.checked || ac.inputType === 'checkbox') {\n ac.emit('local::change autocompleteChange', ac.value);\n }\n }\n\n function onHtmlClick(e) {\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if ($targetEl.is(ac.$inputEl[0]) || ac.$dropdownEl && $targetEl.closest(ac.$dropdownEl[0]).length) return;\n ac.close();\n }\n\n function onOpenerClick() {\n ac.open();\n }\n\n function onInputFocus() {\n ac.open();\n }\n\n function onInputBlur() {\n if (ac.$dropdownEl.find('label.active-state').length > 0) return;\n setTimeout(function () {\n ac.close();\n }, 0);\n }\n\n function onResize() {\n ac.positionDropdown();\n }\n\n function onKeyDown(e) {\n if (!ac.opened) return;\n\n if (e.keyCode === 27) {\n // ESC\n e.preventDefault();\n ac.$inputEl.blur();\n return;\n }\n\n if (e.keyCode === 13) {\n // Enter\n var $selectedItemLabel = ac.$dropdownEl.find('.autocomplete-dropdown-selected label');\n\n if ($selectedItemLabel.length) {\n e.preventDefault();\n $selectedItemLabel.trigger('click');\n ac.$inputEl.blur();\n return;\n }\n\n if (ac.params.typeahead) {\n e.preventDefault();\n ac.$inputEl.blur();\n }\n\n return;\n }\n\n if (e.keyCode !== 40 && e.keyCode !== 38) return;\n e.preventDefault();\n var $selectedItem = ac.$dropdownEl.find('.autocomplete-dropdown-selected');\n var $newItem;\n\n if ($selectedItem.length) {\n $newItem = $selectedItem[e.keyCode === 40 ? 'next' : 'prev']('li');\n\n if (!$newItem.length) {\n $newItem = ac.$dropdownEl.find('li').eq(e.keyCode === 40 ? 0 : ac.$dropdownEl.find('li').length - 1);\n }\n } else {\n $newItem = ac.$dropdownEl.find('li').eq(e.keyCode === 40 ? 0 : ac.$dropdownEl.find('li').length - 1);\n }\n\n if ($newItem.hasClass('autocomplete-dropdown-placeholder')) return;\n $selectedItem.removeClass('autocomplete-dropdown-selected');\n $newItem.addClass('autocomplete-dropdown-selected');\n }\n\n function onDropdownClick() {\n var $clickedEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var clickedItem;\n\n for (var i = 0; i < ac.items.length; i += 1) {\n var itemValue = _typeof(ac.items[i]) === 'object' ? ac.items[i][ac.params.valueProperty] : ac.items[i];\n var value = $clickedEl.attr('data-value');\n\n if (itemValue === value || itemValue * 1 === value * 1) {\n clickedItem = ac.items[i];\n }\n }\n\n if (ac.params.updateInputValueOnSelect) {\n ac.$inputEl.val(_typeof(clickedItem) === 'object' ? clickedItem[ac.params.valueProperty] : clickedItem);\n ac.$inputEl.trigger('input change');\n }\n\n ac.value = [clickedItem];\n ac.emit('local::change autocompleteChange', [clickedItem]);\n ac.close();\n }\n\n ac.attachEvents = function attachEvents() {\n if (ac.params.openIn !== 'dropdown' && ac.$openerEl) {\n ac.$openerEl.on('click', onOpenerClick);\n }\n\n if (ac.params.openIn === 'dropdown' && ac.$inputEl) {\n ac.$inputEl.on('focus', onInputFocus);\n ac.$inputEl.on(ac.params.inputEvents, onInputChange);\n\n if (app.device.android) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').on('click', onHtmlClick);\n } else {\n ac.$inputEl.on('blur', onInputBlur);\n }\n\n ac.$inputEl.on('keydown', onKeyDown);\n }\n };\n\n ac.detachEvents = function attachEvents() {\n if (ac.params.openIn !== 'dropdown' && ac.$openerEl) {\n ac.$openerEl.off('click', onOpenerClick);\n }\n\n if (ac.params.openIn === 'dropdown' && ac.$inputEl) {\n ac.$inputEl.off('focus', onInputFocus);\n ac.$inputEl.off(ac.params.inputEvents, onInputChange);\n\n if (app.device.android) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').off('click', onHtmlClick);\n } else {\n ac.$inputEl.off('blur', onInputBlur);\n }\n\n ac.$inputEl.off('keydown', onKeyDown);\n }\n };\n\n ac.attachDropdownEvents = function attachDropdownEvents() {\n ac.$dropdownEl.on('click', 'label', onDropdownClick);\n app.on('resize', onResize);\n };\n\n ac.detachDropdownEvents = function detachDropdownEvents() {\n ac.$dropdownEl.off('click', 'label', onDropdownClick);\n app.off('resize', onResize);\n };\n\n ac.attachPageEvents = function attachPageEvents() {\n ac.$el.on('change', 'input[type=\"radio\"], input[type=\"checkbox\"]', onPageInputChange);\n\n if (ac.params.closeOnSelect && !ac.params.multiple) {\n ac.$el.once('click', '.list label', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n ac.close();\n });\n });\n }\n };\n\n ac.detachPageEvents = function detachPageEvents() {\n ac.$el.off('change', 'input[type=\"radio\"], input[type=\"checkbox\"]', onPageInputChange);\n }; // Install Modules\n\n\n ac.useModules(); // Init\n\n ac.init();\n return _possibleConstructorReturn(_this, ac);\n }\n\n _createClass(Autocomplete, [{\n key: \"positionDropdown\",\n value: function positionDropdown() {\n var ac = this;\n var $inputEl = ac.$inputEl,\n app = ac.app,\n $dropdownEl = ac.$dropdownEl;\n var $pageContentEl = $inputEl.parents('.page-content');\n if ($pageContentEl.length === 0) return;\n var inputOffset = $inputEl.offset();\n var inputOffsetWidth = $inputEl[0].offsetWidth;\n var inputOffsetHeight = $inputEl[0].offsetHeight;\n var $listEl = $inputEl.parents('.list');\n var $listParent;\n $listEl.parents().each(function (index, parentEl) {\n if ($listParent) return;\n var $parentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentEl);\n if ($parentEl.parent($pageContentEl).length) $listParent = $parentEl;\n });\n var listOffset = $listEl.offset();\n var paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n var listOffsetLeft = $listEl.length > 0 ? listOffset.left - $pageContentEl.offset().left : 0;\n var inputOffsetLeft = inputOffset.left - ($listEl.length > 0 ? listOffset.left : 0) - (app.rtl ? 0 : 0);\n var inputOffsetTop = inputOffset.top - ($pageContentEl.offset().top - $pageContentEl[0].scrollTop);\n var maxHeight = $pageContentEl[0].scrollHeight - paddingBottom - (inputOffsetTop + $pageContentEl[0].scrollTop) - $inputEl[0].offsetHeight;\n var paddingProp = app.rtl ? 'padding-right' : 'padding-left';\n var paddingValue;\n\n if ($listEl.length && !ac.params.expandInput) {\n paddingValue = (app.rtl ? $listEl[0].offsetWidth - inputOffsetLeft - inputOffsetWidth : inputOffsetLeft) - (app.theme === 'md' ? 16 : 15);\n }\n\n $dropdownEl.css({\n left: \"\".concat($listEl.length > 0 ? listOffsetLeft : inputOffsetLeft, \"px\"),\n top: \"\".concat(inputOffsetTop + $pageContentEl[0].scrollTop + inputOffsetHeight, \"px\"),\n width: \"\".concat($listEl.length > 0 ? $listEl[0].offsetWidth : inputOffsetWidth, \"px\")\n });\n $dropdownEl.children('.autocomplete-dropdown-inner').css(_defineProperty({\n maxHeight: \"\".concat(maxHeight, \"px\")\n }, paddingProp, $listEl.length > 0 && !ac.params.expandInput ? \"\".concat(paddingValue, \"px\") : ''));\n }\n }, {\n key: \"focus\",\n value: function focus() {\n var ac = this;\n ac.$el.find('input[type=search]').focus();\n }\n }, {\n key: \"source\",\n value: function source(query) {\n var ac = this;\n if (!ac.params.source) return;\n var $el = ac.$el;\n ac.params.source.call(ac, query, function (items) {\n var itemsHTML = '';\n var limit = ac.params.limit ? Math.min(ac.params.limit, items.length) : items.length;\n ac.items = items;\n\n for (var i = 0; i < limit; i += 1) {\n var selected = false;\n var itemValue = _typeof(items[i]) === 'object' ? items[i][ac.params.valueProperty] : items[i];\n\n for (var j = 0; j < ac.value.length; j += 1) {\n var aValue = _typeof(ac.value[j]) === 'object' ? ac.value[j][ac.params.valueProperty] : ac.value[j];\n if (aValue === itemValue || aValue * 1 === itemValue * 1) selected = true;\n }\n\n itemsHTML += ac.renderItem({\n value: itemValue,\n text: _typeof(items[i]) === 'object' ? items[i][ac.params.textProperty] : items[i],\n inputType: ac.inputType,\n id: ac.id,\n inputName: ac.inputName,\n selected: selected\n }, i);\n }\n\n $el.find('.autocomplete-found ul').html(itemsHTML);\n\n if (items.length === 0) {\n if (query.length !== 0) {\n $el.find('.autocomplete-not-found').show();\n $el.find('.autocomplete-found, .autocomplete-values').hide();\n } else {\n $el.find('.autocomplete-values').show();\n $el.find('.autocomplete-found, .autocomplete-not-found').hide();\n }\n } else {\n $el.find('.autocomplete-found').show();\n $el.find('.autocomplete-not-found, .autocomplete-values').hide();\n }\n });\n }\n }, {\n key: \"updateValues\",\n value: function updateValues() {\n var ac = this;\n var valuesHTML = '';\n\n for (var i = 0; i < ac.value.length; i += 1) {\n valuesHTML += ac.renderItem({\n value: _typeof(ac.value[i]) === 'object' ? ac.value[i][ac.params.valueProperty] : ac.value[i],\n text: _typeof(ac.value[i]) === 'object' ? ac.value[i][ac.params.textProperty] : ac.value[i],\n inputType: ac.inputType,\n id: ac.id,\n inputName: \"\".concat(ac.inputName, \"-checked}\"),\n selected: true\n }, i);\n }\n\n ac.$el.find('.autocomplete-values ul').html(valuesHTML);\n }\n }, {\n key: \"preloaderHide\",\n value: function preloaderHide() {\n var ac = this;\n\n if (ac.params.openIn === 'dropdown' && ac.$dropdownEl) {\n ac.$dropdownEl.find('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n }\n }\n }, {\n key: \"preloaderShow\",\n value: function preloaderShow() {\n var ac = this;\n\n if (ac.params.openIn === 'dropdown' && ac.$dropdownEl) {\n ac.$dropdownEl.find('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n }\n }\n }, {\n key: \"renderPreloader\",\n value: function renderPreloader() {\n var ac = this;\n return \"\\n
\").concat(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(ac.app.theme, \"PreloaderContent\")] || '', \"
\\n \").trim();\n }\n }, {\n key: \"renderSearchbar\",\n value: function renderSearchbar() {\n var ac = this;\n if (ac.params.renderSearchbar) return ac.params.renderSearchbar.call(ac);\n var searchbarHTML = \"\\n
\\n
\\n
\\n \\n \\n \\n
\\n \").concat(ac.params.searchbarDisableButton ? \"\\n \".concat(ac.params.searchbarDisableText, \"\\n \") : '', \"\\n
\\n
\\n \").trim();\n return searchbarHTML;\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(item, index) {\n var ac = this;\n if (ac.params.renderItem) return ac.params.renderItem.call(ac, item, index);\n var itemHtml;\n var itemValue = item.value && typeof item.value === 'string' ? item.value.replace(/\"/g, '"') : item.value;\n\n if (ac.params.openIn !== 'dropdown') {\n itemHtml = \"\\n
  • \\n \\n
  • \\n \");\n } else if (!item.placeholder) {\n // Dropdown\n itemHtml = \"\\n
  • \\n \\n
  • \\n \");\n } else {\n // Dropwdown placeholder\n itemHtml = \"\\n
  • \\n \\n
  • \\n \");\n }\n\n return itemHtml.trim();\n }\n }, {\n key: \"renderNavbar\",\n value: function renderNavbar() {\n var ac = this;\n if (ac.params.renderNavbar) return ac.params.renderNavbar.call(ac);\n var pageTitle = ac.params.pageTitle;\n\n if (typeof pageTitle === 'undefined' && ac.$openerEl && ac.$openerEl.length) {\n pageTitle = ac.$openerEl.find('.item-title').text().trim();\n }\n\n var inPopup = ac.params.openIn === 'popup';\n var navbarLeft = inPopup ? \"\\n \".concat(ac.params.preloader ? \"\\n
    \\n \".concat(ac.renderPreloader(), \"\\n
    \\n \") : '', \"\\n \") : \"\\n
    \\n \\n \\n \".concat(ac.params.pageBackLinkText, \"\\n \\n
    \\n \");\n var navbarRight = inPopup ? \"\\n
    \\n \\n \".concat(ac.params.popupCloseLinkText, \"\\n \\n
    \\n \") : \"\\n \".concat(ac.params.preloader ? \"\\n
    \\n \".concat(ac.renderPreloader(), \"\\n
    \\n \") : '', \"\\n \");\n var navbarHtml = \"\\n
    \\n
    \\n \").concat(navbarLeft, \"\\n \").concat(pageTitle ? \"
    \".concat(pageTitle, \"
    \") : '', \"\\n \").concat(navbarRight, \"\\n
    \").concat(ac.renderSearchbar(), \"
    \\n
    \\n
    \\n \").trim();\n return navbarHtml;\n }\n }, {\n key: \"renderDropdown\",\n value: function renderDropdown() {\n var ac = this;\n if (ac.params.renderDropdown) return ac.params.renderDropdown.call(ac, ac.items);\n var dropdownHtml = \"\\n
    \\n
    \\n
    \\n
      \\n
      \\n
      \\n \").concat(ac.params.preloader ? ac.renderPreloader() : '', \"\\n
      \\n \").trim();\n return dropdownHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage(inPopup) {\n var ac = this;\n if (ac.params.renderPage) return ac.params.renderPage.call(ac, ac.items);\n var pageHtml = \"\\n
      \\n \".concat(ac.renderNavbar(inPopup), \"\\n
      \\n
      \\n
      \\n
        \\n
        \\n
        \\n
          \\n
        • \").concat(ac.params.notFoundText, \"
        • \\n
        \\n
        \\n
        \\n
          \\n
          \\n
          \\n
          \\n \").trim();\n return pageHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var ac = this;\n if (ac.params.renderPopup) return ac.params.renderPopup.call(ac, ac.items);\n var popupHtml = \"\\n
          \\n
          \\n \".concat(ac.renderPage(true), \";\\n
          \\n
          \\n \").trim();\n return popupHtml;\n }\n }, {\n key: \"onOpen\",\n value: function onOpen(type, el) {\n var ac = this;\n var app = ac.app;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n ac.$el = $el;\n ac.el = $el[0];\n ac.openedIn = type;\n ac.opened = true;\n\n if (ac.params.openIn === 'dropdown') {\n ac.attachDropdownEvents();\n ac.$dropdownEl.addClass('autocomplete-dropdown-in');\n ac.$inputEl.trigger('input');\n } else {\n // Init SB\n var $searchbarEl = $el.find('.searchbar');\n\n if (ac.params.openIn === 'page' && app.theme === 'ios' && $searchbarEl.length === 0) {\n $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($el)).find('.searchbar');\n }\n\n ac.searchbar = app.searchbar.create({\n el: $searchbarEl,\n backdropEl: $el.find('.searchbar-backdrop'),\n customSearch: true,\n on: {\n search: function search(sb, query) {\n if (query.length === 0 && ac.searchbar.enabled) {\n ac.searchbar.backdropShow();\n } else {\n ac.searchbar.backdropHide();\n }\n\n ac.source(query);\n }\n }\n }); // Attach page events\n\n ac.attachPageEvents(); // Update Values On Page Init\n\n ac.updateValues(); // Source on load\n\n if (ac.params.requestSourceOnOpen) ac.source('');\n }\n\n ac.emit('local::open autocompleteOpen', ac);\n }\n }, {\n key: \"autoFocus\",\n value: function autoFocus() {\n var ac = this;\n\n if (ac.searchbar && ac.searchbar.$inputEl) {\n ac.searchbar.$inputEl.focus();\n }\n\n return ac;\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var ac = this;\n\n if (ac.params.openIn !== 'dropdown' && ac.params.autoFocus) {\n ac.autoFocus();\n }\n\n ac.emit('local::opened autocompleteOpened', ac);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var ac = this;\n if (ac.destroyed) return; // Destroy SB\n\n if (ac.searchbar && ac.searchbar.destroy) {\n ac.searchbar.destroy();\n ac.searchbar = null;\n delete ac.searchbar;\n }\n\n if (ac.params.openIn === 'dropdown') {\n ac.detachDropdownEvents();\n ac.$dropdownEl.removeClass('autocomplete-dropdown-in').remove();\n ac.$inputEl.parents('.item-content-dropdown-expanded').removeClass('item-content-dropdown-expanded');\n } else {\n ac.detachPageEvents();\n }\n\n ac.emit('local::close autocompleteClose', ac);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var ac = this;\n if (ac.destroyed) return;\n ac.opened = false;\n ac.$el = null;\n ac.el = null;\n delete ac.$el;\n delete ac.el;\n ac.emit('local::closed autocompleteClosed', ac);\n }\n }, {\n key: \"openPage\",\n value: function openPage() {\n var ac = this;\n if (ac.opened) return ac;\n var pageHtml = ac.renderPage();\n ac.view.router.navigate({\n url: ac.url,\n route: {\n content: pageHtml,\n path: ac.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n ac.onOpen('page', page.el);\n },\n pageAfterIn: function pageAfterIn(e, page) {\n ac.onOpened('page', page.el);\n },\n pageBeforeOut: function pageBeforeOut(e, page) {\n ac.onClose('page', page.el);\n },\n pageAfterOut: function pageAfterOut(e, page) {\n ac.onClosed('page', page.el);\n }\n },\n options: {\n animate: ac.params.animate\n }\n }\n });\n return ac;\n }\n }, {\n key: \"openPopup\",\n value: function openPopup() {\n var ac = this;\n if (ac.opened) return ac;\n var popupHtml = ac.renderPopup();\n var popupParams = {\n content: popupHtml,\n animate: ac.params.animate,\n on: {\n popupOpen: function popupOpen(popup) {\n ac.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n ac.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n ac.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n ac.onClosed('popup', popup.el);\n }\n }\n };\n\n if (ac.params.routableModals) {\n ac.view.router.navigate({\n url: ac.url,\n route: {\n path: ac.url,\n popup: popupParams\n }\n });\n } else {\n ac.modal = ac.app.popup.create(popupParams).open(ac.params.animate);\n }\n\n return ac;\n }\n }, {\n key: \"openDropdown\",\n value: function openDropdown() {\n var ac = this;\n\n if (!ac.$dropdownEl) {\n ac.$dropdownEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.renderDropdown());\n }\n\n var $listEl = ac.$inputEl.parents('.list');\n\n if ($listEl.length && ac.$inputEl.parents('.item-content').length > 0 && ac.params.expandInput) {\n ac.$inputEl.parents('.item-content').addClass('item-content-dropdown-expanded');\n }\n\n var $pageContentEl = ac.$inputEl.parents('.page-content');\n\n if (ac.params.dropdownContainerEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.params.dropdownContainerEl).append(ac.$dropdownEl);\n } else if ($pageContentEl.length === 0) {\n ac.$dropdownEl.insertAfter(ac.$inputEl);\n } else {\n ac.positionDropdown();\n $pageContentEl.append(ac.$dropdownEl);\n }\n\n ac.onOpen('dropdown', ac.$dropdownEl);\n ac.onOpened('dropdown', ac.$dropdownEl);\n }\n }, {\n key: \"open\",\n value: function open() {\n var ac = this;\n if (ac.opened) return ac;\n var openIn = ac.params.openIn;\n ac[\"open\".concat(openIn.split('').map(function (el, index) {\n if (index === 0) return el.toUpperCase();\n return el;\n }).join(''))]();\n return ac;\n }\n }, {\n key: \"close\",\n value: function close() {\n var ac = this;\n if (!ac.opened) return ac;\n\n if (ac.params.openIn === 'dropdown') {\n ac.onClose();\n ac.onClosed();\n } else if (ac.params.routableModals || ac.openedIn === 'page') {\n ac.view.router.back({\n animate: ac.params.animate\n });\n } else {\n ac.modal.once('modalClosed', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (ac.destroyed) return;\n ac.modal.destroy();\n delete ac.modal;\n });\n });\n ac.modal.close();\n }\n\n return ac;\n }\n }, {\n key: \"init\",\n value: function init() {\n var ac = this;\n ac.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var ac = this;\n ac.emit('local::beforeDestroy autocompleteBeforeDestroy', ac);\n ac.detachEvents();\n\n if (ac.$inputEl && ac.$inputEl[0]) {\n delete ac.$inputEl[0].f7Autocomplete;\n }\n\n if (ac.$openerEl && ac.$openerEl[0]) {\n delete ac.$openerEl[0].f7Autocomplete;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(ac);\n ac.destroyed = true;\n }\n }]);\n\n return Autocomplete;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Autocomplete);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/autocomplete/autocomplete-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/autocomplete/autocomplete.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/autocomplete/autocomplete.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _autocomplete_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autocomplete-class */ \"./node_modules/framework7/components/autocomplete/autocomplete-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'autocomplete',\n params: {\n autocomplete: {\n openerEl: undefined,\n inputEl: undefined,\n view: undefined,\n // DropDown\n dropdownContainerEl: undefined,\n dropdownPlaceholderText: undefined,\n typeahead: false,\n highlightMatches: true,\n expandInput: false,\n updateInputValueOnSelect: true,\n inputEvents: 'input',\n value: undefined,\n multiple: false,\n source: undefined,\n limit: undefined,\n valueProperty: 'id',\n textProperty: 'text',\n openIn: 'page',\n // or 'popup' or 'dropdown'\n pageBackLinkText: 'Back',\n popupCloseLinkText: 'Close',\n pageTitle: undefined,\n searchbarPlaceholder: 'Search...',\n searchbarDisableText: 'Cancel',\n searchbarDisableButton: undefined,\n animate: true,\n autoFocus: false,\n closeOnSelect: false,\n notFoundText: 'Nothing found',\n requestSourceOnOpen: false,\n // Preloader\n preloaderColor: undefined,\n preloader: false,\n // Colors\n formColorTheme: undefined,\n navbarColorTheme: undefined,\n // Routing\n routableModals: true,\n url: 'select/',\n // Custom render functions\n renderDropdown: undefined,\n renderPage: undefined,\n renderPopup: undefined,\n renderItem: undefined,\n renderSearchbar: undefined,\n renderNavbar: undefined\n }\n },\n static: {\n Autocomplete: _autocomplete_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.autocomplete = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: undefined,\n constructor: _autocomplete_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Autocomplete'\n }), {\n open: function open(autocompleteEl) {\n var ac = app.autocomplete.get(autocompleteEl);\n if (ac && ac.open) return ac.open();\n return undefined;\n },\n close: function close(autocompleteEl) {\n var ac = app.autocomplete.get(autocompleteEl);\n if (ac && ac.close) return ac.close();\n return undefined;\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/autocomplete/autocomplete.js?"); /***/ }), /***/ "./node_modules/framework7/components/calendar/calendar-class.js": /*!***********************************************************************!*\ !*** ./node_modules/framework7/components/calendar/calendar-class.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _idate_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./idate/index */ \"./node_modules/framework7/components/calendar/idate/index.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Calendar = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Calendar, _Framework7Class);\n\n var _super = _createSuper(Calendar);\n\n function Calendar(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Calendar);\n\n _this = _super.call(this, params, [app]);\n\n var calendar = _assertThisInitialized(_this);\n\n calendar.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, app.params.calendar, params);\n\n if (calendar.params.calendarType === 'jalali') {\n Object.keys(calendar.params.jalali).forEach(function (param) {\n if (!params[param]) {\n calendar.params[param] = calendar.params.jalali[param];\n }\n });\n }\n\n if (calendar.params.calendarType === 'jalali') {\n calendar.DateHandleClass = _idate_index__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n } else {\n calendar.DateHandleClass = Date;\n }\n\n var $containerEl;\n\n if (calendar.params.containerEl) {\n $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.params.containerEl);\n if ($containerEl.length === 0) return _possibleConstructorReturn(_this, calendar);\n }\n\n var $inputEl;\n\n if (calendar.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.params.inputEl);\n }\n\n var view;\n\n if ($inputEl) {\n view = $inputEl.parents('.view').length && $inputEl.parents('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n var isHorizontal = calendar.params.direction === 'horizontal';\n var inverter = 1;\n\n if (isHorizontal) {\n inverter = app.rtl ? -1 : 1;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(calendar, {\n app: app,\n $containerEl: $containerEl,\n containerEl: $containerEl && $containerEl[0],\n inline: $containerEl && $containerEl.length > 0,\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n initialized: false,\n opened: false,\n url: calendar.params.url,\n isHorizontal: isHorizontal,\n inverter: inverter,\n view: view,\n animating: false\n });\n\n function onInputClick() {\n calendar.open();\n }\n\n function onInputFocus(e) {\n e.preventDefault();\n }\n\n function onHtmlClick(e) {\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if (calendar.destroyed || !calendar.params) return;\n if (calendar.isPopover()) return;\n if (!calendar.opened || calendar.closing) return;\n if ($targetEl.closest('[class*=\"backdrop\"]').length) return;\n\n if ($inputEl && $inputEl.length > 0) {\n if ($targetEl[0] !== $inputEl[0] && $targetEl.closest('.sheet-modal, .calendar-modal').length === 0) {\n calendar.close();\n }\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sheet-modal, .calendar-modal').length === 0) {\n calendar.close();\n }\n } // Events\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(calendar, {\n attachInputEvents: function attachInputEvents() {\n calendar.$inputEl.on('click', onInputClick);\n\n if (calendar.params.inputReadOnly) {\n calendar.$inputEl.on('focus mousedown', onInputFocus);\n }\n },\n detachInputEvents: function detachInputEvents() {\n calendar.$inputEl.off('click', onInputClick);\n\n if (calendar.params.inputReadOnly) {\n calendar.$inputEl.off('focus mousedown', onInputFocus);\n }\n },\n attachHtmlEvents: function attachHtmlEvents() {\n app.on('click', onHtmlClick);\n },\n detachHtmlEvents: function detachHtmlEvents() {\n app.off('click', onHtmlClick);\n }\n });\n\n calendar.attachCalendarEvents = function attachCalendarEvents() {\n var allowItemClick = true;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var touchStartTime;\n var touchEndTime;\n var currentTranslate;\n var wrapperWidth;\n var wrapperHeight;\n var percentage;\n var touchesDiff;\n var isScrolling;\n var $el = calendar.$el,\n $wrapperEl = calendar.$wrapperEl;\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n isTouched = true;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n touchStartTime = new calendar.DateHandleClass().getTime();\n percentage = 0;\n allowItemClick = true;\n isScrolling = undefined;\n currentTranslate = calendar.monthsTranslate;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var isH = calendar.isHorizontal;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX));\n }\n\n if (isH && isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n\n if (calendar.animating) {\n isTouched = false;\n return;\n }\n\n allowItemClick = false;\n\n if (!isMoved) {\n // First move\n isMoved = true;\n wrapperWidth = $wrapperEl[0].offsetWidth;\n wrapperHeight = $wrapperEl[0].offsetHeight;\n $wrapperEl.transition(0);\n }\n\n touchesDiff = isH ? touchCurrentX - touchStartX : touchCurrentY - touchStartY;\n percentage = touchesDiff / (isH ? wrapperWidth : wrapperHeight);\n currentTranslate = (calendar.monthsTranslate * calendar.inverter + percentage) * 100; // Transform wrapper\n\n $wrapperEl.transform(\"translate3d(\".concat(isH ? currentTranslate : 0, \"%, \").concat(isH ? 0 : currentTranslate, \"%, 0)\"));\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n touchEndTime = new calendar.DateHandleClass().getTime();\n\n if (touchEndTime - touchStartTime < 300) {\n if (Math.abs(touchesDiff) < 10) {\n calendar.resetMonth();\n } else if (touchesDiff >= 10) {\n if (app.rtl) calendar.nextMonth();else calendar.prevMonth();\n } else if (app.rtl) calendar.prevMonth();else calendar.nextMonth();\n } else if (percentage <= -0.5) {\n if (app.rtl) calendar.prevMonth();else calendar.nextMonth();\n } else if (percentage >= 0.5) {\n if (app.rtl) calendar.nextMonth();else calendar.prevMonth();\n } else {\n calendar.resetMonth();\n } // Allow click\n\n\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n\n function handleDayClick(e) {\n if (!allowItemClick) return;\n var $dayEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).parents('.calendar-day');\n\n if ($dayEl.length === 0 && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).hasClass('calendar-day')) {\n $dayEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n }\n\n if ($dayEl.length === 0) return;\n if ($dayEl.hasClass('calendar-day-disabled')) return;\n\n if (!calendar.params.rangePicker) {\n if ($dayEl.hasClass('calendar-day-next')) calendar.nextMonth();\n if ($dayEl.hasClass('calendar-day-prev')) calendar.prevMonth();\n }\n\n var dateYear = parseInt($dayEl.attr('data-year'), 10);\n var dateMonth = parseInt($dayEl.attr('data-month'), 10);\n var dateDay = parseInt($dayEl.attr('data-day'), 10);\n calendar.emit('local::dayClick calendarDayClick', calendar, $dayEl[0], dateYear, dateMonth, dateDay);\n\n if (!$dayEl.hasClass('calendar-day-selected') || calendar.params.multiple || calendar.params.rangePicker) {\n calendar.addValue(new calendar.DateHandleClass(dateYear, dateMonth, dateDay, 0, 0, 0));\n }\n\n if (calendar.params.closeOnSelect) {\n if (calendar.params.rangePicker && calendar.value.length === 2 || !calendar.params.rangePicker) {\n calendar.close();\n }\n }\n }\n\n function onNextMonthClick() {\n calendar.nextMonth();\n }\n\n function onPrevMonthClick() {\n calendar.prevMonth();\n }\n\n function onNextYearClick() {\n calendar.nextYear();\n }\n\n function onPrevYearClick() {\n calendar.prevYear();\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false; // Selectors clicks\n\n $el.find('.calendar-prev-month-button').on('click', onPrevMonthClick);\n $el.find('.calendar-next-month-button').on('click', onNextMonthClick);\n $el.find('.calendar-prev-year-button').on('click', onPrevYearClick);\n $el.find('.calendar-next-year-button').on('click', onNextYearClick); // Day clicks\n\n $wrapperEl.on('click', handleDayClick); // Touch events\n\n if (true) {\n if (calendar.params.touchMove) {\n $wrapperEl.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n }\n\n calendar.detachCalendarEvents = function detachCalendarEvents() {\n $el.find('.calendar-prev-month-button').off('click', onPrevMonthClick);\n $el.find('.calendar-next-month-button').off('click', onNextMonthClick);\n $el.find('.calendar-prev-year-button').off('click', onPrevYearClick);\n $el.find('.calendar-next-year-button').off('click', onNextYearClick);\n $wrapperEl.off('click', handleDayClick);\n\n if (\"development\".TARGET !== 'desktop') {\n if (calendar.params.touchMove) {\n $wrapperEl.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n }\n };\n };\n\n calendar.init();\n return _possibleConstructorReturn(_this, calendar);\n } // eslint-disable-next-line\n\n\n _createClass(Calendar, [{\n key: \"normalizeDate\",\n value: function normalizeDate(date) {\n var calendar = this;\n var d = new calendar.DateHandleClass(date);\n return new calendar.DateHandleClass(d.getFullYear(), d.getMonth(), d.getDate());\n }\n }, {\n key: \"normalizeValues\",\n value: function normalizeValues(values) {\n var calendar = this;\n var newValues = [];\n\n if (values && Array.isArray(values)) {\n newValues = values.map(function (val) {\n return calendar.normalizeDate(val);\n });\n }\n\n return newValues;\n }\n }, {\n key: \"initInput\",\n value: function initInput() {\n var calendar = this;\n if (!calendar.$inputEl) return;\n if (calendar.params.inputReadOnly) calendar.$inputEl.prop('readOnly', true);\n }\n }, {\n key: \"isPopover\",\n value: function isPopover() {\n var calendar = this;\n var app = calendar.app,\n modal = calendar.modal,\n params = calendar.params;\n if (params.openIn === 'sheet') return false;\n if (modal && modal.type !== 'popover') return false;\n\n if (!calendar.inline && calendar.inputEl) {\n if (params.openIn === 'popover') return true;\n\n if (app.device.ios) {\n return !!app.device.ipad;\n }\n\n if (app.width >= 768) {\n return true;\n }\n\n if (app.device.desktop && app.theme === 'aurora') {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"formatDate\",\n value: function formatDate(d) {\n var calendar = this;\n var date = new calendar.DateHandleClass(d);\n var year = date.getFullYear();\n var month = date.getMonth();\n var month1 = month + 1;\n var day = date.getDate();\n var weekDay = date.getDay();\n var _calendar$params = calendar.params,\n dateFormat = _calendar$params.dateFormat,\n monthNames = _calendar$params.monthNames,\n monthNamesShort = _calendar$params.monthNamesShort,\n dayNames = _calendar$params.dayNames,\n dayNamesShort = _calendar$params.dayNamesShort;\n return dateFormat.replace(/yyyy/g, year).replace(/yy/g, String(year).substring(2)).replace(/mm/g, month1 < 10 ? \"0\".concat(month1) : month1).replace(/m(\\W+)/g, \"\".concat(month1, \"$1\")).replace(/MM/g, monthNames[month]).replace(/M(\\W+)/g, \"\".concat(monthNamesShort[month], \"$1\")).replace(/dd/g, day < 10 ? \"0\".concat(day) : day).replace(/d(\\W+)/g, \"\".concat(day, \"$1\")).replace(/DD/g, dayNames[weekDay]).replace(/D(\\W+)/g, \"\".concat(dayNamesShort[weekDay], \"$1\"));\n }\n }, {\n key: \"formatValue\",\n value: function formatValue() {\n var calendar = this;\n var value = calendar.value;\n\n if (calendar.params.formatValue) {\n return calendar.params.formatValue.call(calendar, value);\n }\n\n return value.map(function (v) {\n return calendar.formatDate(v);\n }).join(calendar.params.rangePicker ? ' - ' : ', ');\n }\n }, {\n key: \"addValue\",\n value: function addValue(newValue) {\n var calendar = this;\n var _calendar$params2 = calendar.params,\n multiple = _calendar$params2.multiple,\n rangePicker = _calendar$params2.rangePicker,\n rangePickerMinDays = _calendar$params2.rangePickerMinDays,\n rangePickerMaxDays = _calendar$params2.rangePickerMaxDays;\n\n if (multiple) {\n if (!calendar.value) calendar.value = [];\n var inValuesIndex;\n\n for (var i = 0; i < calendar.value.length; i += 1) {\n if (new calendar.DateHandleClass(newValue).getTime() === new calendar.DateHandleClass(calendar.value[i]).getTime()) {\n inValuesIndex = i;\n }\n }\n\n if (typeof inValuesIndex === 'undefined') {\n calendar.value.push(newValue);\n } else {\n calendar.value.splice(inValuesIndex, 1);\n }\n\n calendar.updateValue();\n } else if (rangePicker) {\n if (!calendar.value) calendar.value = [];\n\n if (calendar.value.length === 2 || calendar.value.length === 0) {\n calendar.value = [];\n }\n\n if (calendar.value.length === 0 || Math.abs(calendar.value[0].getTime() - newValue.getTime()) >= (rangePickerMinDays - 1) * 60 * 60 * 24 * 1000 && (rangePickerMaxDays === 0 || Math.abs(calendar.value[0].getTime() - newValue.getTime()) <= (rangePickerMaxDays - 1) * 60 * 60 * 24 * 1000)) calendar.value.push(newValue);else calendar.value = [];\n calendar.value.sort(function (a, b) {\n return a - b;\n });\n calendar.updateValue();\n } else {\n calendar.value = [newValue];\n calendar.updateValue();\n }\n }\n }, {\n key: \"setValue\",\n value: function setValue(values) {\n var calendar = this;\n var currentValue = calendar.value;\n\n if (Array.isArray(currentValue) && Array.isArray(values) && currentValue.length === values.length) {\n var equal = true;\n currentValue.forEach(function (v, index) {\n if (v !== values[index]) equal = false;\n });\n if (equal) return;\n }\n\n calendar.value = values;\n calendar.updateValue();\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var calendar = this;\n return calendar.value;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue(onlyHeader) {\n var calendar = this;\n var $el = calendar.$el,\n $wrapperEl = calendar.$wrapperEl,\n $inputEl = calendar.$inputEl,\n value = calendar.value,\n params = calendar.params;\n var i;\n\n if ($el && $el.length > 0) {\n $wrapperEl.find('.calendar-day-selected').removeClass('calendar-day-selected');\n var valueDate;\n\n if (params.rangePicker && value.length === 2) {\n for (i = new calendar.DateHandleClass(value[0]).getTime(); i <= new calendar.DateHandleClass(value[1]).getTime(); i += 24 * 60 * 60 * 1000) {\n valueDate = new calendar.DateHandleClass(i);\n $wrapperEl.find(\".calendar-day[data-date=\\\"\".concat(valueDate.getFullYear(), \"-\").concat(valueDate.getMonth(), \"-\").concat(valueDate.getDate(), \"\\\"]\")).addClass('calendar-day-selected');\n }\n } else {\n for (i = 0; i < calendar.value.length; i += 1) {\n valueDate = new calendar.DateHandleClass(value[i]);\n $wrapperEl.find(\".calendar-day[data-date=\\\"\".concat(valueDate.getFullYear(), \"-\").concat(valueDate.getMonth(), \"-\").concat(valueDate.getDate(), \"\\\"]\")).addClass('calendar-day-selected');\n }\n }\n }\n\n if (!onlyHeader) {\n calendar.emit('local::change calendarChange', calendar, value);\n }\n\n if ($inputEl && $inputEl.length || params.header) {\n var inputValue = calendar.formatValue(value);\n\n if (params.header && $el && $el.length) {\n $el.find('.calendar-selected-date').text(inputValue);\n }\n\n if ($inputEl && $inputEl.length && !onlyHeader) {\n $inputEl.val(inputValue);\n $inputEl.trigger('change');\n }\n }\n }\n }, {\n key: \"updateCurrentMonthYear\",\n value: function updateCurrentMonthYear(dir) {\n var calendar = this;\n var $months = calendar.$months,\n $el = calendar.$el,\n params = calendar.params;\n\n if (typeof dir === 'undefined') {\n calendar.currentMonth = parseInt($months.eq(1).attr('data-month'), 10);\n calendar.currentYear = parseInt($months.eq(1).attr('data-year'), 10);\n } else {\n calendar.currentMonth = parseInt($months.eq(dir === 'next' ? $months.length - 1 : 0).attr('data-month'), 10);\n calendar.currentYear = parseInt($months.eq(dir === 'next' ? $months.length - 1 : 0).attr('data-year'), 10);\n }\n\n $el.find('.current-month-value').text(params.monthNames[calendar.currentMonth]);\n $el.find('.current-year-value').text(calendar.currentYear);\n }\n }, {\n key: \"update\",\n value: function update() {\n var calendar = this;\n var currentYear = calendar.currentYear,\n currentMonth = calendar.currentMonth,\n $wrapperEl = calendar.$wrapperEl;\n var currentDate = new calendar.DateHandleClass(currentYear, currentMonth);\n var prevMonthHtml = calendar.renderMonth(currentDate, 'prev');\n var currentMonthHtml = calendar.renderMonth(currentDate);\n var nextMonthHtml = calendar.renderMonth(currentDate, 'next');\n $wrapperEl.transition(0).html(\"\".concat(prevMonthHtml).concat(currentMonthHtml).concat(nextMonthHtml)).transform('translate3d(0,0,0)');\n calendar.$months = $wrapperEl.find('.calendar-month');\n calendar.monthsTranslate = 0;\n calendar.setMonthsTranslate();\n calendar.$months.each(function (index, monthEl) {\n calendar.emit('local::monthAdd calendarMonthAdd', monthEl);\n });\n }\n }, {\n key: \"onMonthChangeStart\",\n value: function onMonthChangeStart(dir) {\n var calendar = this;\n var $months = calendar.$months,\n currentYear = calendar.currentYear,\n currentMonth = calendar.currentMonth;\n calendar.updateCurrentMonthYear(dir);\n $months.removeClass('calendar-month-current calendar-month-prev calendar-month-next');\n var currentIndex = dir === 'next' ? $months.length - 1 : 0;\n $months.eq(currentIndex).addClass('calendar-month-current');\n $months.eq(dir === 'next' ? currentIndex - 1 : currentIndex + 1).addClass(dir === 'next' ? 'calendar-month-prev' : 'calendar-month-next');\n calendar.emit('local::monthYearChangeStart calendarMonthYearChangeStart', calendar, currentYear, currentMonth);\n }\n }, {\n key: \"onMonthChangeEnd\",\n value: function onMonthChangeEnd(dir, rebuildBoth) {\n var calendar = this;\n var currentYear = calendar.currentYear,\n currentMonth = calendar.currentMonth,\n $wrapperEl = calendar.$wrapperEl,\n monthsTranslate = calendar.monthsTranslate;\n calendar.animating = false;\n var nextMonthHtml;\n var prevMonthHtml;\n var currentMonthHtml;\n $wrapperEl.find('.calendar-month:not(.calendar-month-prev):not(.calendar-month-current):not(.calendar-month-next)').remove();\n\n if (typeof dir === 'undefined') {\n dir = 'next'; // eslint-disable-line\n\n rebuildBoth = true; // eslint-disable-line\n }\n\n if (!rebuildBoth) {\n currentMonthHtml = calendar.renderMonth(new calendar.DateHandleClass(currentYear, currentMonth), dir);\n } else {\n $wrapperEl.find('.calendar-month-next, .calendar-month-prev').remove();\n prevMonthHtml = calendar.renderMonth(new calendar.DateHandleClass(currentYear, currentMonth), 'prev');\n nextMonthHtml = calendar.renderMonth(new calendar.DateHandleClass(currentYear, currentMonth), 'next');\n }\n\n if (dir === 'next' || rebuildBoth) {\n $wrapperEl.append(currentMonthHtml || nextMonthHtml);\n }\n\n if (dir === 'prev' || rebuildBoth) {\n $wrapperEl.prepend(currentMonthHtml || prevMonthHtml);\n }\n\n var $months = $wrapperEl.find('.calendar-month');\n calendar.$months = $months;\n calendar.setMonthsTranslate(monthsTranslate);\n calendar.emit('local::monthAdd calendarMonthAdd', calendar, dir === 'next' ? $months.eq($months.length - 1)[0] : $months.eq(0)[0]);\n calendar.emit('local::monthYearChangeEnd calendarMonthYearChangeEnd', calendar, currentYear, currentMonth);\n }\n }, {\n key: \"setMonthsTranslate\",\n value: function setMonthsTranslate(translate) {\n var calendar = this;\n var $months = calendar.$months,\n isH = calendar.isHorizontal,\n inverter = calendar.inverter; // eslint-disable-next-line\n\n translate = translate || calendar.monthsTranslate || 0;\n\n if (typeof calendar.monthsTranslate === 'undefined') {\n calendar.monthsTranslate = translate;\n }\n\n $months.removeClass('calendar-month-current calendar-month-prev calendar-month-next');\n var prevMonthTranslate = -(translate + 1) * 100 * inverter;\n var currentMonthTranslate = -translate * 100 * inverter;\n var nextMonthTranslate = -(translate - 1) * 100 * inverter;\n $months.eq(0).transform(\"translate3d(\".concat(isH ? prevMonthTranslate : 0, \"%, \").concat(isH ? 0 : prevMonthTranslate, \"%, 0)\")).addClass('calendar-month-prev');\n $months.eq(1).transform(\"translate3d(\".concat(isH ? currentMonthTranslate : 0, \"%, \").concat(isH ? 0 : currentMonthTranslate, \"%, 0)\")).addClass('calendar-month-current');\n $months.eq(2).transform(\"translate3d(\".concat(isH ? nextMonthTranslate : 0, \"%, \").concat(isH ? 0 : nextMonthTranslate, \"%, 0)\")).addClass('calendar-month-next');\n }\n }, {\n key: \"nextMonth\",\n value: function nextMonth(transition) {\n var calendar = this;\n var params = calendar.params,\n $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter,\n isH = calendar.isHorizontal;\n\n if (typeof transition === 'undefined' || _typeof(transition) === 'object') {\n transition = ''; // eslint-disable-line\n\n if (!params.animate) transition = 0; // eslint-disable-line\n }\n\n var nextMonth = parseInt(calendar.$months.eq(calendar.$months.length - 1).attr('data-month'), 10);\n var nextYear = parseInt(calendar.$months.eq(calendar.$months.length - 1).attr('data-year'), 10);\n var nextDate = new calendar.DateHandleClass(nextYear, nextMonth);\n var nextDateTime = nextDate.getTime();\n var transitionEndCallback = !calendar.animating;\n\n if (params.maxDate) {\n if (nextDateTime > new calendar.DateHandleClass(params.maxDate).getTime()) {\n calendar.resetMonth();\n return;\n }\n }\n\n calendar.monthsTranslate -= 1;\n\n if (nextMonth === calendar.currentMonth) {\n var nextMonthTranslate = -calendar.monthsTranslate * 100 * inverter;\n var nextMonthHtml = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.renderMonth(nextDateTime, 'next')).transform(\"translate3d(\".concat(isH ? nextMonthTranslate : 0, \"%, \").concat(isH ? 0 : nextMonthTranslate, \"%, 0)\")).addClass('calendar-month-next');\n $wrapperEl.append(nextMonthHtml[0]);\n calendar.$months = $wrapperEl.find('.calendar-month');\n calendar.emit('local::monthAdd calendarMonthAdd', calendar.$months.eq(calendar.$months.length - 1)[0]);\n }\n\n calendar.animating = true;\n calendar.onMonthChangeStart('next');\n var translate = calendar.monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? translate : 0, \"%, \").concat(isH ? 0 : translate, \"%, 0)\"));\n\n if (transitionEndCallback) {\n $wrapperEl.transitionEnd(function () {\n calendar.onMonthChangeEnd('next');\n });\n }\n\n if (!params.animate) {\n calendar.onMonthChangeEnd('next');\n }\n }\n }, {\n key: \"prevMonth\",\n value: function prevMonth(transition) {\n var calendar = this;\n var params = calendar.params,\n $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter,\n isH = calendar.isHorizontal;\n\n if (typeof transition === 'undefined' || _typeof(transition) === 'object') {\n transition = ''; // eslint-disable-line\n\n if (!params.animate) transition = 0; // eslint-disable-line\n }\n\n var prevMonth = parseInt(calendar.$months.eq(0).attr('data-month'), 10);\n var prevYear = parseInt(calendar.$months.eq(0).attr('data-year'), 10);\n var prevDate = new calendar.DateHandleClass(prevYear, prevMonth + 1, -1);\n var prevDateTime = prevDate.getTime();\n var transitionEndCallback = !calendar.animating;\n\n if (params.minDate) {\n var minDate = new calendar.DateHandleClass(params.minDate);\n minDate = new calendar.DateHandleClass(minDate.getFullYear(), minDate.getMonth(), 1);\n\n if (prevDateTime < minDate.getTime()) {\n calendar.resetMonth();\n return;\n }\n }\n\n calendar.monthsTranslate += 1;\n\n if (prevMonth === calendar.currentMonth) {\n var prevMonthTranslate = -calendar.monthsTranslate * 100 * inverter;\n var prevMonthHtml = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.renderMonth(prevDateTime, 'prev')).transform(\"translate3d(\".concat(isH ? prevMonthTranslate : 0, \"%, \").concat(isH ? 0 : prevMonthTranslate, \"%, 0)\")).addClass('calendar-month-prev');\n $wrapperEl.prepend(prevMonthHtml[0]);\n calendar.$months = $wrapperEl.find('.calendar-month');\n calendar.emit('local::monthAdd calendarMonthAdd', calendar.$months.eq(0)[0]);\n }\n\n calendar.animating = true;\n calendar.onMonthChangeStart('prev');\n var translate = calendar.monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? translate : 0, \"%, \").concat(isH ? 0 : translate, \"%, 0)\"));\n\n if (transitionEndCallback) {\n $wrapperEl.transitionEnd(function () {\n calendar.onMonthChangeEnd('prev');\n });\n }\n\n if (!params.animate) {\n calendar.onMonthChangeEnd('prev');\n }\n }\n }, {\n key: \"resetMonth\",\n value: function resetMonth() {\n var transition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var calendar = this;\n var $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter,\n isH = calendar.isHorizontal,\n monthsTranslate = calendar.monthsTranslate;\n var translate = monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? translate : 0, \"%, \").concat(isH ? 0 : translate, \"%, 0)\"));\n } // eslint-disable-next-line\n\n }, {\n key: \"setYearMonth\",\n value: function setYearMonth(year, month, transition) {\n var calendar = this;\n var params = calendar.params,\n isH = calendar.isHorizontal,\n $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter; // eslint-disable-next-line\n\n if (typeof year === 'undefined') year = calendar.currentYear; // eslint-disable-next-line\n\n if (typeof month === 'undefined') month = calendar.currentMonth;\n\n if (typeof transition === 'undefined' || _typeof(transition) === 'object') {\n // eslint-disable-next-line\n transition = ''; // eslint-disable-next-line\n\n if (!params.animate) transition = 0;\n }\n\n var targetDate;\n\n if (year < calendar.currentYear) {\n targetDate = new calendar.DateHandleClass(year, month + 1, -1).getTime();\n } else {\n targetDate = new calendar.DateHandleClass(year, month).getTime();\n }\n\n if (params.maxDate && targetDate > new calendar.DateHandleClass(params.maxDate).getTime()) {\n return false;\n }\n\n if (params.minDate) {\n var minDate = new calendar.DateHandleClass(params.minDate);\n minDate = new calendar.DateHandleClass(minDate.getFullYear(), minDate.getMonth(), 1);\n\n if (targetDate < minDate.getTime()) {\n return false;\n }\n }\n\n var currentDate = new calendar.DateHandleClass(calendar.currentYear, calendar.currentMonth).getTime();\n var dir = targetDate > currentDate ? 'next' : 'prev';\n var newMonthHTML = calendar.renderMonth(new calendar.DateHandleClass(year, month));\n calendar.monthsTranslate = calendar.monthsTranslate || 0;\n var prevTranslate = calendar.monthsTranslate;\n var monthTranslate;\n var transitionEndCallback = !calendar.animating;\n\n if (targetDate > currentDate) {\n // To next\n calendar.monthsTranslate -= 1;\n if (!calendar.animating) calendar.$months.eq(calendar.$months.length - 1).remove();\n $wrapperEl.append(newMonthHTML);\n calendar.$months = $wrapperEl.find('.calendar-month');\n monthTranslate = -(prevTranslate - 1) * 100 * inverter;\n calendar.$months.eq(calendar.$months.length - 1).transform(\"translate3d(\".concat(isH ? monthTranslate : 0, \"%, \").concat(isH ? 0 : monthTranslate, \"%, 0)\")).addClass('calendar-month-next');\n } else {\n // To prev\n calendar.monthsTranslate += 1;\n if (!calendar.animating) calendar.$months.eq(0).remove();\n $wrapperEl.prepend(newMonthHTML);\n calendar.$months = $wrapperEl.find('.calendar-month');\n monthTranslate = -(prevTranslate + 1) * 100 * inverter;\n calendar.$months.eq(0).transform(\"translate3d(\".concat(isH ? monthTranslate : 0, \"%, \").concat(isH ? 0 : monthTranslate, \"%, 0)\")).addClass('calendar-month-prev');\n }\n\n calendar.emit('local::monthAdd calendarMonthAdd', dir === 'next' ? calendar.$months.eq(calendar.$months.length - 1)[0] : calendar.$months.eq(0)[0]);\n calendar.animating = true;\n calendar.onMonthChangeStart(dir);\n var wrapperTranslate = calendar.monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? wrapperTranslate : 0, \"%, \").concat(isH ? 0 : wrapperTranslate, \"%, 0)\"));\n\n if (transitionEndCallback) {\n $wrapperEl.transitionEnd(function () {\n calendar.onMonthChangeEnd(dir, true);\n });\n }\n\n if (!params.animate) {\n calendar.onMonthChangeEnd(dir);\n }\n }\n }, {\n key: \"nextYear\",\n value: function nextYear() {\n var calendar = this;\n calendar.setYearMonth(calendar.currentYear + 1);\n }\n }, {\n key: \"prevYear\",\n value: function prevYear() {\n var calendar = this;\n calendar.setYearMonth(calendar.currentYear - 1);\n } // eslint-disable-next-line\n\n }, {\n key: \"dateInRange\",\n value: function dateInRange(dayDate, range) {\n var calendar = this;\n var match = false;\n var i;\n if (!range) return false;\n\n if (Array.isArray(range)) {\n for (i = 0; i < range.length; i += 1) {\n if (range[i].from || range[i].to) {\n if (range[i].from && range[i].to) {\n if (dayDate <= new calendar.DateHandleClass(range[i].to).getTime() && dayDate >= new calendar.DateHandleClass(range[i].from).getTime()) {\n match = true;\n }\n } else if (range[i].from) {\n if (dayDate >= new calendar.DateHandleClass(range[i].from).getTime()) {\n match = true;\n }\n } else if (range[i].to) {\n if (dayDate <= new calendar.DateHandleClass(range[i].to).getTime()) {\n match = true;\n }\n }\n } else if (range[i].date) {\n if (dayDate === new calendar.DateHandleClass(range[i].date).getTime()) {\n match = true;\n }\n } else if (dayDate === new calendar.DateHandleClass(range[i]).getTime()) {\n match = true;\n }\n }\n } else if (range.from || range.to) {\n if (range.from && range.to) {\n if (dayDate <= new calendar.DateHandleClass(range.to).getTime() && dayDate >= new calendar.DateHandleClass(range.from).getTime()) {\n match = true;\n }\n } else if (range.from) {\n if (dayDate >= new calendar.DateHandleClass(range.from).getTime()) {\n match = true;\n }\n } else if (range.to) {\n if (dayDate <= new calendar.DateHandleClass(range.to).getTime()) {\n match = true;\n }\n }\n } else if (range.date) {\n match = dayDate === new calendar.DateHandleClass(range.date).getTime();\n } else if (typeof range === 'function') {\n match = range(new calendar.DateHandleClass(dayDate));\n }\n\n return match;\n } // eslint-disable-next-line\n\n }, {\n key: \"daysInMonth\",\n value: function daysInMonth(date) {\n var calendar = this;\n var d = new calendar.DateHandleClass(date);\n return new calendar.DateHandleClass(d.getFullYear(), d.getMonth() + 1, 0).getDate();\n }\n }, {\n key: \"renderMonths\",\n value: function renderMonths(date) {\n var calendar = this;\n\n if (calendar.params.renderMonths) {\n return calendar.params.renderMonths.call(calendar, date);\n }\n\n return \"\\n
          \\n \".concat(calendar.renderMonth(date, 'prev'), \"\\n \").concat(calendar.renderMonth(date), \"\\n \").concat(calendar.renderMonth(date, 'next'), \"\\n
          \\n \").trim();\n }\n }, {\n key: \"renderMonth\",\n value: function renderMonth(d, offset) {\n var calendar = this;\n var params = calendar.params,\n value = calendar.value;\n\n if (params.renderMonth) {\n return params.renderMonth.call(calendar, d, offset);\n }\n\n var date = new calendar.DateHandleClass(d);\n var year = date.getFullYear();\n var month = date.getMonth();\n\n if (offset === 'next') {\n if (month === 11) date = new calendar.DateHandleClass(year + 1, 0);else date = new calendar.DateHandleClass(year, month + 1, 1);\n }\n\n if (offset === 'prev') {\n if (month === 0) date = new calendar.DateHandleClass(year - 1, 11);else date = new calendar.DateHandleClass(year, month - 1, 1);\n }\n\n if (offset === 'next' || offset === 'prev') {\n month = date.getMonth();\n year = date.getFullYear();\n }\n\n var currentValues = [];\n var today = new calendar.DateHandleClass().setHours(0, 0, 0, 0);\n var minDate = params.minDate ? new calendar.DateHandleClass(params.minDate).getTime() : null;\n var maxDate = params.maxDate ? new calendar.DateHandleClass(params.maxDate).getTime() : null;\n var rows = 6;\n var cols = 7;\n var daysInPrevMonth = calendar.daysInMonth(new calendar.DateHandleClass(date.getFullYear(), date.getMonth()).getTime() - 10 * 24 * 60 * 60 * 1000);\n var daysInMonth = calendar.daysInMonth(date);\n var minDayNumber = params.firstDay === 6 ? 0 : 1;\n var monthHtml = '';\n var dayIndex = 0 + (params.firstDay - 1);\n var disabled;\n var hasEvents;\n var firstDayOfMonthIndex = new calendar.DateHandleClass(date.getFullYear(), date.getMonth()).getDay();\n if (firstDayOfMonthIndex === 0) firstDayOfMonthIndex = 7;\n\n if (value && value.length) {\n for (var i = 0; i < value.length; i += 1) {\n currentValues.push(new calendar.DateHandleClass(value[i]).setHours(0, 0, 0, 0));\n }\n }\n\n for (var row = 1; row <= rows; row += 1) {\n var rowHtml = '';\n\n var _loop = function _loop(col) {\n dayIndex += 1;\n var dayDate = void 0;\n var dayNumber = dayIndex - firstDayOfMonthIndex;\n var addClass = '';\n\n if (row === 1 && col === 1 && dayNumber > minDayNumber && params.firstDay !== 1) {\n dayIndex -= 7;\n dayNumber = dayIndex - firstDayOfMonthIndex;\n }\n\n var weekDayIndex = col - 1 + params.firstDay > 6 ? col - 1 - 7 + params.firstDay : col - 1 + params.firstDay;\n\n if (dayNumber < 0) {\n dayNumber = daysInPrevMonth + dayNumber + 1;\n addClass += ' calendar-day-prev';\n dayDate = new calendar.DateHandleClass(month - 1 < 0 ? year - 1 : year, month - 1 < 0 ? 11 : month - 1, dayNumber).getTime();\n } else {\n dayNumber += 1;\n\n if (dayNumber > daysInMonth) {\n dayNumber -= daysInMonth;\n addClass += ' calendar-day-next';\n dayDate = new calendar.DateHandleClass(month + 1 > 11 ? year + 1 : year, month + 1 > 11 ? 0 : month + 1, dayNumber).getTime();\n } else {\n dayDate = new calendar.DateHandleClass(year, month, dayNumber).getTime();\n }\n } // Today\n\n\n if (dayDate === today) addClass += ' calendar-day-today'; // Selected\n\n if (params.rangePicker && currentValues.length === 2) {\n if (dayDate >= currentValues[0] && dayDate <= currentValues[1]) addClass += ' calendar-day-selected';\n } else if (currentValues.indexOf(dayDate) >= 0) addClass += ' calendar-day-selected'; // Weekend\n\n\n if (params.weekendDays.indexOf(weekDayIndex) >= 0) {\n addClass += ' calendar-day-weekend';\n } // Events\n\n\n var eventsHtml = '';\n hasEvents = false;\n\n if (params.events) {\n if (calendar.dateInRange(dayDate, params.events)) {\n hasEvents = true;\n }\n }\n\n if (hasEvents) {\n addClass += ' calendar-day-has-events';\n eventsHtml = \"\\n \\n \\n \\n \";\n\n if (Array.isArray(params.events)) {\n var eventDots = [];\n params.events.forEach(function (ev) {\n var color = ev.color || '';\n\n if (eventDots.indexOf(color) < 0 && calendar.dateInRange(dayDate, ev)) {\n eventDots.push(color);\n }\n });\n eventsHtml = \"\\n \\n \".concat(eventDots.map(function (color) {\n return \"\\n \\n \").trim();\n }).join(''), \"\\n \\n \");\n }\n } // Custom Ranges\n\n\n if (params.rangesClasses) {\n for (var k = 0; k < params.rangesClasses.length; k += 1) {\n if (calendar.dateInRange(dayDate, params.rangesClasses[k].range)) {\n addClass += \" \".concat(params.rangesClasses[k].cssClass);\n }\n }\n } // Disabled\n\n\n disabled = false;\n\n if (minDate && dayDate < minDate || maxDate && dayDate > maxDate) {\n disabled = true;\n }\n\n if (params.disabled) {\n if (calendar.dateInRange(dayDate, params.disabled)) {\n disabled = true;\n }\n }\n\n if (disabled) {\n addClass += ' calendar-day-disabled';\n }\n\n dayDate = new calendar.DateHandleClass(dayDate);\n var dayYear = dayDate.getFullYear();\n var dayMonth = dayDate.getMonth();\n rowHtml += \"\\n
          \\n \").concat(dayNumber).concat(eventsHtml, \"\\n
          \").trim();\n };\n\n for (var col = 1; col <= cols; col += 1) {\n _loop(col);\n }\n\n monthHtml += \"
          \".concat(rowHtml, \"
          \");\n }\n\n monthHtml = \"
          \").concat(monthHtml, \"
          \");\n return monthHtml;\n }\n }, {\n key: \"renderWeekHeader\",\n value: function renderWeekHeader() {\n var calendar = this;\n\n if (calendar.params.renderWeekHeader) {\n return calendar.params.renderWeekHeader.call(calendar);\n }\n\n var params = calendar.params;\n var weekDaysHtml = '';\n\n for (var i = 0; i < 7; i += 1) {\n var dayIndex = i + params.firstDay > 6 ? i - 7 + params.firstDay : i + params.firstDay;\n var dayName = params.dayNamesShort[dayIndex];\n weekDaysHtml += \"
          \".concat(dayName, \"
          \");\n }\n\n return \"\\n
          \\n \".concat(weekDaysHtml, \"\\n
          \\n \").trim();\n }\n }, {\n key: \"renderMonthSelector\",\n value: function renderMonthSelector() {\n var calendar = this;\n\n if (calendar.params.renderMonthSelector) {\n return calendar.params.renderMonthSelector.call(calendar);\n }\n\n return \"\\n
          \\n \\n \\n \\n \\n \\n \\n \\n
          \\n \".trim();\n }\n }, {\n key: \"renderYearSelector\",\n value: function renderYearSelector() {\n var calendar = this;\n\n if (calendar.params.renderYearSelector) {\n return calendar.params.renderYearSelector.call(calendar);\n }\n\n return \"\\n
          \\n \\n \\n \\n \\n \\n \\n \\n
          \\n \".trim();\n }\n }, {\n key: \"renderHeader\",\n value: function renderHeader() {\n var calendar = this;\n\n if (calendar.params.renderHeader) {\n return calendar.params.renderHeader.call(calendar);\n }\n\n return \"\\n
          \\n
          \".concat(calendar.params.headerPlaceholder, \"
          \\n
          \\n \").trim();\n }\n }, {\n key: \"renderFooter\",\n value: function renderFooter() {\n var calendar = this;\n var app = calendar.app;\n\n if (calendar.params.renderFooter) {\n return calendar.params.renderFooter.call(calendar);\n }\n\n return \"\\n
          \\n \").concat(calendar.params.toolbarCloseText, \"\\n
          \\n \").trim();\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var calendar = this;\n\n if (calendar.params.renderToolbar) {\n return calendar.params.renderToolbar.call(calendar, calendar);\n }\n\n return \"\\n
          \\n
          \\n \".concat(calendar.params.monthSelector ? calendar.renderMonthSelector() : '', \"\\n \").concat(calendar.params.yearSelector ? calendar.renderYearSelector() : '', \"\\n
          \\n
          \\n \").trim();\n } // eslint-disable-next-line\n\n }, {\n key: \"renderInline\",\n value: function renderInline() {\n var calendar = this;\n var _calendar$params3 = calendar.params,\n cssClass = _calendar$params3.cssClass,\n toolbar = _calendar$params3.toolbar,\n header = _calendar$params3.header,\n footer = _calendar$params3.footer,\n rangePicker = _calendar$params3.rangePicker,\n weekHeader = _calendar$params3.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var inlineHtml = \"\\n
          \\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n
          \\n \").concat(calendar.renderMonths(date), \"\\n
          \\n \").concat(footer ? calendar.renderFooter() : '', \"\\n
          \\n \").trim();\n return inlineHtml;\n }\n }, {\n key: \"renderCustomModal\",\n value: function renderCustomModal() {\n var calendar = this;\n var _calendar$params4 = calendar.params,\n cssClass = _calendar$params4.cssClass,\n toolbar = _calendar$params4.toolbar,\n header = _calendar$params4.header,\n footer = _calendar$params4.footer,\n rangePicker = _calendar$params4.rangePicker,\n weekHeader = _calendar$params4.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var sheetHtml = \"\\n
          \\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n
          \\n \").concat(calendar.renderMonths(date), \"\\n
          \\n \").concat(footer ? calendar.renderFooter() : '', \"\\n
          \\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var calendar = this;\n var _calendar$params5 = calendar.params,\n cssClass = _calendar$params5.cssClass,\n toolbar = _calendar$params5.toolbar,\n header = _calendar$params5.header,\n footer = _calendar$params5.footer,\n rangePicker = _calendar$params5.rangePicker,\n weekHeader = _calendar$params5.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var sheetHtml = \"\\n
          \\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n
          \\n \").concat(calendar.renderMonths(date), \"\\n
          \\n \").concat(footer ? calendar.renderFooter() : '', \"\\n
          \\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var calendar = this;\n var _calendar$params6 = calendar.params,\n cssClass = _calendar$params6.cssClass,\n toolbar = _calendar$params6.toolbar,\n header = _calendar$params6.header,\n footer = _calendar$params6.footer,\n rangePicker = _calendar$params6.rangePicker,\n weekHeader = _calendar$params6.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var popoverHtml = \"\\n
          \\n
          \\n
          \\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n
          \\n \").concat(calendar.renderMonths(date), \"\\n
          \\n \").concat(footer ? calendar.renderFooter() : '', \"\\n
          \\n
          \\n
          \\n \").trim();\n return popoverHtml;\n }\n }, {\n key: \"render\",\n value: function render() {\n var calendar = this;\n var params = calendar.params;\n if (params.render) return params.render.call(calendar);\n\n if (!calendar.inline) {\n var modalType = params.openIn;\n if (modalType === 'auto') modalType = calendar.isPopover() ? 'popover' : 'sheet';\n if (modalType === 'popover') return calendar.renderPopover();\n if (modalType === 'sheet') return calendar.renderSheet();\n return calendar.renderCustomModal();\n }\n\n return calendar.renderInline();\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var calendar = this;\n var initialized = calendar.initialized,\n $el = calendar.$el,\n app = calendar.app,\n $inputEl = calendar.$inputEl,\n inline = calendar.inline,\n value = calendar.value,\n params = calendar.params;\n calendar.closing = false;\n calendar.opened = true;\n calendar.opening = true; // Init main events\n\n calendar.attachCalendarEvents();\n var updateValue = !value && params.value; // Set value\n\n if (!initialized) {\n if (value) calendar.setValue(value, 0);else if (params.value) {\n calendar.setValue(calendar.normalizeValues(params.value), 0);\n }\n } else if (value) {\n calendar.setValue(value, 0);\n } // Update current month and year\n\n\n calendar.updateCurrentMonthYear(); // Set initial translate\n\n calendar.monthsTranslate = 0;\n calendar.setMonthsTranslate(); // Update input value\n\n if (updateValue) calendar.updateValue();else if (params.header && value) {\n calendar.updateValue(true);\n } // Extra focus\n\n if (!inline && $inputEl && $inputEl.length && app.theme === 'md') {\n $inputEl.trigger('focus');\n }\n\n calendar.initialized = true;\n calendar.$months.each(function (index, monthEl) {\n calendar.emit('local::monthAdd calendarMonthAdd', monthEl);\n }); // Trigger events\n\n if ($el) {\n $el.trigger('calendar:open', calendar);\n }\n\n if ($inputEl) {\n $inputEl.trigger('calendar:open', calendar);\n }\n\n calendar.emit('local::open calendarOpen', calendar);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var calendar = this;\n calendar.opening = false;\n\n if (calendar.$el) {\n calendar.$el.trigger('calendar:opened', calendar);\n }\n\n if (calendar.$inputEl) {\n calendar.$inputEl.trigger('calendar:opened', calendar);\n }\n\n calendar.emit('local::opened calendarOpened', calendar);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var calendar = this;\n var app = calendar.app;\n calendar.opening = false;\n calendar.closing = true;\n\n if (calendar.$inputEl && app.theme === 'md') {\n calendar.$inputEl.trigger('blur');\n }\n\n if (calendar.detachCalendarEvents) {\n calendar.detachCalendarEvents();\n }\n\n if (calendar.$el) {\n calendar.$el.trigger('calendar:close', calendar);\n }\n\n if (calendar.$inputEl) {\n calendar.$inputEl.trigger('calendar:close', calendar);\n }\n\n calendar.emit('local::close calendarClose', calendar);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var calendar = this;\n calendar.opened = false;\n calendar.closing = false;\n\n if (!calendar.inline) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (calendar.modal && calendar.modal.el && calendar.modal.destroy) {\n if (!calendar.params.routableModals) {\n calendar.modal.destroy();\n }\n }\n\n delete calendar.modal;\n });\n }\n\n if (calendar.$el) {\n calendar.$el.trigger('calendar:closed', calendar);\n }\n\n if (calendar.$inputEl) {\n calendar.$inputEl.trigger('calendar:closed', calendar);\n }\n\n calendar.emit('local::closed calendarClosed', calendar);\n }\n }, {\n key: \"open\",\n value: function open() {\n var calendar = this;\n var app = calendar.app,\n opened = calendar.opened,\n inline = calendar.inline,\n $inputEl = calendar.$inputEl,\n params = calendar.params;\n if (opened) return;\n\n if (inline) {\n calendar.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.render());\n calendar.$el[0].f7Calendar = calendar;\n calendar.$wrapperEl = calendar.$el.find('.calendar-months-wrapper');\n calendar.$months = calendar.$wrapperEl.find('.calendar-month');\n calendar.$containerEl.append(calendar.$el);\n calendar.onOpen();\n calendar.onOpened();\n return;\n }\n\n var modalType = params.openIn;\n\n if (modalType === 'auto') {\n modalType = calendar.isPopover() ? 'popover' : 'sheet';\n }\n\n var modalContent = calendar.render();\n var modalParams = {\n targetEl: $inputEl,\n scrollToEl: calendar.params.scrollToInput ? $inputEl : undefined,\n content: modalContent,\n backdrop: calendar.params.backdrop === true || modalType === 'popover' && app.params.popover.backdrop !== false && calendar.params.backdrop !== false,\n closeByBackdropClick: calendar.params.closeByBackdropClick,\n on: {\n open: function open() {\n var modal = this;\n calendar.modal = modal;\n calendar.$el = modalType === 'popover' ? modal.$el.find('.calendar') : modal.$el;\n calendar.$wrapperEl = calendar.$el.find('.calendar-months-wrapper');\n calendar.$months = calendar.$wrapperEl.find('.calendar-month');\n calendar.$el[0].f7Calendar = calendar;\n\n if (modalType === 'customModal') {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.$el).find('.calendar-close').once('click', function () {\n calendar.close();\n });\n }\n\n calendar.onOpen();\n },\n opened: function opened() {\n calendar.onOpened();\n },\n close: function close() {\n calendar.onClose();\n },\n closed: function closed() {\n calendar.onClosed();\n }\n }\n };\n\n if (calendar.params.routableModals) {\n calendar.view.router.navigate({\n url: calendar.url,\n route: _defineProperty({\n path: calendar.url\n }, modalType, modalParams)\n });\n } else {\n calendar.modal = app[modalType].create(modalParams);\n calendar.modal.open();\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n var calendar = this;\n var opened = calendar.opened,\n inline = calendar.inline;\n if (!opened) return;\n\n if (inline) {\n calendar.onClose();\n calendar.onClosed();\n return;\n }\n\n if (calendar.params.routableModals) {\n calendar.view.router.back();\n } else {\n calendar.modal.close();\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var calendar = this;\n calendar.initInput();\n\n if (calendar.inline) {\n calendar.open();\n calendar.emit('local::init calendarInit', calendar);\n return;\n }\n\n if (!calendar.initialized && calendar.params.value) {\n calendar.setValue(calendar.normalizeValues(calendar.params.value));\n } // Attach input Events\n\n\n if (calendar.$inputEl) {\n calendar.attachInputEvents();\n }\n\n if (calendar.params.closeByOutsideClick) {\n calendar.attachHtmlEvents();\n }\n\n calendar.emit('local::init calendarInit', calendar);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var calendar = this;\n if (calendar.destroyed) return;\n var $el = calendar.$el;\n calendar.emit('local::beforeDestroy calendarBeforeDestroy', calendar);\n if ($el) $el.trigger('calendar:beforedestroy', calendar);\n calendar.close(); // Detach Events\n\n if (calendar.$inputEl) {\n calendar.detachInputEvents();\n }\n\n if (calendar.params.closeByOutsideClick) {\n calendar.detachHtmlEvents();\n }\n\n if ($el && $el.length) delete calendar.$el[0].f7Calendar;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(calendar);\n calendar.destroyed = true;\n }\n }]);\n\n return Calendar;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Calendar);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/calendar-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/calendar/calendar.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/calendar/calendar.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _calendar_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./calendar-class */ \"./node_modules/framework7/components/calendar/calendar-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'calendar',\n static: {\n Calendar: _calendar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.calendar = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.calendar',\n constructor: _calendar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Calendar'\n });\n\n app.calendar.close = function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.calendar';\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n var calendar = $el[0].f7Calendar;\n if (!calendar || calendar && !calendar.opened) return;\n calendar.close();\n };\n },\n params: {\n calendar: {\n // Calendar settings\n calendarType: 'gregorian',\n // or 'jalali'\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n firstDay: 1,\n // First day of the week, Monday\n weekendDays: [0, 6],\n // Sunday and Saturday\n jalali: {\n monthNames: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],\n monthNamesShort: ['فَر', 'اُر', 'خُر', 'تیر', 'مُر', 'شَه', 'مهر', 'آب', 'آذر', 'دی', 'بَه', 'اِس'],\n dayNames: ['یک‌شنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنج‌شنبه', 'جمعه', 'شنبه'],\n dayNamesShort: ['1ش', '۲ش', '۳ش', '۴ش', '۵ش', 'ج', 'ش'],\n firstDay: 6,\n // Saturday\n weekendDays: [5] // Friday\n\n },\n multiple: false,\n rangePicker: false,\n rangePickerMinDays: 1,\n // when calendar is used as rangePicker\n rangePickerMaxDays: 0,\n // when calendar is used as rangePicker, 0 means unlimited\n dateFormat: 'yyyy-mm-dd',\n direction: 'horizontal',\n // or 'vertical'\n minDate: null,\n maxDate: null,\n disabled: null,\n // dates range of disabled days\n events: null,\n // dates range of days with events\n rangesClasses: null,\n // array with custom classes date ranges\n touchMove: true,\n animate: true,\n closeOnSelect: false,\n monthSelector: true,\n yearSelector: true,\n weekHeader: true,\n value: null,\n // Common opener settings\n containerEl: null,\n openIn: 'auto',\n // or 'popover' or 'sheet' or 'customModal'\n formatValue: null,\n inputEl: null,\n inputReadOnly: true,\n closeByOutsideClick: true,\n scrollToInput: true,\n header: false,\n headerPlaceholder: 'Select date',\n footer: false,\n toolbar: true,\n toolbarCloseText: 'Done',\n cssClass: null,\n routableModals: true,\n view: null,\n url: 'date/',\n backdrop: null,\n closeByBackdropClick: true,\n // Render functions\n renderWeekHeader: null,\n renderMonths: null,\n renderMonth: null,\n renderMonthSelector: null,\n renderYearSelector: null,\n renderHeader: null,\n renderFooter: null,\n renderToolbar: null,\n renderInline: null,\n renderPopover: null,\n renderSheet: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/calendar.js?"); /***/ }), /***/ "./node_modules/framework7/components/calendar/idate/index.js": /*!********************************************************************!*\ !*** ./node_modules/framework7/components/calendar/idate/index.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return IDate; });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/framework7/components/calendar/idate/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/*\n Copyright nainemom \n https://github.com/nainemom/idate/blob/dev/package.json\n*/\n\nvar methods = ['getHours', 'getMilliseconds', 'getMinutes', 'getSeconds', 'getTime', 'getTimezoneOffset', 'getUTCDate', 'getUTCDay', 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', 'now', 'parse', 'setHours', 'setMilliseconds', 'setMinutes', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear', 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'toDateString', 'toISOString', 'toJSON', 'toLocaleDateString', 'toLocaleTimeString', 'toLocaleString', 'toTimeString', 'toUTCString', 'UTC', 'valueOf'];\nvar DAY_NAMES = ['Shanbe', 'Yekshanbe', 'Doshanbe', 'Seshanbe', 'Chaharshanbe', 'Panjshanbe', 'Jom\\'e'];\nvar PERSIAN_DAY_NAMES = ['شنبه', 'یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه'];\nvar MONTH_NAMES = ['Farvardin', 'Ordibehesht', 'Khordad', 'Tir', 'Mordad', 'Shahrivar', 'Mehr', 'Aban', 'Azar', 'Dey', 'Bahman', 'Esfand'];\nvar PERSIAN_MONTH_NAMES = ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'];\nvar PERSIAN_NUMBERS = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];\n\nvar IDate = /*#__PURE__*/function (_Date) {\n _inherits(IDate, _Date);\n\n var _super = _createSuper(IDate);\n\n function IDate() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _classCallCheck(this, IDate);\n\n _this = _super.call(this);\n var date;\n\n if (args.length === 0) {\n date = Date.now();\n } else if (args.length === 1) {\n date = args[0] instanceof Date ? args[0].getTime() : args[0];\n } else {\n var fixed = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(args[0], args[1] || 0, typeof args[2] === 'undefined' ? 1 : args[2]);\n\n var _converted = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"toGregorian\"])(fixed[0], fixed[1] + 1, fixed[2]);\n\n date = [_converted.gy, _converted.gm - 1, _converted.gd].concat([args[3] || 0, args[4] || 0, args[5] || 0, args[6] || 0]);\n }\n\n if (Array.isArray(date)) {\n _this.gdate = _construct(Date, _toConsumableArray(date));\n } else {\n _this.gdate = new Date(date);\n }\n\n var converted = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"toJalaali\"])(_this.gdate.getFullYear(), _this.gdate.getMonth() + 1, _this.gdate.getDate());\n _this.jdate = [converted.jy, converted.jm - 1, converted.jd];\n methods.forEach(function (method) {\n IDate.prototype[method] = function () {\n var _this$gdate;\n\n return (_this$gdate = this.gdate)[method].apply(_this$gdate, arguments);\n };\n });\n return _this;\n }\n\n _createClass(IDate, [{\n key: \"getFullYear\",\n value: function getFullYear() {\n return this.jdate[0];\n }\n }, {\n key: \"setFullYear\",\n value: function setFullYear(value) {\n this.jdate = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(value, this.jdate[1], this.jdate[2]);\n this.syncDate();\n return this.gdate.getTime();\n }\n }, {\n key: \"getMonth\",\n value: function getMonth() {\n return this.jdate[1];\n }\n }, {\n key: \"setMonth\",\n value: function setMonth(value) {\n this.jdate = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(this.jdate[0], value, this.jdate[2]);\n this.syncDate();\n return this.gdate.getTime();\n }\n }, {\n key: \"getDate\",\n value: function getDate() {\n return this.jdate[2];\n }\n }, {\n key: \"setDate\",\n value: function setDate(value) {\n this.jdate = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(this.jdate[0], this.jdate[1], value);\n this.syncDate();\n return this.gdate.getTime();\n }\n }, {\n key: \"getDay\",\n value: function getDay() {\n return (this.gdate.getDay() + 1) % 7;\n }\n }, {\n key: \"syncDate\",\n value: function syncDate() {\n var converted = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"toGregorian\"])(this.jdate[0], this.jdate[1] + 1, this.jdate[2]);\n this.gdate.setFullYear(converted.gy);\n this.gdate.setMonth(converted.gm - 1);\n this.gdate.setDate(converted.gd);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var persianString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var replaceNums = function replaceNums(str) {\n return str.replace(/./g, function (c) {\n return PERSIAN_NUMBERS[c] || c;\n });\n };\n\n var padNumber = function padNumber(num) {\n return num.toString().length === 1 ? \"0\".concat(num) : num.toString();\n };\n\n var time = \"\".concat(padNumber(this.getHours()), \":\").concat(padNumber(this.getMinutes()), \":\").concat(padNumber(this.getSeconds()));\n\n if (persianString) {\n return replaceNums(\"\".concat(PERSIAN_DAY_NAMES[this.getDay()], \" \").concat(this.getDate(), \" \").concat(PERSIAN_MONTH_NAMES[this.getMonth()], \" \").concat(this.getFullYear(), \" \\u0633\\u0627\\u0639\\u062A \").concat(time));\n }\n\n return \"\".concat(DAY_NAMES[this.getDay()], \" \").concat(this.getDate(), \" \").concat(MONTH_NAMES[this.getMonth()], \" \").concat(this.getFullYear(), \" \").concat(time);\n }\n }]);\n\n return IDate;\n}( /*#__PURE__*/_wrapNativeSuper(Date));\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/idate/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/calendar/idate/utils.js": /*!********************************************************************!*\ !*** ./node_modules/framework7/components/calendar/idate/utils.js ***! \********************************************************************/ /*! exports provided: toJalaali, toGregorian, monthLength, fixDate */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toJalaali\", function() { return toJalaali; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toGregorian\", function() { return toGregorian; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monthLength\", function() { return monthLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fixDate\", function() { return fixDate; });\n/*\nConverts a Gregorian date to Jalaali.\n*/\nfunction toJalaali(gy, gm, gd) {\n if (Object.prototype.toString.call(gy) === '[object Date]') {\n gd = gy.getDate();\n gm = gy.getMonth() + 1;\n gy = gy.getFullYear();\n }\n\n return d2j(g2d(gy, gm, gd));\n}\n/*\nConverts a Jalaali date to Gregorian.\n*/\n\nfunction toGregorian(jy, jm, jd) {\n return d2g(j2d(jy, jm, jd));\n} // /*\n// Checks whether a Jalaali date is valid or not.\n// */\n// function isValidJalaaliDate (jy, jm, jd) {\n// return jy >= -61 && jy <= 3177 &&\n// jm >= 1 && jm <= 12 &&\n// jd >= 1 && jd <= monthLength(jy, jm)\n// }\n\n/*\nIs this a leap year or not?\n*/\n\nfunction isLeapJalaaliYear(jy) {\n return jalCal(jy).leap === 0;\n}\n/*\nNumber of days in a given month in a Jalaali year.\n*/\n\n\nfunction monthLength(jy, jm) {\n if (jm <= 6) return 31;\n if (jm <= 11) return 30;\n if (isLeapJalaaliYear(jy)) return 30;\n return 29;\n}\n/*\nThis function determines if the Jalaali (Persian) year is\nleap (366-day long) or is the common year (365 days), and\nfinds the day in March (Gregorian calendar) of the first\nday of the Jalaali year (jy).\n@param jy Jalaali calendar year (-61 to 3177)\n@return\n leap: number of years since the last leap year (0 to 4)\n gy: Gregorian year of the beginning of Jalaali year\n march: the March day of Farvardin the 1st (1st day of jy)\n@see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n@see: http://www.fourmilab.ch/documents/calendar/\n*/\n\nfunction jalCal(jy) {\n // Jalaali years starting the 33-year rule.\n var breaks = [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n var bl = breaks.length;\n var gy = jy + 621;\n var leapJ = -14;\n var jp = breaks[0];\n var jm;\n var jump;\n var leap;\n var leapG;\n var march;\n var n;\n var i;\n\n if (jy < jp || jy >= breaks[bl - 1]) {\n throw new Error('Invalid Jalaali year ' + jy);\n } // Find the limiting years for the Jalaali year jy.\n\n\n for (i = 1; i < bl; i += 1) {\n jm = breaks[i];\n jump = jm - jp;\n\n if (jy < jm) {\n break;\n }\n\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n\n n = jy - jp; // Find the number of leap years from AD 621 to the beginning\n // of the current Jalaali year in the Persian calendar.\n\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n } // And the same in the Gregorian calendar (until the year gy).\n\n\n leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150; // Determine the Gregorian date of Farvardin the 1st.\n\n march = 20 + leapJ - leapG; // Find how many years have passed since the last leap year.\n\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n\n leap = mod(mod(n + 1, 33) - 1, 4);\n\n if (leap === -1) {\n leap = 4;\n }\n\n return {\n leap: leap,\n gy: gy,\n march: march\n };\n}\n/*\nConverts a date of the Jalaali calendar to the Julian Day number.\n@param jy Jalaali year (1 to 3100)\n@param jm Jalaali month (1 to 12)\n@param jd Jalaali day (1 to 29/31)\n@return Julian Day number\n*/\n\n\nfunction j2d(jy, jm, jd) {\n var r = jalCal(jy);\n return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1;\n}\n/*\nConverts the Julian Day number to a date in the Jalaali calendar.\n@param jdn Julian Day number\n@return\n jy: Jalaali year (1 to 3100)\n jm: Jalaali month (1 to 12)\n jd: Jalaali day (1 to 29/31)\n*/\n\n\nfunction d2j(jdn) {\n var gy = d2g(jdn).gy; // Calculate Gregorian year (gy).\n\n var jy = gy - 621;\n var r = jalCal(jy);\n var jdn1f = g2d(gy, 3, r.march);\n var jd;\n var jm;\n var k; // Find number of days that passed since 1 Farvardin.\n\n k = jdn - jdn1f;\n\n if (k >= 0) {\n if (k <= 185) {\n // The first 6 months.\n jm = 1 + div(k, 31);\n jd = mod(k, 31) + 1;\n return {\n jy: jy,\n jm: jm,\n jd: jd\n };\n } else {\n // The remaining months.\n k -= 186;\n }\n } else {\n // Previous Jalaali year.\n jy -= 1;\n k += 179;\n\n if (r.leap === 1) {\n k += 1;\n }\n }\n\n jm = 7 + div(k, 30);\n jd = mod(k, 30) + 1;\n return {\n jy: jy,\n jm: jm,\n jd: jd\n };\n}\n/*\nCalculates the Julian Day number from Gregorian or Julian\ncalendar dates. This integer number corresponds to the noon of\nthe date (i.e. 12 hours of Universal Time).\nThe procedure was tested to be good since 1 March, -100100 (of both\ncalendars) up to a few million years into the future.\n@param gy Calendar year (years BC numbered 0, -1, -2, ...)\n@param gm Calendar month (1 to 12)\n@param gd Calendar day of the month (1 to 28/29/30/31)\n@return Julian Day number\n*/\n\n\nfunction g2d(gy, gm, gd) {\n var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n/*\nCalculates Gregorian and Julian calendar dates from the Julian Day number\n(jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\ncalendars) to some millions years ahead of the present.\n@param jdn Julian Day number\n@return\n gy: Calendar year (years BC numbered 0, -1, -2, ...)\n gm: Calendar month (1 to 12)\n gd: Calendar day of the month M (1 to 28/29/30/31)\n*/\n\n\nfunction d2g(jdn) {\n var j, i, gd, gm, gy;\n j = 4 * jdn + 139361631;\n j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908;\n i = div(mod(j, 1461), 4) * 5 + 308;\n gd = div(mod(i, 153), 5) + 1;\n gm = mod(div(i, 153), 12) + 1;\n gy = div(j, 1461) - 100100 + div(8 - gm, 6);\n return {\n gy: gy,\n gm: gm,\n gd: gd\n };\n}\n/*\nUtility helper functions.\n*/\n\n\nfunction div(a, b) {\n return ~~(a / b);\n}\n\nfunction mod(a, b) {\n return a - ~~(a / b) * b;\n}\n\nfunction fixDate(y, m, d) {\n if (m > 11) {\n y += Math.floor(m / 12);\n m = m % 12;\n }\n\n while (m < 0) {\n y -= 1;\n m += 12;\n }\n\n while (d > monthLength(y, m + 1)) {\n m = m !== 11 ? m + 1 : 0;\n y = m === 0 ? y + 1 : y;\n d -= monthLength(y, m + 1);\n }\n\n while (d <= 0) {\n m = m !== 0 ? m - 1 : 11;\n y = m === 11 ? y - 1 : y;\n d += monthLength(y, m + 1);\n }\n\n return [y, m || 0, d || 1];\n}\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/idate/utils.js?"); /***/ }), /***/ "./node_modules/framework7/components/card/card.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/card/card.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* eslint no-param-reassign: \"off\" */\n\n\n\nvar CardExpandable = {\n open: function open() {\n var cardEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.card-expandable';\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.card-opened').length) return;\n var $cardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cardEl).eq(0);\n if (!$cardEl || !$cardEl.length) return;\n if ($cardEl.hasClass('card-opened') || $cardEl.hasClass('card-opening') || $cardEl.hasClass('card-closing')) return;\n var $pageEl = $cardEl.parents('.page').eq(0);\n if (!$pageEl.length) return;\n var prevented;\n\n function prevent() {\n prevented = true;\n }\n\n $cardEl.trigger('card:beforeopen', {\n prevent: prevent\n });\n app.emit('cardBeforeOpen', $cardEl[0], prevent);\n if (prevented) return;\n var cardParams = Object.assign({\n animate: animate\n }, app.params.card, $cardEl.dataset());\n var $pageContentEl = $cardEl.parents('.page-content');\n var $backdropEl;\n\n if ($cardEl.attr('data-backdrop-el')) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])($cardEl.attr('data-backdrop-el'));\n }\n\n if (!$backdropEl && cardParams.backdrop) {\n $backdropEl = $pageContentEl.find('.card-backdrop');\n\n if (!$backdropEl.length) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $pageContentEl.append($backdropEl);\n }\n }\n\n var $navbarEl;\n var $toolbarEl;\n\n if (cardParams.hideNavbarOnOpen) {\n $navbarEl = $pageEl.children('.navbar');\n\n if (!$navbarEl.length) {\n if ($pageEl[0].f7Page) $navbarEl = $pageEl[0].f7Page.$navbarEl;\n }\n }\n\n if (cardParams.hideToolbarOnOpen) {\n $toolbarEl = $pageEl.children('.toolbar');\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n }\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.views').children('.toolbar');\n }\n }\n\n var currTransform = $cardEl.css('transform');\n var hasTransform;\n\n if (currTransform && currTransform.match(/[2-9]/)) {\n hasTransform = true;\n }\n\n var $cardContentEl = $cardEl.children('.card-content');\n var $cardSizeEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document.createElement('div')).addClass('card-expandable-size');\n $cardEl.append($cardSizeEl);\n var cardWidth = $cardEl[0].offsetWidth;\n var cardHeight = $cardEl[0].offsetHeight;\n var pageWidth = $pageEl[0].offsetWidth;\n var pageHeight = $pageEl[0].offsetHeight;\n var maxWidth = $cardSizeEl[0].offsetWidth || pageWidth;\n var maxHeight = $cardSizeEl[0].offsetHeight || pageHeight;\n var scaleX = maxWidth / cardWidth;\n var scaleY = maxHeight / cardHeight;\n var offset = $cardEl.offset();\n var pageOffset = $pageEl.offset();\n offset.left -= pageOffset.left;\n var cardLeftOffset;\n var cardTopOffset;\n\n if (hasTransform) {\n var transformValues = currTransform.replace(/matrix\\(|\\)/g, '').split(',').map(function (el) {\n return el.trim();\n });\n\n if (transformValues && transformValues.length > 1) {\n var scale = parseFloat(transformValues[0]);\n cardLeftOffset = offset.left - cardWidth * (1 - scale) / 2;\n cardTopOffset = offset.top - pageOffset.top - cardHeight * (1 - scale) / 2;\n if (app.rtl) cardLeftOffset -= $cardEl[0].scrollLeft;\n } else {\n cardLeftOffset = $cardEl[0].offsetLeft;\n cardTopOffset = $cardEl[0].offsetTop - ($pageContentEl.length ? $pageContentEl[0].scrollTop : 0);\n }\n } else {\n cardLeftOffset = offset.left;\n cardTopOffset = offset.top - pageOffset.top;\n if (app.rtl) cardLeftOffset -= $cardEl[0].scrollLeft;\n }\n\n cardLeftOffset -= (pageWidth - maxWidth) / 2;\n cardTopOffset -= (pageHeight - maxHeight) / 2;\n var cardRightOffset = maxWidth - cardWidth - cardLeftOffset;\n\n if (app.rtl) {\n var _ref = [cardRightOffset, cardLeftOffset];\n cardLeftOffset = _ref[0];\n cardRightOffset = _ref[1];\n }\n\n var cardBottomOffset = maxHeight - cardHeight - cardTopOffset;\n var translateX = (cardRightOffset - cardLeftOffset) / 2;\n var translateY = (cardBottomOffset - cardTopOffset) / 2;\n\n if (cardParams.hideNavbarOnOpen && $navbarEl && $navbarEl.length) {\n app.navbar.hide($navbarEl, cardParams.animate);\n }\n\n if (cardParams.hideToolbarOnOpen && $toolbarEl && $toolbarEl.length) {\n app.toolbar.hide($toolbarEl, cardParams.animate);\n }\n\n if ($backdropEl) {\n $backdropEl.removeClass('card-backdrop-out').addClass('card-backdrop-in');\n }\n\n $cardEl.removeClass('card-transitioning');\n\n if (cardParams.animate) {\n $cardEl.addClass('card-opening');\n }\n\n $cardEl.trigger('card:open');\n app.emit('cardOpen', $cardEl[0]);\n\n function transitionEnd() {\n $pageEl.addClass('page-with-card-opened');\n\n if (app.device.ios && $pageContentEl.length) {\n $pageContentEl.css('height', \"\".concat($pageContentEl[0].offsetHeight + 1, \"px\"));\n setTimeout(function () {\n $pageContentEl.css('height', '');\n });\n }\n\n $cardEl.addClass('card-opened');\n $cardEl.removeClass('card-opening');\n $cardEl.trigger('card:opened');\n app.emit('cardOpened', $cardEl[0], $pageEl[0]);\n }\n\n $cardContentEl.css({\n width: \"\".concat(maxWidth, \"px\"),\n height: \"\".concat(maxHeight, \"px\")\n }).transform(\"translate3d(\".concat(app.rtl ? cardLeftOffset + translateX : -cardLeftOffset - translateX, \"px, 0px, 0) scale(\").concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n $cardEl.transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\"));\n\n if (cardParams.animate) {\n $cardEl.transitionEnd(function () {\n transitionEnd();\n });\n } else {\n transitionEnd();\n }\n\n function onResize() {\n $cardEl.removeClass('card-transitioning');\n cardWidth = $cardEl[0].offsetWidth;\n cardHeight = $cardEl[0].offsetHeight;\n pageWidth = $pageEl[0].offsetWidth;\n pageHeight = $pageEl[0].offsetHeight;\n maxWidth = $cardSizeEl[0].offsetWidth || pageWidth;\n maxHeight = $cardSizeEl[0].offsetHeight || pageHeight;\n scaleX = maxWidth / cardWidth;\n scaleY = maxHeight / cardHeight;\n $cardEl.transform('translate3d(0px, 0px, 0) scale(1)');\n offset = $cardEl.offset();\n pageOffset = $pageEl.offset();\n offset.left -= pageOffset.left;\n offset.top -= pageOffset.top;\n cardLeftOffset = offset.left - (pageWidth - maxWidth) / 2;\n if (app.rtl) cardLeftOffset -= $cardEl[0].scrollLeft;\n cardTopOffset = offset.top - (pageHeight - maxHeight) / 2;\n cardRightOffset = maxWidth - cardWidth - cardLeftOffset;\n cardBottomOffset = maxHeight - cardHeight - cardTopOffset;\n\n if (app.rtl) {\n var _ref2 = [cardRightOffset, cardLeftOffset];\n cardLeftOffset = _ref2[0];\n cardRightOffset = _ref2[1];\n }\n\n translateX = (cardRightOffset - cardLeftOffset) / 2;\n translateY = (cardBottomOffset - cardTopOffset) / 2;\n $cardEl.transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\"));\n $cardContentEl.css({\n width: \"\".concat(maxWidth, \"px\"),\n height: \"\".concat(maxHeight, \"px\")\n }).transform(\"translate3d(\".concat(app.rtl ? cardLeftOffset + translateX : -cardLeftOffset - translateX, \"px, 0px, 0) scale(\").concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n }\n\n var cardScrollTop;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchEndX;\n var touchEndY;\n var isScrolling;\n var progress;\n var isV;\n var isH;\n\n function onTouchStart(e) {\n if (!Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest($cardEl).length) return;\n if (!$cardEl.hasClass('card-opened')) return;\n cardScrollTop = $cardContentEl.scrollTop();\n isTouched = true;\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n isScrolling = undefined;\n isV = false;\n isH = false;\n }\n\n function onTouchMove(e) {\n if (!isTouched) return;\n touchEndX = e.targetTouches[0].pageX;\n touchEndY = e.targetTouches[0].pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchEndY - touchStartY) > Math.abs(touchEndX - touchStartX));\n }\n\n if (!isH && !isV) {\n if (!isScrolling && e.targetTouches[0].clientX <= 50) {\n isH = true;\n } else {\n isV = true;\n }\n }\n\n if (!(isH || isV) || isV && cardScrollTop !== 0) {\n isTouched = true;\n isMoved = true;\n return;\n }\n\n if (!isMoved) {\n $cardEl.removeClass('card-transitioning');\n }\n\n isMoved = true;\n progress = isV ? Math.max((touchEndY - touchStartY) / 150, 0) : Math.max((touchEndX - touchStartX) / (cardWidth / 2), 0);\n\n if (progress > 0 && isV || isH) {\n if (isV && app.device.ios) {\n $cardContentEl.css('-webkit-overflow-scrolling', 'auto');\n $cardContentEl.scrollTop(0);\n }\n\n e.preventDefault();\n }\n\n if (progress > 1) progress = Math.pow(progress, 0.3);\n\n if (progress > (isV ? 1.3 : 1.1)) {\n isTouched = false;\n isMoved = false;\n app.card.close($cardEl);\n } else {\n $cardEl.transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX * (1 - progress * 0.2), \", \").concat(scaleY * (1 - progress * 0.2), \")\"));\n }\n }\n\n function onTouchEnd() {\n if (!isTouched || !isMoved) return;\n isTouched = false;\n isMoved = false;\n\n if (app.device.ios) {\n $cardContentEl.css('-webkit-overflow-scrolling', '');\n }\n\n if (progress >= 0.8) {\n app.card.close($cardEl);\n } else {\n $cardEl.addClass('card-transitioning').transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\"));\n }\n }\n\n $cardEl[0].detachEventHandlers = function detachEventHandlers() {\n app.off('resize', onResize);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && cardParams.swipeToClose) {\n app.off('touchstart:passive', onTouchStart);\n app.off('touchmove:active', onTouchMove);\n app.off('touchend:passive', onTouchEnd);\n }\n };\n\n app.on('resize', onResize);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && cardParams.swipeToClose) {\n app.on('touchstart:passive', onTouchStart);\n app.on('touchmove:active', onTouchMove);\n app.on('touchend:passive', onTouchEnd);\n }\n },\n close: function close() {\n var cardEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.card-expandable.card-opened';\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $cardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cardEl).eq(0);\n if (!$cardEl || !$cardEl.length) return;\n if (!$cardEl.hasClass('card-opened') || $cardEl.hasClass('card-opening') || $cardEl.hasClass('card-closing')) return;\n var $cardContentEl = $cardEl.children('.card-content');\n var $pageContentEl = $cardEl.parents('.page-content');\n var $pageEl = $cardEl.parents('.page').eq(0);\n if (!$pageEl.length) return;\n var cardParams = Object.assign({\n animate: animate\n }, app.params.card, $cardEl.dataset());\n var $navbarEl;\n var $toolbarEl;\n var $backdropEl;\n\n if ($cardEl.attr('data-backdrop-el')) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])($cardEl.attr('data-backdrop-el'));\n }\n\n if (cardParams.backdrop) {\n $backdropEl = $cardEl.parents('.page-content').find('.card-backdrop');\n }\n\n if (cardParams.hideNavbarOnOpen) {\n $navbarEl = $pageEl.children('.navbar');\n\n if (!$navbarEl.length) {\n if ($pageEl[0].f7Page) $navbarEl = $pageEl[0].f7Page.$navbarEl;\n }\n\n if ($navbarEl && $navbarEl.length) {\n app.navbar.show($navbarEl, cardParams.animate);\n }\n }\n\n if (cardParams.hideToolbarOnOpen) {\n $toolbarEl = $pageEl.children('.toolbar');\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n }\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.views').children('.toolbar');\n }\n\n if ($toolbarEl && $toolbarEl.length) {\n app.toolbar.show($toolbarEl, cardParams.animate);\n }\n }\n\n $pageEl.removeClass('page-with-card-opened');\n\n if (app.device.ios && $pageContentEl.length) {\n $pageContentEl.css('height', \"\".concat($pageContentEl[0].offsetHeight + 1, \"px\"));\n setTimeout(function () {\n $pageContentEl.css('height', '');\n });\n }\n\n if ($backdropEl && $backdropEl.length) {\n $backdropEl.removeClass('card-backdrop-in').addClass('card-backdrop-out');\n }\n\n $cardEl.removeClass('card-opened card-transitioning');\n\n if (cardParams.animate) {\n $cardEl.addClass('card-closing');\n } else {\n $cardEl.addClass('card-no-transition');\n }\n\n $cardEl.transform('');\n $cardEl.trigger('card:close');\n app.emit('cardClose', $cardEl[0]);\n var animateWidth = $cardEl.hasClass('card-expandable-animate-width');\n\n function transitionEnd() {\n if (!animateWidth) {\n $cardContentEl.css({\n width: '',\n height: ''\n });\n }\n\n $cardEl.removeClass('card-closing card-no-transition');\n $cardEl.trigger('card:closed');\n $cardEl.find('.card-expandable-size').remove();\n app.emit('cardClosed', $cardEl[0], $pageEl[0]);\n }\n\n if (animateWidth) {\n $cardContentEl.css({\n width: '',\n height: ''\n });\n }\n\n $cardContentEl.transform('').scrollTop(0, animate ? 300 : 0);\n\n if (animate) {\n $cardContentEl.transitionEnd(function () {\n transitionEnd();\n });\n } else {\n transitionEnd();\n }\n\n if ($cardEl[0].detachEventHandlers) {\n $cardEl[0].detachEventHandlers();\n delete $cardEl[0].detachEventHandlers;\n }\n },\n toggle: function toggle() {\n var cardEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.card-expandable';\n var animate = arguments.length > 1 ? arguments[1] : undefined;\n var app = this;\n var $cardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cardEl).eq(0);\n if (!$cardEl.length) return;\n\n if ($cardEl.hasClass('card-opened')) {\n app.card.close($cardEl, animate);\n } else {\n app.card.open($cardEl, animate);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'card',\n params: {\n card: {\n hideNavbarOnOpen: true,\n hideToolbarOnOpen: true,\n swipeToClose: true,\n closeByBackdropClick: true,\n backdrop: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n card: {\n open: CardExpandable.open.bind(app),\n close: CardExpandable.close.bind(app),\n toggle: CardExpandable.toggle.bind(app)\n }\n });\n },\n on: {\n pageBeforeIn: function pageBeforeIn(page) {\n var app = this;\n\n if (app.params.card.hideNavbarOnOpen && page.navbarEl && page.$el.find('.card-opened.card-expandable').length) {\n app.navbar.hide(page.navbarEl);\n }\n\n if (app.params.card.hideToolbarOnOpen && page.$el.find('.card-opened.card-expandable').length) {\n var $toolbarEl = page.$el.children('.toolbar');\n\n if (!$toolbarEl.length) {\n $toolbarEl = page.$el.parents('.view').children('.toolbar');\n }\n\n if (!$toolbarEl.length) {\n $toolbarEl = page.$el.parents('.views').children('.toolbar');\n }\n\n if ($toolbarEl && $toolbarEl.length) {\n app.toolbar.hide($toolbarEl);\n }\n }\n }\n },\n clicks: {\n '.card-close': function closeCard($clickedEl, data) {\n var app = this;\n app.card.close(data.card, data.animate);\n },\n '.card-open': function closeCard($clickedEl, data) {\n var app = this;\n app.card.open(data.card, data.animate);\n },\n '.card-expandable': function toggleExpandableCard($clickedEl, data, e) {\n var app = this;\n if ($clickedEl.hasClass('card-opened') || $clickedEl.hasClass('card-opening') || $clickedEl.hasClass('card-closing')) return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.card-prevent-open, .card-close').length) return;\n app.card.open($clickedEl);\n },\n '.card-backdrop-in': function onBackdropClick() {\n var app = this;\n var needToClose = false;\n if (app.params.card.closeByBackdropClick) needToClose = true;\n var $openedCardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.card-opened');\n if (!$openedCardEl.length) return;\n\n if ($openedCardEl.attr('data-close-by-backdrop-click') === 'true') {\n needToClose = true;\n } else if ($openedCardEl.attr('data-close-by-backdrop-click') === 'false') {\n needToClose = false;\n }\n\n if (needToClose) app.card.close($openedCardEl);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/card/card.js?"); /***/ }), /***/ "./node_modules/framework7/components/checkbox/checkbox.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/checkbox/checkbox.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'checkbox'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/checkbox/checkbox.js?"); /***/ }), /***/ "./node_modules/framework7/components/chip/chip.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/chip/chip.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'chip'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/chip/chip.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/color-picker-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/color-picker-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _modules_alpha_slider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/alpha-slider */ \"./node_modules/framework7/components/color-picker/modules/alpha-slider.js\");\n/* harmony import */ var _modules_current_color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/current-color */ \"./node_modules/framework7/components/color-picker/modules/current-color.js\");\n/* harmony import */ var _modules_hex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/hex */ \"./node_modules/framework7/components/color-picker/modules/hex.js\");\n/* harmony import */ var _modules_hsb_sliders__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/hsb-sliders */ \"./node_modules/framework7/components/color-picker/modules/hsb-sliders.js\");\n/* harmony import */ var _modules_hue_slider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/hue-slider */ \"./node_modules/framework7/components/color-picker/modules/hue-slider.js\");\n/* harmony import */ var _modules_brightness_slider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/brightness-slider */ \"./node_modules/framework7/components/color-picker/modules/brightness-slider.js\");\n/* harmony import */ var _modules_palette__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/palette */ \"./node_modules/framework7/components/color-picker/modules/palette.js\");\n/* harmony import */ var _modules_initial_current_colors__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/initial-current-colors */ \"./node_modules/framework7/components/color-picker/modules/initial-current-colors.js\");\n/* harmony import */ var _modules_rgb_bars__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/rgb-bars */ \"./node_modules/framework7/components/color-picker/modules/rgb-bars.js\");\n/* harmony import */ var _modules_rgb_sliders__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/rgb-sliders */ \"./node_modules/framework7/components/color-picker/modules/rgb-sliders.js\");\n/* harmony import */ var _modules_sb_spectrum__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/sb-spectrum */ \"./node_modules/framework7/components/color-picker/modules/sb-spectrum.js\");\n/* harmony import */ var _modules_hs_spectrum__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/hs-spectrum */ \"./node_modules/framework7/components/color-picker/modules/hs-spectrum.js\");\n/* harmony import */ var _modules_wheel__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/wheel */ \"./node_modules/framework7/components/color-picker/modules/wheel.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ColorPicker = /*#__PURE__*/function (_Framework7Class) {\n _inherits(ColorPicker, _Framework7Class);\n\n var _super = _createSuper(ColorPicker);\n\n function ColorPicker(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ColorPicker);\n\n _this = _super.call(this, params, [app]);\n\n var self = _assertThisInitialized(_this);\n\n self.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, app.params.colorPicker, params);\n var $containerEl;\n\n if (self.params.containerEl) {\n $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.params.containerEl);\n if ($containerEl.length === 0) return _possibleConstructorReturn(_this, self);\n }\n\n var $inputEl;\n\n if (self.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.params.inputEl);\n }\n\n var $targetEl;\n\n if (self.params.targetEl) {\n $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.params.targetEl);\n }\n\n var view;\n\n if ($inputEl) {\n view = $inputEl.parents('.view').length && $inputEl.parents('.view')[0].f7View;\n }\n\n if (!view && $targetEl) {\n view = $targetEl.parents('.view').length && $targetEl.parents('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(self, {\n app: app,\n $containerEl: $containerEl,\n containerEl: $containerEl && $containerEl[0],\n inline: $containerEl && $containerEl.length > 0,\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n $targetEl: $targetEl,\n targetEl: $targetEl && $targetEl[0],\n initialized: false,\n opened: false,\n url: self.params.url,\n view: view,\n modules: {\n 'alpha-slider': _modules_alpha_slider__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n 'current-color': _modules_current_color__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n 'hex': _modules_hex__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n // eslint-disable-line\n 'hsb-sliders': _modules_hsb_sliders__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n 'hue-slider': _modules_hue_slider__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n 'brightness-slider': _modules_brightness_slider__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n 'palette': _modules_palette__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n // eslint-disable-line\n 'initial-current-colors': _modules_initial_current_colors__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n 'rgb-bars': _modules_rgb_bars__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n 'rgb-sliders': _modules_rgb_sliders__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n 'sb-spectrum': _modules_sb_spectrum__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n 'hs-spectrum': _modules_hs_spectrum__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n 'wheel': _modules_wheel__WEBPACK_IMPORTED_MODULE_15__[\"default\"] // eslint-disable-line\n\n }\n });\n\n function onInputClick() {\n self.open();\n }\n\n function onInputFocus(e) {\n e.preventDefault();\n }\n\n function onTargetClick() {\n self.open();\n }\n\n function onHtmlClick(e) {\n if (self.destroyed || !self.params) return;\n if (self.params.openIn === 'page') return;\n var $clickTargetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if (!self.opened || self.closing) return;\n if ($clickTargetEl.closest('[class*=\"backdrop\"]').length) return;\n if ($clickTargetEl.closest('.color-picker-popup, .color-picker-popover').length) return;\n\n if ($inputEl && $inputEl.length > 0) {\n if ($clickTargetEl[0] !== $inputEl[0] && $clickTargetEl.closest('.sheet-modal').length === 0) {\n self.close();\n }\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sheet-modal').length === 0) {\n self.close();\n }\n } // Events\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(self, {\n attachInputEvents: function attachInputEvents() {\n self.$inputEl.on('click', onInputClick);\n\n if (self.params.inputReadOnly) {\n self.$inputEl.on('focus mousedown', onInputFocus);\n }\n },\n detachInputEvents: function detachInputEvents() {\n self.$inputEl.off('click', onInputClick);\n\n if (self.params.inputReadOnly) {\n self.$inputEl.off('focus mousedown', onInputFocus);\n }\n },\n attachTargetEvents: function attachTargetEvents() {\n self.$targetEl.on('click', onTargetClick);\n },\n detachTargetEvents: function detachTargetEvents() {\n self.$targetEl.off('click', onTargetClick);\n },\n attachHtmlEvents: function attachHtmlEvents() {\n app.on('click', onHtmlClick);\n },\n detachHtmlEvents: function detachHtmlEvents() {\n app.off('click', onHtmlClick);\n }\n });\n self.init();\n return _possibleConstructorReturn(_this, self);\n }\n\n _createClass(ColorPicker, [{\n key: \"attachEvents\",\n value: function attachEvents() {\n var self = this;\n self.centerModules = self.centerModules.bind(self);\n\n if (self.params.centerModules) {\n self.app.on('resize', self.centerModules);\n }\n }\n }, {\n key: \"detachEvents\",\n value: function detachEvents() {\n var self = this;\n\n if (self.params.centerModules) {\n self.app.off('resize', self.centerModules);\n }\n }\n }, {\n key: \"centerModules\",\n value: function centerModules() {\n var self = this;\n if (!self.opened || !self.$el || self.inline) return;\n var $pageContentEl = self.$el.find('.page-content');\n if (!$pageContentEl.length) return;\n var _$pageContentEl$ = $pageContentEl[0],\n scrollHeight = _$pageContentEl$.scrollHeight,\n offsetHeight = _$pageContentEl$.offsetHeight;\n\n if (scrollHeight <= offsetHeight) {\n $pageContentEl.addClass('justify-content-center');\n } else {\n $pageContentEl.removeClass('justify-content-center');\n }\n }\n }, {\n key: \"initInput\",\n value: function initInput() {\n var self = this;\n if (!self.$inputEl) return;\n if (self.params.inputReadOnly) self.$inputEl.prop('readOnly', true);\n }\n }, {\n key: \"getModalType\",\n value: function getModalType() {\n var self = this;\n var app = self.app,\n modal = self.modal,\n params = self.params;\n var openIn = params.openIn,\n openInPhone = params.openInPhone;\n if (modal && modal.type) return modal.type;\n if (openIn !== 'auto') return openIn;\n if (self.inline) return null;\n\n if (app.device.ios) {\n return app.device.ipad ? 'popover' : openInPhone;\n }\n\n if (app.width >= 768 || app.device.desktop && app.theme === 'aurora') {\n return 'popover';\n }\n\n return openInPhone;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue() {\n var self = this;\n var value = self.value;\n\n if (self.params.formatValue) {\n return self.params.formatValue.call(self, value);\n }\n\n return value.hex;\n } // eslint-disable-next-line\n\n }, {\n key: \"normalizeHsValues\",\n value: function normalizeHsValues(arr) {\n return [Math.floor(arr[0] * 10) / 10, Math.floor(arr[1] * 1000) / 1000, Math.floor(arr[2] * 1000) / 1000];\n }\n }, {\n key: \"setValue\",\n value: function setValue() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var updateModules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var self = this;\n if (typeof value === 'undefined') return;\n\n var _ref = self.value || {},\n hex = _ref.hex,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsb = _ref.hsb,\n _ref$alpha = _ref.alpha,\n alpha = _ref$alpha === void 0 ? 1 : _ref$alpha,\n hue = _ref.hue,\n rgba = _ref.rgba,\n hsla = _ref.hsla;\n\n var needChangeEvent = self.value || !self.value && !self.params.value;\n var valueChanged;\n Object.keys(value).forEach(function (k) {\n if (!self.value || typeof self.value[k] === 'undefined') {\n valueChanged = true;\n return;\n }\n\n var v = value[k];\n\n if (Array.isArray(v)) {\n v.forEach(function (subV, subIndex) {\n if (subV !== self.value[k][subIndex]) {\n valueChanged = true;\n }\n });\n } else if (v !== self.value[k]) {\n valueChanged = true;\n }\n });\n if (!valueChanged) return;\n\n if (value.rgb || value.rgba) {\n var _ref2 = value.rgb || value.rgba,\n _ref3 = _slicedToArray(_ref2, 4),\n r = _ref3[0],\n g = _ref3[1],\n b = _ref3[2],\n _ref3$ = _ref3[3],\n a = _ref3$ === void 0 ? alpha : _ref3$;\n\n rgb = [r, g, b];\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHsl.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n alpha = a;\n rgba = [rgb[0], rgb[1], rgb[2], a];\n hsla = [hsl[0], hsl[1], hsl[2], a];\n }\n\n if (value.hsl || value.hsla) {\n var _ref4 = value.hsl || value.hsla,\n _ref5 = _slicedToArray(_ref4, 4),\n h = _ref5[0],\n s = _ref5[1],\n l = _ref5[2],\n _ref5$ = _ref5[3],\n _a = _ref5$ === void 0 ? alpha : _ref5$;\n\n hsl = [h, s, l];\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToRgb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n alpha = _a;\n rgba = [rgb[0], rgb[1], rgb[2], _a];\n hsla = [hsl[0], hsl[1], hsl[2], _a];\n }\n\n if (value.hsb) {\n var _value$hsb = _slicedToArray(value.hsb, 4),\n _h = _value$hsb[0],\n _s2 = _value$hsb[1],\n _b = _value$hsb[2],\n _value$hsb$ = _value$hsb[3],\n _a2 = _value$hsb$ === void 0 ? alpha : _value$hsb$;\n\n hsb = [_h, _s2, _b];\n hsl = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsb));\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToRgb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n alpha = _a2;\n rgba = [rgb[0], rgb[1], rgb[2], _a2];\n hsla = [hsl[0], hsl[1], hsl[2], _a2];\n }\n\n if (value.hex) {\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHexToRgb(value.hex);\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHsl.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n rgba = [rgb[0], rgb[1], rgb[2], alpha];\n hsla = [hsl[0], hsl[1], hsl[2], alpha];\n }\n\n if (typeof value.alpha !== 'undefined') {\n alpha = value.alpha;\n\n if (typeof rgb !== 'undefined') {\n rgba = [rgb[0], rgb[1], rgb[2], alpha];\n }\n\n if (typeof hsl !== 'undefined') {\n hsla = [hsl[0], hsl[1], hsl[2], alpha];\n }\n }\n\n if (typeof value.hue !== 'undefined') {\n var _hsl = hsl,\n _hsl2 = _slicedToArray(_hsl, 3),\n _h2 = _hsl2[0],\n _s3 = _hsl2[1],\n _l = _hsl2[2]; // eslint-disable-line\n\n\n hsl = [value.hue, _s3, _l];\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToRgb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n rgba = [rgb[0], rgb[1], rgb[2], alpha];\n hsla = [hsl[0], hsl[1], hsl[2], alpha];\n }\n\n self.value = {\n hex: hex,\n alpha: alpha,\n hue: hue,\n rgb: rgb,\n hsl: hsl,\n hsb: hsb,\n rgba: rgba,\n hsla: hsla\n };\n if (!self.initialValue) self.initialValue = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, self.value);\n self.updateValue(needChangeEvent);\n\n if (self.opened && updateModules) {\n self.updateModules();\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var self = this;\n return self.value;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue() {\n var fireEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var self = this;\n var $inputEl = self.$inputEl,\n value = self.value,\n $targetEl = self.$targetEl;\n\n if ($targetEl && self.params.targetElSetBackgroundColor) {\n var rgba = value.rgba;\n $targetEl.css('background-color', \"rgba(\".concat(rgba.join(', '), \")\"));\n }\n\n if (fireEvents) {\n self.emit('local::change colorPickerChange', self, value);\n }\n\n if ($inputEl && $inputEl.length) {\n var inputValue = self.formatValue(value);\n\n if ($inputEl && $inputEl.length) {\n $inputEl.val(inputValue);\n\n if (fireEvents) {\n $inputEl.trigger('change');\n }\n }\n }\n }\n }, {\n key: \"updateModules\",\n value: function updateModules() {\n var self = this;\n var modules = self.modules;\n self.params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].update) {\n modules[m].update(self);\n } else if (m && m.update) {\n m.update(self);\n }\n });\n }\n }, {\n key: \"update\",\n value: function update() {\n var self = this;\n self.updateModules();\n }\n }, {\n key: \"renderPicker\",\n value: function renderPicker() {\n var self = this;\n var params = self.params,\n modules = self.modules;\n var html = '';\n params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].render) {\n html += modules[m].render(self);\n } else if (m && m.render) {\n html += m.render(self);\n }\n });\n return html;\n }\n }, {\n key: \"renderNavbar\",\n value: function renderNavbar() {\n var self = this;\n\n if (self.params.renderNavbar) {\n return self.params.renderNavbar.call(self, self);\n }\n\n var _self$params = self.params,\n openIn = _self$params.openIn,\n navbarTitleText = _self$params.navbarTitleText,\n navbarBackLinkText = _self$params.navbarBackLinkText,\n navbarCloseText = _self$params.navbarCloseText;\n return \"\\n
          \\n
          \\n \".concat(openIn === 'page' ? \"\\n \\n \") : '', \"\\n
          \").concat(navbarTitleText, \"
          \\n \").concat(openIn !== 'page' ? \"\\n \\n \") : '', \"\\n
          \\n
          \\n \").trim();\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var self = this;\n\n if (self.params.renderToolbar) {\n return self.params.renderToolbar.call(self, self);\n }\n\n return \"\\n
          \\n \\n
          \\n \").trim();\n }\n }, {\n key: \"renderInline\",\n value: function renderInline() {\n var self = this;\n var _self$params2 = self.params,\n cssClass = _self$params2.cssClass,\n groupedModules = _self$params2.groupedModules;\n var inlineHtml = \"\\n
          \\n \").concat(self.renderPicker(), \"\\n
          \\n \").trim();\n return inlineHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var self = this;\n var _self$params3 = self.params,\n cssClass = _self$params3.cssClass,\n toolbarSheet = _self$params3.toolbarSheet,\n groupedModules = _self$params3.groupedModules;\n var sheetHtml = \"\\n
          \\n \").concat(toolbarSheet ? self.renderToolbar() : '', \"\\n
          \\n
          \\n \").concat(self.renderPicker(), \"\\n
          \\n
          \\n
          \\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var self = this;\n var _self$params4 = self.params,\n cssClass = _self$params4.cssClass,\n toolbarPopover = _self$params4.toolbarPopover,\n groupedModules = _self$params4.groupedModules;\n var popoverHtml = \"\\n
          \\n
          \\n
          \\n \").concat(toolbarPopover ? self.renderToolbar() : '', \"\\n
          \\n \").concat(self.renderPicker(), \"\\n
          \\n
          \\n
          \\n
          \\n \").trim();\n return popoverHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var self = this;\n var _self$params5 = self.params,\n cssClass = _self$params5.cssClass,\n navbarPopup = _self$params5.navbarPopup,\n groupedModules = _self$params5.groupedModules;\n var popupHtml = \"\\n
          \\n
          \\n \").concat(navbarPopup ? self.renderNavbar() : '', \"\\n
          \\n
          \\n \").concat(self.renderPicker(), \"\\n
          \\n
          \\n
          \\n
          \\n \").trim();\n return popupHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage() {\n var self = this;\n var _self$params6 = self.params,\n cssClass = _self$params6.cssClass,\n groupedModules = _self$params6.groupedModules;\n var pageHtml = \"\\n
          \\n \").concat(self.renderNavbar(), \"\\n
          \\n
          \\n \").concat(self.renderPicker(), \"\\n
          \\n
          \\n
          \\n \").trim();\n return pageHtml;\n } // eslint-disable-next-line\n\n }, {\n key: \"render\",\n value: function render() {\n var self = this;\n var params = self.params;\n if (params.render) return params.render.call(self);\n if (self.inline) return self.renderInline();\n\n if (params.openIn === 'page') {\n return self.renderPage();\n }\n\n var modalType = self.getModalType();\n if (modalType === 'popover') return self.renderPopover();\n if (modalType === 'sheet') return self.renderSheet();\n if (modalType === 'popup') return self.renderPopup();\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var self = this;\n var initialized = self.initialized,\n $el = self.$el,\n app = self.app,\n $inputEl = self.$inputEl,\n inline = self.inline,\n value = self.value,\n params = self.params,\n modules = self.modules;\n self.closing = false;\n self.opened = true;\n self.opening = true; // Init main events\n\n self.attachEvents();\n params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].init) {\n modules[m].init(self);\n } else if (m && m.init) {\n m.init(self);\n }\n });\n var updateValue = !value && params.value; // Set value\n\n if (!initialized) {\n if (value) self.setValue(value);else if (params.value) {\n self.setValue(params.value, false);\n } else if (!params.value) {\n self.setValue({\n hex: '#ff0000'\n }, false);\n }\n } else if (value) {\n self.initialValue = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, value);\n self.setValue(value, false);\n } // Update input value\n\n\n if (updateValue) self.updateValue();\n self.updateModules(); // Center modules\n\n if (params.centerModules) {\n self.centerModules();\n } // Extra focus\n\n\n if (!inline && $inputEl && $inputEl.length && app.theme === 'md') {\n $inputEl.trigger('focus');\n }\n\n self.initialized = true; // Trigger events\n\n if ($el) {\n $el.trigger('colorpicker:open', self);\n }\n\n if ($inputEl) {\n $inputEl.trigger('colorpicker:open', self);\n }\n\n self.emit('local::open colorPickerOpen', self);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var self = this;\n self.opening = false;\n\n if (self.$el) {\n self.$el.trigger('colorpicker:opened', self);\n }\n\n if (self.$inputEl) {\n self.$inputEl.trigger('colorpicker:opened', self);\n }\n\n self.emit('local::opened colorPickerOpened', self);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var self = this;\n var app = self.app,\n params = self.params,\n modules = self.modules;\n self.opening = false;\n self.closing = true; // Detach events\n\n self.detachEvents();\n\n if (self.$inputEl && app.theme === 'md') {\n self.$inputEl.trigger('blur');\n }\n\n params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].destroy) {\n modules[m].destroy(self);\n } else if (m && m.destroy) {\n m.destroy(self);\n }\n });\n\n if (self.$el) {\n self.$el.trigger('colorpicker:close', self);\n }\n\n if (self.$inputEl) {\n self.$inputEl.trigger('colorpicker:close', self);\n }\n\n self.emit('local::close colorPickerClose', self);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var self = this;\n self.opened = false;\n self.closing = false;\n\n if (!self.inline) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (self.modal && self.modal.el && self.modal.destroy) {\n if (!self.params.routableModals) {\n self.modal.destroy();\n }\n }\n\n delete self.modal;\n });\n }\n\n if (self.$el) {\n self.$el.trigger('colorpicker:closed', self);\n }\n\n if (self.$inputEl) {\n self.$inputEl.trigger('colorpicker:closed', self);\n }\n\n self.emit('local::closed colorPickerClosed', self);\n }\n }, {\n key: \"open\",\n value: function open() {\n var self = this;\n var app = self.app,\n opened = self.opened,\n inline = self.inline,\n $inputEl = self.$inputEl,\n $targetEl = self.$targetEl,\n params = self.params;\n if (opened) return;\n\n if (inline) {\n self.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.render());\n self.$el[0].f7ColorPicker = self;\n self.$containerEl.append(self.$el);\n self.onOpen();\n self.onOpened();\n return;\n }\n\n var colorPickerContent = self.render();\n\n if (params.openIn === 'page') {\n self.view.router.navigate({\n url: self.url,\n route: {\n content: colorPickerContent,\n path: self.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n self.$el = page.$el.find('.color-picker');\n self.$el[0].f7ColorPicker = self;\n self.onOpen();\n },\n pageAfterIn: function pageAfterIn() {\n self.onOpened();\n },\n pageBeforeOut: function pageBeforeOut() {\n self.onClose();\n },\n pageAfterOut: function pageAfterOut() {\n self.onClosed();\n\n if (self.$el && self.$el[0]) {\n self.$el[0].f7ColorPicker = null;\n delete self.$el[0].f7ColorPicker;\n }\n }\n }\n }\n });\n } else {\n var modalType = self.getModalType();\n var backdrop = params.backdrop;\n\n if (backdrop === null || typeof backdrop === 'undefined') {\n if (modalType === 'popover' && app.params.popover.backdrop !== false) backdrop = true;\n if (modalType === 'popup') backdrop = true;\n }\n\n var modalParams = {\n targetEl: $targetEl || $inputEl,\n scrollToEl: params.scrollToInput ? $targetEl || $inputEl : undefined,\n content: colorPickerContent,\n backdrop: backdrop,\n closeByBackdropClick: params.closeByBackdropClick,\n on: {\n open: function open() {\n var modal = this;\n self.modal = modal;\n self.$el = modalType === 'popover' || modalType === 'popup' ? modal.$el.find('.color-picker') : modal.$el;\n self.$el[0].f7ColorPicker = self;\n self.onOpen();\n },\n opened: function opened() {\n self.onOpened();\n },\n close: function close() {\n self.onClose();\n },\n closed: function closed() {\n self.onClosed();\n\n if (self.$el && self.$el[0]) {\n self.$el[0].f7ColorPicker = null;\n delete self.$el[0].f7ColorPicker;\n }\n }\n }\n };\n\n if (params.routableModals) {\n self.view.router.navigate({\n url: self.url,\n route: _defineProperty({\n path: self.url\n }, modalType, modalParams)\n });\n } else {\n self.modal = app[modalType].create(modalParams);\n self.modal.open();\n }\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n var self = this;\n var opened = self.opened,\n inline = self.inline;\n if (!opened) return;\n\n if (inline) {\n self.onClose();\n self.onClosed();\n return;\n }\n\n if (self.params.routableModals) {\n self.view.router.back();\n } else {\n self.modal.close();\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var self = this;\n self.initInput();\n\n if (self.inline) {\n self.open();\n self.emit('local::init colorPickerInit', self);\n return;\n }\n\n if (!self.initialized && self.params.value) {\n self.setValue(self.params.value);\n } // Attach input Events\n\n\n if (self.$inputEl) {\n self.attachInputEvents();\n }\n\n if (self.$targetEl) {\n self.attachTargetEvents();\n }\n\n if (self.params.closeByOutsideClick) {\n self.attachHtmlEvents();\n }\n\n self.emit('local::init colorPickerInit', self);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var self = this;\n if (self.destroyed) return;\n var $el = self.$el;\n self.emit('local::beforeDestroy colorPickerBeforeDestroy', self);\n if ($el) $el.trigger('colorpicker:beforedestroy', self);\n self.close(); // Detach Events\n\n self.detachEvents();\n\n if (self.$inputEl) {\n self.detachInputEvents();\n }\n\n if (self.$targetEl) {\n self.detachTargetEvents();\n }\n\n if (self.params.closeByOutsideClick) {\n self.detachHtmlEvents();\n }\n\n if ($el && $el.length) delete self.$el[0].f7ColorPicker;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(self);\n self.destroyed = true;\n }\n }]);\n\n return ColorPicker;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ColorPicker);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/color-picker-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/color-picker.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/color-picker.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _color_picker_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./color-picker-class */ \"./node_modules/framework7/components/color-picker/color-picker-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'colorPicker',\n static: {\n ColorPicker: _color_picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.colorPicker = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.color-picker',\n constructor: _color_picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7ColorPicker'\n });\n\n app.colorPicker.close = function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.color-picker';\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n var colorPicker = $el[0].f7ColorPicker;\n if (!colorPicker || colorPicker && !colorPicker.opened) return;\n colorPicker.close();\n };\n },\n params: {\n colorPicker: {\n // Color picker settings\n value: null,\n modules: ['wheel'],\n palette: [['#FFEBEE', '#FFCDD2', '#EF9A9A', '#E57373', '#EF5350', '#F44336', '#E53935', '#D32F2F', '#C62828', '#B71C1C'], ['#F3E5F5', '#E1BEE7', '#CE93D8', '#BA68C8', '#AB47BC', '#9C27B0', '#8E24AA', '#7B1FA2', '#6A1B9A', '#4A148C'], ['#E8EAF6', '#C5CAE9', '#9FA8DA', '#7986CB', '#5C6BC0', '#3F51B5', '#3949AB', '#303F9F', '#283593', '#1A237E'], ['#E1F5FE', '#B3E5FC', '#81D4FA', '#4FC3F7', '#29B6F6', '#03A9F4', '#039BE5', '#0288D1', '#0277BD', '#01579B'], ['#E0F2F1', '#B2DFDB', '#80CBC4', '#4DB6AC', '#26A69A', '#009688', '#00897B', '#00796B', '#00695C', '#004D40'], ['#F1F8E9', '#DCEDC8', '#C5E1A5', '#AED581', '#9CCC65', '#8BC34A', '#7CB342', '#689F38', '#558B2F', '#33691E'], ['#FFFDE7', '#FFF9C4', '#FFF59D', '#FFF176', '#FFEE58', '#FFEB3B', '#FDD835', '#FBC02D', '#F9A825', '#F57F17'], ['#FFF3E0', '#FFE0B2', '#FFCC80', '#FFB74D', '#FFA726', '#FF9800', '#FB8C00', '#F57C00', '#EF6C00', '#E65100']],\n groupedModules: false,\n centerModules: true,\n sliderLabel: false,\n sliderValue: false,\n sliderValueEdiable: false,\n barLabel: false,\n barValue: false,\n barValueEdiable: false,\n hexLabel: false,\n hexValueEditable: false,\n redLabelText: 'R',\n greenLabelText: 'G',\n blueLabelText: 'B',\n hueLabelText: 'H',\n saturationLabelText: 'S',\n brightnessLabelText: 'B',\n hexLabelText: 'HEX',\n alphaLabelText: 'A',\n // Common opener settings\n containerEl: null,\n openIn: 'popover',\n // or 'popover' or 'sheet' or 'popup' or 'page' or 'auto'\n openInPhone: 'popup',\n // or 'popover' or 'sheet' or 'popup' or 'page'\n formatValue: null,\n targetEl: null,\n targetElSetBackgroundColor: false,\n inputEl: null,\n inputReadOnly: true,\n closeByOutsideClick: true,\n scrollToInput: true,\n toolbarSheet: true,\n toolbarPopover: false,\n toolbarCloseText: 'Done',\n navbarPopup: true,\n navbarCloseText: 'Done',\n navbarTitleText: 'Color',\n navbarBackLinkText: 'Back',\n cssClass: null,\n routableModals: true,\n view: null,\n url: 'color/',\n backdrop: null,\n closeByBackdropClick: true,\n // Render functions\n renderToolbar: null,\n renderNavbar: null,\n renderInline: null,\n renderPopover: null,\n renderSheet: null,\n renderPopup: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/color-picker.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/alpha-slider.js": /*!*********************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/alpha-slider.js ***! \*********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n alphaLabelText = _self$params.alphaLabelText;\n return \"\\n
          \\n
          \\n \".concat(sliderLabel ? \"\\n
          \".concat(alphaLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n self.alphaRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-alpha'),\n min: 0,\n max: 1,\n step: 0.01,\n value: 1,\n on: {\n change: function change(range, value) {\n var alpha = Math.floor(value * 100) / 100;\n self.setValue({\n alpha: alpha\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var alpha = self.value.alpha;\n var value = parseFloat(e.target.value);\n\n if (Number.isNaN(value)) {\n e.target.value = alpha;\n return;\n }\n\n value = Math.max(0, Math.min(1, value));\n self.setValue({\n alpha: value\n });\n }\n\n self.$el.on('change', '.color-picker-module-alpha-slider input', handleInputChange);\n\n self.destroyAlphaSliderEvents = function destroyAlphaSliderEvents() {\n self.$el.off('change', '.color-picker-module-alpha-slider input', handleInputChange);\n };\n },\n update: function update(self) {\n var value = self.value;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var alpha = value.alpha;\n self.alphaRangeSlider.value = alpha;\n self.alphaRangeSlider.layout();\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-alpha').val(alpha);\n } else {\n self.$el.find('span.color-picker-value-alpha').text(alpha);\n }\n },\n destroy: function destroy(self) {\n if (self.alphaRangeSlider && self.alphaRangeSlider.destroy) {\n self.alphaRangeSlider.destroy();\n }\n\n delete self.alphaRangeSlider;\n if (self.destroyAlphaSliderEvents) self.destroyAlphaSliderEvents();\n delete self.destroyAlphaSliderEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/alpha-slider.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/brightness-slider.js": /*!**************************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/brightness-slider.js ***! \**************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n brightnessLabelText = _self$params.brightnessLabelText;\n return \"\\n
          \\n
          \\n \".concat(sliderLabel ? \"\\n
          \".concat(brightnessLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n self.brightnessRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-brightness'),\n min: 0,\n max: 1,\n step: 0.001,\n value: 0,\n on: {\n change: function change(range, value) {\n var b = Math.floor(value * 1000) / 1000;\n self.setValue({\n hsb: [self.value.hsb[0], self.value.hsb[1], b]\n });\n }\n }\n });\n },\n update: function update(self) {\n var value = self.value,\n app = self.app;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var hsb = value.hsb;\n self.brightnessRangeSlider.value = hsb[2];\n self.brightnessRangeSlider.layout();\n var hslCurrent = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], hsb[2]);\n var hslLeft = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 0);\n var hslRight = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 1);\n self.brightnessRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hslCurrent[0], \", \").concat(hslCurrent[1] * 100, \"%, \").concat(hslCurrent[2] * 100, \"%)\"));\n self.brightnessRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(app.rtl ? 'to left' : 'to right', \", hsl(\").concat(hslLeft[0], \", \").concat(hslLeft[1] * 100, \"%, \").concat(hslLeft[2] * 100, \"%), hsl(\").concat(hslRight[0], \", \").concat(hslRight[1] * 100, \"%, \").concat(hslRight[2] * 100, \"%))\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-brightness').val(\"\".concat(hsb[2] * 1000 / 10));\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-brightness').text(\"\".concat(hsb[2] * 1000 / 10));\n }\n },\n destroy: function destroy(self) {\n if (self.brightnessRangeSlider && self.brightnessRangeSlider.destroy) {\n self.brightnessRangeSlider.destroy();\n }\n\n delete self.brightnessRangeSlider;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/brightness-slider.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/current-color.js": /*!**********************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/current-color.js ***! \**********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n
          \\n
          \\n
          \\n \";\n },\n update: function update(self) {\n self.$el.find('.color-picker-module-current-color .color-picker-current-color').css('background-color', self.value.hex);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/current-color.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/hex.js": /*!************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/hex.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n hexLabel = _self$params.hexLabel,\n hexLabelText = _self$params.hexLabelText,\n hexValueEditable = _self$params.hexValueEditable;\n return \"\\n
          \\n
          \\n \".concat(hexLabel ? \"\\n
          \".concat(hexLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(hexValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n
          \\n
          \\n \");\n },\n init: function init(self) {\n function handleInputChange(e) {\n var hex = self.value.hex;\n var value = e.target.value.replace(/#/g, '');\n\n if (Number.isNaN(value) || !value || value.length !== 3 && value.length !== 6) {\n e.target.value = hex;\n return;\n }\n\n var min = 0;\n var current = parseInt(value, 16);\n var max = parseInt('ffffff', 16); // eslint-disable-line\n\n if (current > max) {\n value = 'fff';\n }\n\n if (current < min) {\n value = '000';\n }\n\n self.setValue({\n hex: value\n });\n }\n\n self.$el.on('change', '.color-picker-module-hex input', handleInputChange);\n\n self.destroyHexEvents = function destroyHexEvents() {\n self.$el.off('change', '.color-picker-module-hex input', handleInputChange);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hexValueEditable = self.params.hexValueEditable;\n var hex = value.hex;\n\n if (hexValueEditable) {\n self.$el.find('input.color-picker-value-hex').val(hex);\n } else {\n self.$el.find('span.color-picker-value-hex').text(hex);\n }\n },\n destroy: function destroy(self) {\n if (self.destroyHexEvents) self.destroyHexEvents();\n delete self.destroyHexEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hex.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/hs-spectrum.js": /*!********************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/hs-spectrum.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n \";\n },\n init: function init(self) {\n var app = self.app;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var specterRect;\n var specterIsTouched;\n var specterHandleIsTouched;\n var $el = self.$el;\n\n function setHSFromSpecterCoords(x, y) {\n var h = (x - specterRect.left) / specterRect.width * 360;\n var s = (y - specterRect.top) / specterRect.height;\n h = Math.max(0, Math.min(360, h));\n s = 1 - Math.max(0, Math.min(1, s));\n self.setValue({\n hsb: [h, s, self.value.hsb[2]]\n });\n }\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n specterHandleIsTouched = $targetEl.closest('.color-picker-hs-spectrum-handle').length > 0;\n\n if (!specterHandleIsTouched) {\n specterIsTouched = $targetEl.closest('.color-picker-hs-spectrum').length > 0;\n }\n\n if (specterIsTouched) {\n specterRect = $el.find('.color-picker-hs-spectrum')[0].getBoundingClientRect();\n setHSFromSpecterCoords(touchStartX, touchStartY);\n }\n\n if (specterHandleIsTouched || specterIsTouched) {\n $el.find('.color-picker-hs-spectrum-handle').addClass('color-picker-hs-spectrum-handle-pressed');\n }\n }\n\n function handleTouchMove(e) {\n if (!(specterIsTouched || specterHandleIsTouched)) return;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n\n if (!isMoved) {\n // First move\n isMoved = true;\n\n if (specterHandleIsTouched) {\n specterRect = $el.find('.color-picker-hs-spectrum')[0].getBoundingClientRect();\n }\n }\n\n if (specterIsTouched || specterHandleIsTouched) {\n setHSFromSpecterCoords(touchCurrentX, touchCurrentY);\n }\n }\n\n function handleTouchEnd() {\n isMoved = false;\n\n if (specterIsTouched || specterHandleIsTouched) {\n $el.find('.color-picker-hs-spectrum-handle').removeClass('color-picker-hs-spectrum-handle-pressed');\n }\n\n specterIsTouched = false;\n specterHandleIsTouched = false;\n }\n\n function handleResize() {\n self.modules['hs-spectrum'].update(self);\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false;\n self.$el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n\n self.destroySpectrumEvents = function destroySpectrumEvents() {\n self.$el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hsb = value.hsb;\n var specterWidth = self.$el.find('.color-picker-hs-spectrum')[0].offsetWidth;\n var specterHeight = self.$el.find('.color-picker-hs-spectrum')[0].offsetHeight;\n var hslBright = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 1);\n self.$el.find('.color-picker-hs-spectrum-handle').css('background-color', \"hsl(\".concat(hslBright[0], \", \").concat(hslBright[1] * 100, \"%, \").concat(hslBright[2] * 100, \"%)\")).transform(\"translate(\".concat(specterWidth * (hsb[0] / 360), \"px, \").concat(specterHeight * (1 - hsb[1]), \"px)\"));\n },\n destroy: function destroy(self) {\n if (self.destroySpectrumEvents) self.destroySpectrumEvents();\n delete self.destroySpectrumEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hs-spectrum.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/hsb-sliders.js": /*!********************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/hsb-sliders.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n hueLabelText = _self$params.hueLabelText,\n saturationLabelText = _self$params.saturationLabelText,\n brightnessLabelText = _self$params.brightnessLabelText;\n return \"\\n
          \\n
          \\n \".concat(sliderLabel ? \"\\n
          \".concat(hueLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \").concat(sliderLabel ? \"\\n
          \".concat(saturationLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \").concat(sliderLabel ? \"\\n
          \".concat(brightnessLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n self.hueRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-hue'),\n min: 0,\n max: 360,\n step: 0.1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n hue: value\n });\n }\n }\n });\n self.saturationRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-saturation'),\n min: 0,\n max: 1,\n step: 0.001,\n value: 0,\n on: {\n change: function change(range, value) {\n var s = Math.floor(value * 1000) / 1000;\n self.setValue({\n hsb: [self.value.hsb[0], s, self.value.hsb[2]]\n });\n }\n }\n });\n self.brightnessRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-brightness'),\n min: 0,\n max: 1,\n step: 0.001,\n value: 0,\n on: {\n change: function change(range, value) {\n var b = Math.floor(value * 1000) / 1000;\n self.setValue({\n hsb: [self.value.hsb[0], self.value.hsb[1], b]\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var hsb = _toConsumableArray(self.value.hsb);\n\n var index = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-color-index'), 10);\n var value = parseFloat(e.target.value);\n\n if (Number.isNaN(value)) {\n e.target.value = hsb[index];\n return;\n }\n\n if (index === 0) {\n value = Math.max(0, Math.min(360, value));\n } else {\n value = Math.max(0, Math.min(100, value)) / 100;\n }\n\n hsb[index] = value;\n self.setValue({\n hsb: hsb\n });\n }\n\n self.$el.on('change', '.color-picker-module-hsb-sliders input', handleInputChange);\n\n self.destroyHsbSlidersEvents = function destroyHsbSlidersEvents() {\n self.$el.off('change', '.color-picker-module-hsb-sliders input', handleInputChange);\n };\n },\n update: function update(self) {\n var app = self.app,\n value = self.value;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var hsb = value.hsb,\n hue = value.hue;\n self.hueRangeSlider.value = hue;\n self.saturationRangeSlider.value = hsb[1];\n self.brightnessRangeSlider.value = hsb[2];\n self.hueRangeSlider.layout();\n self.saturationRangeSlider.layout();\n self.brightnessRangeSlider.layout();\n var hslCurrent = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 1);\n var hslLeft = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], 0, 1);\n var hslRight = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], 1, 1);\n var brightness = hsb[2];\n self.hueRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hue, \", 100%, 50%)\"));\n self.saturationRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hslCurrent[0], \", \").concat(hslCurrent[1] * 100, \"%, \").concat(hslCurrent[2] * 100, \"%)\"));\n self.brightnessRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(brightness * 255, \", \").concat(brightness * 255, \", \").concat(brightness * 255, \")\"));\n self.saturationRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(app.rtl ? 'to left' : 'to right', \", hsl(\").concat(hslLeft[0], \", \").concat(hslLeft[1] * 100, \"%, \").concat(hslLeft[2] * 100, \"%), hsl(\").concat(hslRight[0], \", \").concat(hslRight[1] * 100, \"%, \").concat(hslRight[2] * 100, \"%))\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-hue').val(\"\".concat(hue));\n self.$el.find('input.color-picker-value-saturation').val(\"\".concat(hsb[1] * 1000 / 10));\n self.$el.find('input.color-picker-value-brightness').val(\"\".concat(hsb[2] * 1000 / 10));\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-hue').text(\"\".concat(hue));\n self.$el.find('span.color-picker-value-saturation').text(\"\".concat(hsb[1] * 1000 / 10));\n self.$el.find('span.color-picker-value-brightness').text(\"\".concat(hsb[2] * 1000 / 10));\n }\n },\n destroy: function destroy(self) {\n if (self.hueRangeSlider && self.hueRangeSlider.destroy) {\n self.hueRangeSlider.destroy();\n }\n\n if (self.saturationRangeSlider && self.saturationRangeSlider.destroy) {\n self.saturationRangeSlider.destroy();\n }\n\n if (self.brightnessRangeSlider && self.brightnessRangeSlider.destroy) {\n self.brightnessRangeSlider.destroy();\n }\n\n delete self.hueRangeSlider;\n delete self.saturationRangeSlider;\n delete self.brightnessRangeSlider;\n if (self.destroyHsbSlidersEvents) self.destroyHsbSlidersEvents();\n delete self.destroyHsbSlidersEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hsb-sliders.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/hue-slider.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/hue-slider.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n hueLabelText = _self$params.hueLabelText;\n return \"\\n
          \\n
          \\n \".concat(sliderLabel ? \"\\n
          \".concat(hueLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n self.hueRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-hue'),\n min: 0,\n max: 360,\n step: 0.1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n hue: value\n });\n }\n }\n });\n },\n update: function update(self) {\n var value = self.value;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var hue = value.hue;\n self.hueRangeSlider.value = hue;\n self.hueRangeSlider.layout();\n self.hueRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hue, \", 100%, 50%)\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-hue').val(\"\".concat(hue));\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-hue').text(\"\".concat(hue));\n }\n },\n destroy: function destroy(self) {\n if (self.hueRangeSlider && self.hueRangeSlider.destroy) {\n self.hueRangeSlider.destroy();\n }\n\n delete self.hueRangeSlider;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hue-slider.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/initial-current-colors.js": /*!*******************************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/initial-current-colors.js ***! \*******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \";\n },\n init: function init(self) {\n function handleInitialColorClick() {\n if (self.initialValue) {\n var _self$initialValue = self.initialValue,\n hex = _self$initialValue.hex,\n alpha = _self$initialValue.alpha;\n self.setValue({\n hex: hex,\n alpha: alpha\n });\n }\n }\n\n self.$el.on('click', '.color-picker-initial-color', handleInitialColorClick);\n\n self.destroyInitialCurrentEvents = function destroyInitialCurrentEvents() {\n self.$el.off('click', '.color-picker-initial-color', handleInitialColorClick);\n };\n },\n update: function update(self) {\n self.$el.find('.color-picker-module-initial-current-colors .color-picker-initial-color').css('background-color', self.initialValue.hex);\n self.$el.find('.color-picker-module-initial-current-colors .color-picker-current-color').css('background-color', self.value.hex);\n },\n destroy: function destroy(self) {\n if (self.destroyInitialCurrentEvents) {\n self.destroyInitialCurrentEvents();\n }\n\n delete self.destroyInitialCurrentEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/initial-current-colors.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/palette.js": /*!****************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/palette.js ***! \****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* eslint indent: [\"off\"] */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n return \"\\n
          \\n
          \\n \".concat(self.params.palette.map(function (p) {\n if (Array.isArray(p)) {\n var row = '
          ';\n row += p.map(function (c) {\n return \"\\n
          \\n \");\n }).join('');\n row += '
          ';\n return row;\n }\n\n return \"\\n
          \\n \");\n }).join(''), \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n function handlePaletteClick(e) {\n var hex = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-palette-color');\n self.setValue({\n hex: hex\n });\n }\n\n self.$el.on('click', '.color-picker-module-palette .color-picker-palette-value', handlePaletteClick);\n\n self.destroyPaletteEvents = function destroyPaletteEvents() {\n self.$el.off('click', '.color-picker-module-hex input', handlePaletteClick);\n };\n },\n destroy: function destroy(self) {\n if (self.destroyPaletteEvents) {\n self.destroyPaletteEvents();\n }\n\n delete self.destroyPaletteEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/palette.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/rgb-bars.js": /*!*****************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/rgb-bars.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n barLabel = _self$params.barLabel,\n barValue = _self$params.barValue,\n barValueEditable = _self$params.barValueEditable,\n redLabelText = _self$params.redLabelText,\n greenLabelText = _self$params.greenLabelText,\n blueLabelText = _self$params.blueLabelText;\n return \"\\n
          \\n
          \\n \".concat(barLabel ? \"\\n
          \".concat(redLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(barValue ? \"\\n
          \\n \".concat(barValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \").concat(barLabel ? \"\\n
          \".concat(greenLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(barValue ? \"\\n
          \\n \".concat(barValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \").concat(barLabel ? \"\\n
          \".concat(blueLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(barValue ? \"\\n
          \\n \".concat(barValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n self.redBar = self.app.range.create({\n el: self.$el.find('.color-picker-bar-red'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n vertical: true,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [value, self.value.rgb[1], self.value.rgb[2]]\n });\n }\n }\n });\n self.greenBar = self.app.range.create({\n el: self.$el.find('.color-picker-bar-green'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n vertical: true,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], value, self.value.rgb[2]]\n });\n }\n }\n });\n self.blueBar = self.app.range.create({\n el: self.$el.find('.color-picker-bar-blue'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n vertical: true,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], self.value.rgb[1], value]\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var rgb = _toConsumableArray(self.value.rgb);\n\n var index = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-color-index'), 10);\n var value = parseInt(e.target.value, 10);\n\n if (Number.isNaN(value)) {\n e.target.value = rgb[index];\n return;\n }\n\n value = Math.max(0, Math.min(255, value));\n rgb[index] = value;\n self.setValue({\n rgb: rgb\n });\n }\n\n self.$el.on('change', '.color-picker-module-rgb-bars input', handleInputChange);\n\n self.destroyRgbBarsEvents = function destroyRgbBarsEvents() {\n self.$el.off('change', '.color-picker-module-rgb-bars input', handleInputChange);\n };\n },\n update: function update(self) {\n var value = self.value,\n redBar = self.redBar,\n greenBar = self.greenBar,\n blueBar = self.blueBar;\n var _self$params2 = self.params,\n barValue = _self$params2.barValue,\n barValueEditable = _self$params2.barValueEditable;\n var rgb = value.rgb;\n redBar.value = rgb[0];\n greenBar.value = rgb[1];\n blueBar.value = rgb[2];\n redBar.layout();\n greenBar.layout();\n blueBar.layout();\n redBar.$el.find('.range-bar').css('background-image', \"linear-gradient(to top, rgb(0, \".concat(rgb[1], \", \").concat(rgb[2], \"), rgb(255, \").concat(rgb[1], \", \").concat(rgb[2], \"))\"));\n greenBar.$el.find('.range-bar').css('background-image', \"linear-gradient(to top, rgb(\".concat(rgb[0], \", 0, \").concat(rgb[2], \"), rgb(\").concat(rgb[0], \", 255, \").concat(rgb[2], \"))\"));\n blueBar.$el.find('.range-bar').css('background-image', \"linear-gradient(to top, rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", 0), rgb(\").concat(rgb[0], \", \").concat(rgb[1], \", 255))\"));\n\n if (barValue && barValueEditable) {\n self.$el.find('input.color-picker-value-bar-red').val(rgb[0]);\n self.$el.find('input.color-picker-value-bar-green').val(rgb[1]);\n self.$el.find('input.color-picker-value-bar-blue').val(rgb[2]);\n } else if (barValue) {\n self.$el.find('span.color-picker-value-bar-red').text(rgb[0]);\n self.$el.find('span.color-picker-value-bar-green').text(rgb[1]);\n self.$el.find('span.color-picker-value-bar-blue').text(rgb[2]);\n }\n },\n destroy: function destroy(self) {\n if (self.redBar && self.redBar.destroy) {\n self.redBar.destroy();\n }\n\n if (self.greenBar && self.greenBar.destroy) {\n self.greenBar.destroy();\n }\n\n if (self.blueBar && self.blueBar.destroy) {\n self.blueBar.destroy();\n }\n\n delete self.redBar;\n delete self.greenBar;\n delete self.blueBar;\n if (self.destroyRgbBarsEvents) self.destroyRgbBarsEvents();\n delete self.destroyRgbBarsEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/rgb-bars.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/rgb-sliders.js": /*!********************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/rgb-sliders.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n redLabelText = _self$params.redLabelText,\n greenLabelText = _self$params.greenLabelText,\n blueLabelText = _self$params.blueLabelText;\n return \"\\n
          \\n
          \\n \".concat(sliderLabel ? \"\\n
          \".concat(redLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \").concat(sliderLabel ? \"\\n
          \".concat(greenLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \").concat(sliderLabel ? \"\\n
          \".concat(blueLabelText, \"
          \\n \") : '', \"\\n
          \\n \").concat(sliderValue ? \"\\n
          \\n \".concat(sliderValueEditable ? \"\\n \\n \" : \"\\n \\n \", \"\\n
          \\n \") : '', \"\\n
          \\n
          \\n \");\n },\n init: function init(self) {\n self.redRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-red'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [value, self.value.rgb[1], self.value.rgb[2]]\n });\n }\n }\n });\n self.greenRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-green'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], value, self.value.rgb[2]]\n });\n }\n }\n });\n self.blueRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-blue'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], self.value.rgb[1], value]\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var rgb = _toConsumableArray(self.value.rgb);\n\n var index = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-color-index'), 10);\n var value = parseInt(e.target.value, 10);\n\n if (Number.isNaN(value)) {\n e.target.value = rgb[index];\n return;\n }\n\n value = Math.max(0, Math.min(255, value));\n rgb[index] = value;\n self.setValue({\n rgb: rgb\n });\n }\n\n self.$el.on('change', '.color-picker-module-rgb-sliders input', handleInputChange);\n\n self.destroyRgbSlidersEvents = function destroyRgbSlidersEvents() {\n self.$el.off('change', '.color-picker-module-rgb-sliders input', handleInputChange);\n };\n },\n update: function update(self) {\n var app = self.app,\n value = self.value,\n redRangeSlider = self.redRangeSlider,\n greenRangeSlider = self.greenRangeSlider,\n blueRangeSlider = self.blueRangeSlider;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var rgb = value.rgb;\n redRangeSlider.value = rgb[0];\n greenRangeSlider.value = rgb[1];\n blueRangeSlider.value = rgb[2];\n redRangeSlider.layout();\n greenRangeSlider.layout();\n blueRangeSlider.layout();\n redRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \")\"));\n greenRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \")\"));\n blueRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \")\"));\n var direction = app.rtl ? 'to left' : 'to right';\n redRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(direction, \", rgb(0, \").concat(rgb[1], \", \").concat(rgb[2], \"), rgb(255, \").concat(rgb[1], \", \").concat(rgb[2], \"))\"));\n greenRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(direction, \", rgb(\").concat(rgb[0], \", 0, \").concat(rgb[2], \"), rgb(\").concat(rgb[0], \", 255, \").concat(rgb[2], \"))\"));\n blueRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(direction, \", rgb(\").concat(rgb[0], \", \").concat(rgb[1], \", 0), rgb(\").concat(rgb[0], \", \").concat(rgb[1], \", 255))\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-red').val(rgb[0]);\n self.$el.find('input.color-picker-value-green').val(rgb[1]);\n self.$el.find('input.color-picker-value-blue').val(rgb[2]);\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-red').text(rgb[0]);\n self.$el.find('span.color-picker-value-green').text(rgb[1]);\n self.$el.find('span.color-picker-value-blue').text(rgb[2]);\n }\n },\n destroy: function destroy(self) {\n if (self.redRangeSlider && self.redRangeSlider.destroy) {\n self.redRangeSlider.destroy();\n }\n\n if (self.greenRangeSlider && self.greenRangeSlider.destroy) {\n self.greenRangeSlider.destroy();\n }\n\n if (self.blueRangeSlider && self.blueRangeSlider.destroy) {\n self.blueRangeSlider.destroy();\n }\n\n delete self.redRangeSlider;\n delete self.greenRangeSlider;\n delete self.blueRangeSlider;\n if (self.destroyRgbSlidersEvents) self.destroyRgbSlidersEvents();\n delete self.destroyRgbSlidersEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/rgb-sliders.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/sb-spectrum.js": /*!********************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/sb-spectrum.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n \";\n },\n init: function init(self) {\n var app = self.app;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var specterRect;\n var specterIsTouched;\n var specterHandleIsTouched;\n var $el = self.$el;\n\n function setSBFromSpecterCoords(x, y) {\n var s = (x - specterRect.left) / specterRect.width;\n var b = (y - specterRect.top) / specterRect.height;\n s = Math.max(0, Math.min(1, s));\n b = 1 - Math.max(0, Math.min(1, b));\n self.setValue({\n hsb: [self.value.hue, s, b]\n });\n }\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n specterHandleIsTouched = $targetEl.closest('.color-picker-sb-spectrum-handle').length > 0;\n\n if (!specterHandleIsTouched) {\n specterIsTouched = $targetEl.closest('.color-picker-sb-spectrum').length > 0;\n }\n\n if (specterIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n setSBFromSpecterCoords(touchStartX, touchStartY);\n }\n\n if (specterHandleIsTouched || specterIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').addClass('color-picker-sb-spectrum-handle-pressed');\n }\n }\n\n function handleTouchMove(e) {\n if (!(specterIsTouched || specterHandleIsTouched)) return;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n\n if (!isMoved) {\n // First move\n isMoved = true;\n\n if (specterHandleIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n }\n }\n\n if (specterIsTouched || specterHandleIsTouched) {\n setSBFromSpecterCoords(touchCurrentX, touchCurrentY);\n }\n }\n\n function handleTouchEnd() {\n isMoved = false;\n\n if (specterIsTouched || specterHandleIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').removeClass('color-picker-sb-spectrum-handle-pressed');\n }\n\n specterIsTouched = false;\n specterHandleIsTouched = false;\n }\n\n function handleResize() {\n self.modules['sb-spectrum'].update(self);\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false;\n self.$el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n\n self.destroySpectrumEvents = function destroySpectrumEvents() {\n self.$el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hsl = value.hsl,\n hsb = value.hsb;\n var specterWidth = self.$el.find('.color-picker-sb-spectrum')[0].offsetWidth;\n var specterHeight = self.$el.find('.color-picker-sb-spectrum')[0].offsetHeight;\n self.$el.find('.color-picker-sb-spectrum').css('background-color', \"hsl(\".concat(hsl[0], \", 100%, 50%)\"));\n self.$el.find('.color-picker-sb-spectrum-handle').css('background-color', \"hsl(\".concat(hsl[0], \", \").concat(hsl[1] * 100, \"%, \").concat(hsl[2] * 100, \"%)\")).transform(\"translate(\".concat(specterWidth * hsb[1], \"px, \").concat(specterHeight * (1 - hsb[2]), \"px)\"));\n },\n destroy: function destroy(self) {\n if (self.destroySpectrumEvents) self.destroySpectrumEvents();\n delete self.destroySpectrumEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/sb-spectrum.js?"); /***/ }), /***/ "./node_modules/framework7/components/color-picker/modules/wheel.js": /*!**************************************************************************!*\ !*** ./node_modules/framework7/components/color-picker/modules/wheel.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\n\nfunction svgWheelCircles() {\n var total = 256;\n var circles = '';\n\n for (var i = total; i > 0; i -= 1) {\n var angle = i * Math.PI / (total / 2);\n var hue = 360 / total * i;\n circles += \"\");\n }\n\n return circles;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n
          \\n
          \\n \".concat(svgWheelCircles(), \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \");\n },\n init: function init(self) {\n var app = self.app;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var wheelRect;\n var wheelIsTouched;\n var wheelHandleIsTouched;\n var specterRect;\n var specterIsTouched;\n var specterHandleIsTouched;\n var $el = self.$el;\n\n function setHueFromWheelCoords(x, y) {\n var wheelCenterX = wheelRect.left + wheelRect.width / 2;\n var wheelCenterY = wheelRect.top + wheelRect.height / 2;\n var angleRad = Math.atan2(y - wheelCenterY, x - wheelCenterX);\n var angleDeg = angleRad * 180 / Math.PI + 90;\n if (angleDeg < 0) angleDeg += 360;\n angleDeg = 360 - angleDeg;\n self.setValue({\n hue: angleDeg\n });\n }\n\n function setSBFromSpecterCoords(x, y) {\n var s = (x - specterRect.left) / specterRect.width;\n var b = (y - specterRect.top) / specterRect.height;\n s = Math.max(0, Math.min(1, s));\n b = 1 - Math.max(0, Math.min(1, b));\n self.setValue({\n hsb: [self.value.hue, s, b]\n });\n }\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n wheelHandleIsTouched = $targetEl.closest('.color-picker-wheel-handle').length > 0;\n wheelIsTouched = $targetEl.closest('circle').length > 0;\n specterHandleIsTouched = $targetEl.closest('.color-picker-sb-spectrum-handle').length > 0;\n\n if (!specterHandleIsTouched) {\n specterIsTouched = $targetEl.closest('.color-picker-sb-spectrum').length > 0;\n }\n\n if (wheelIsTouched) {\n wheelRect = $el.find('.color-picker-wheel')[0].getBoundingClientRect();\n setHueFromWheelCoords(touchStartX, touchStartY);\n }\n\n if (specterIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n setSBFromSpecterCoords(touchStartX, touchStartY);\n }\n\n if (specterHandleIsTouched || specterIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').addClass('color-picker-sb-spectrum-handle-pressed');\n }\n }\n\n function handleTouchMove(e) {\n if (!(wheelIsTouched || wheelHandleIsTouched) && !(specterIsTouched || specterHandleIsTouched)) return;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n\n if (!isMoved) {\n // First move\n isMoved = true;\n\n if (wheelHandleIsTouched) {\n wheelRect = $el.find('.color-picker-wheel')[0].getBoundingClientRect();\n }\n\n if (specterHandleIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n }\n }\n\n if (wheelIsTouched || wheelHandleIsTouched) {\n setHueFromWheelCoords(touchCurrentX, touchCurrentY);\n }\n\n if (specterIsTouched || specterHandleIsTouched) {\n setSBFromSpecterCoords(touchCurrentX, touchCurrentY);\n }\n }\n\n function handleTouchEnd() {\n isMoved = false;\n\n if (specterIsTouched || specterHandleIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').removeClass('color-picker-sb-spectrum-handle-pressed');\n }\n\n wheelIsTouched = false;\n wheelHandleIsTouched = false;\n specterIsTouched = false;\n specterHandleIsTouched = false;\n }\n\n function handleResize() {\n self.modules.wheel.update(self);\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false;\n self.$el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n\n self.destroyWheelEvents = function destroyWheelEvents() {\n self.$el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hsl = value.hsl,\n hsb = value.hsb;\n var specterWidth = self.$el.find('.color-picker-sb-spectrum')[0].offsetWidth;\n var specterHeight = self.$el.find('.color-picker-sb-spectrum')[0].offsetHeight;\n var wheelSize = self.$el.find('.color-picker-wheel')[0].offsetWidth;\n var wheelHalfSize = wheelSize / 2;\n var angleRad = value.hue * Math.PI / 180;\n var handleSize = wheelSize / 6;\n var handleHalfSize = handleSize / 2;\n var tX = wheelHalfSize - Math.sin(angleRad) * (wheelHalfSize - handleHalfSize) - handleHalfSize;\n var tY = wheelHalfSize - Math.cos(angleRad) * (wheelHalfSize - handleHalfSize) - handleHalfSize;\n self.$el.find('.color-picker-wheel-handle').css('background-color', \"hsl(\".concat(hsl[0], \", 100%, 50%)\")).transform(\"translate(\".concat(tX, \"px, \").concat(tY, \"px)\"));\n self.$el.find('.color-picker-sb-spectrum').css('background-color', \"hsl(\".concat(hsl[0], \", 100%, 50%)\"));\n self.$el.find('.color-picker-sb-spectrum-handle').css('background-color', \"hsl(\".concat(hsl[0], \", \").concat(hsl[1] * 100, \"%, \").concat(hsl[2] * 100, \"%)\")).transform(\"translate(\".concat(specterWidth * hsb[1], \"px, \").concat(specterHeight * (1 - hsb[2]), \"px)\"));\n },\n destroy: function destroy(self) {\n if (self.destroyWheelEvents) self.destroyWheelEvents();\n delete self.destroyWheelEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/wheel.js?"); /***/ }), /***/ "./node_modules/framework7/components/contacts-list/contacts-list.js": /*!***************************************************************************!*\ !*** ./node_modules/framework7/components/contacts-list/contacts-list.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'contactsList'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/contacts-list/contacts-list.js?"); /***/ }), /***/ "./node_modules/framework7/components/data-table/data-table-class.js": /*!***************************************************************************!*\ !*** ./node_modules/framework7/components/data-table/data-table-class.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar DataTable = /*#__PURE__*/function (_Framework7Class) {\n _inherits(DataTable, _Framework7Class);\n\n var _super = _createSuper(DataTable);\n\n function DataTable(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, DataTable);\n\n _this = _super.call(this, params, [app]);\n\n var table = _assertThisInitialized(_this);\n\n var defaults = {}; // Extend defaults with modules params\n\n table.useModulesParams(defaults);\n table.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params); // El\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(table.params.el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, undefined);\n table.$el = $el;\n table.el = $el[0];\n\n if (table.$el[0].f7DataTable) {\n var instance = table.$el[0].f7DataTable;\n table.destroy();\n return _possibleConstructorReturn(_this, instance);\n }\n\n table.$el[0].f7DataTable = table;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(table, {\n collapsible: $el.hasClass('data-table-collapsible'),\n // Headers\n $headerEl: $el.find('.data-table-header'),\n $headerSelectedEl: $el.find('.data-table-header-selected')\n }); // Events\n\n function handleChange(e) {\n if (e.detail && e.detail.sentByF7DataTable) {\n // Scripted event, don't do anything\n return;\n }\n\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var checked = $inputEl[0].checked;\n var columnIndex = $inputEl.parents('td,th').index();\n\n if ($inputEl.parents('thead').length > 0) {\n if (columnIndex === 0) {\n $el.find('tbody tr')[checked ? 'addClass' : 'removeClass']('data-table-row-selected');\n }\n\n $el.find(\"tbody tr td:nth-child(\".concat(columnIndex + 1, \") input\")).prop('checked', checked).trigger('change', {\n sentByF7DataTable: true\n });\n $inputEl.prop('indeterminate', false);\n } else {\n if (columnIndex === 0) {\n $inputEl.parents('tr')[checked ? 'addClass' : 'removeClass']('data-table-row-selected');\n }\n\n var checkedRows = $el.find(\"tbody .checkbox-cell:nth-child(\".concat(columnIndex + 1, \") input[type=\\\"checkbox\\\"]:checked\")).length;\n var totalRows = $el.find('tbody tr').length;\n var $headCheckboxEl = $el.find(\"thead .checkbox-cell:nth-child(\".concat(columnIndex + 1, \") input[type=\\\"checkbox\\\"]\"));\n\n if (!checked) {\n $headCheckboxEl.prop('checked', false);\n } else if (checkedRows === totalRows) {\n $headCheckboxEl.prop('checked', true).trigger('change', {\n sentByF7DataTable: true\n });\n }\n\n $headCheckboxEl.prop('indeterminate', checkedRows > 0 && checkedRows < totalRows);\n }\n\n table.checkSelectedHeader();\n }\n\n function handleSortableClick() {\n var $cellEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var isActive = $cellEl.hasClass('sortable-cell-active');\n var currentSort = $cellEl.hasClass('sortable-desc') ? 'desc' : 'asc';\n var newSort;\n\n if (isActive) {\n newSort = currentSort === 'desc' ? 'asc' : 'desc';\n $cellEl.removeClass('sortable-desc sortable-asc').addClass(\"sortable-\".concat(newSort));\n } else {\n $el.find('thead .sortable-cell-active').removeClass('sortable-cell-active');\n $cellEl.addClass('sortable-cell-active');\n newSort = currentSort;\n }\n\n $cellEl.trigger('datatable:sort', newSort);\n table.emit('local::sort dataTableSort', table, newSort);\n }\n\n table.attachEvents = function attachEvents() {\n table.$el.on('change', '.checkbox-cell input[type=\"checkbox\"]', handleChange);\n table.$el.find('thead .sortable-cell').on('click', handleSortableClick);\n };\n\n table.detachEvents = function detachEvents() {\n table.$el.off('change', '.checkbox-cell input[type=\"checkbox\"]', handleChange);\n table.$el.find('thead .sortable-cell').off('click', handleSortableClick);\n }; // Install Modules\n\n\n table.useModules(); // Init\n\n table.init();\n return _possibleConstructorReturn(_this, table);\n }\n\n _createClass(DataTable, [{\n key: \"setCollapsibleLabels\",\n value: function setCollapsibleLabels() {\n var table = this;\n if (!table.collapsible) return;\n table.$el.find('tbody td:not(.checkbox-cell)').each(function (index, el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var elIndex = $el.index();\n var collpsibleTitle = $el.attr('data-collapsible-title');\n\n if (!collpsibleTitle && collpsibleTitle !== '') {\n $el.attr('data-collapsible-title', table.$el.find('thead th').eq(elIndex).text());\n }\n });\n }\n }, {\n key: \"checkSelectedHeader\",\n value: function checkSelectedHeader() {\n var table = this;\n\n if (table.$headerEl.length > 0 && table.$headerSelectedEl.length > 0) {\n var checkedItems = table.$el.find('tbody .checkbox-cell input:checked').length;\n table.$el[checkedItems > 0 ? 'addClass' : 'removeClass']('data-table-has-checked');\n table.$headerSelectedEl.find('.data-table-selected-count').text(checkedItems);\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var table = this;\n table.attachEvents();\n table.setCollapsibleLabels();\n table.checkSelectedHeader();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var table = this;\n table.$el.trigger('datatable:beforedestroy', table);\n table.emit('local::beforeDestroy dataTableBeforeDestroy', table);\n table.attachEvents();\n\n if (table.$el[0]) {\n table.$el[0].f7DataTable = null;\n delete table.$el[0].f7DataTable;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(table);\n table = null;\n }\n }]);\n\n return DataTable;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataTable);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/data-table/data-table-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/data-table/data-table.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/data-table/data-table.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _data_table_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data-table-class */ \"./node_modules/framework7/components/data-table/data-table-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'dataTable',\n static: {\n DataTable: _data_table_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.dataTable = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.data-table',\n constructor: _data_table_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7DataTable'\n });\n },\n on: {\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.destroy(tableEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.create({\n el: tableEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.destroy(tableEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.create({\n el: tableEl\n });\n });\n }\n },\n vnode: {\n 'data-table-init': {\n insert: function insert(vnode) {\n var app = this;\n var tableEl = vnode.elm;\n app.dataTable.create({\n el: tableEl\n });\n },\n destroy: function destroy(vnode) {\n var app = this;\n var tableEl = vnode.elm;\n app.dataTable.destroy(tableEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/data-table/data-table.js?"); /***/ }), /***/ "./node_modules/framework7/components/dialog/dialog-class.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/dialog/dialog-class.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Dialog = /*#__PURE__*/function (_Modal) {\n _inherits(Dialog, _Modal);\n\n var _super = _createSuper(Dialog);\n\n function Dialog(app, params) {\n var _this;\n\n _classCallCheck(this, Dialog);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n title: app.params.dialog.title,\n text: undefined,\n content: '',\n buttons: [],\n verticalButtons: false,\n onClick: undefined,\n cssClass: undefined,\n destroyOnClose: false,\n on: {}\n }, params);\n\n if (typeof extendedParams.closeByBackdropClick === 'undefined') {\n extendedParams.closeByBackdropClick = app.params.dialog.closeByBackdropClick;\n } // Extends with open/close Modal methods;\n\n\n _this = _super.call(this, app, extendedParams);\n\n var dialog = _assertThisInitialized(_this);\n\n var title = extendedParams.title,\n text = extendedParams.text,\n content = extendedParams.content,\n buttons = extendedParams.buttons,\n verticalButtons = extendedParams.verticalButtons,\n cssClass = extendedParams.cssClass;\n dialog.params = extendedParams; // Find Element\n\n var $el;\n\n if (!dialog.params.el) {\n var dialogClasses = ['dialog'];\n if (buttons.length === 0) dialogClasses.push('dialog-no-buttons');\n if (buttons.length > 0) dialogClasses.push(\"dialog-buttons-\".concat(buttons.length));\n if (verticalButtons) dialogClasses.push('dialog-buttons-vertical');\n if (cssClass) dialogClasses.push(cssClass);\n var buttonsHTML = '';\n\n if (buttons.length > 0) {\n buttonsHTML = \"\\n
          \\n \".concat(buttons.map(function (button) {\n return \"\\n \").concat(button.text, \"\\n \");\n }).join(''), \"\\n
          \\n \");\n }\n\n var dialogHtml = \"\\n
          \\n
          \\n \").concat(title ? \"
          \".concat(title, \"
          \") : '', \"\\n \").concat(text ? \"
          \".concat(text, \"
          \") : '', \"\\n \").concat(content, \"\\n
          \\n \").concat(buttonsHTML, \"\\n
          \\n \");\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dialogHtml);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dialog.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, dialog.destroy());\n }\n\n var $backdropEl = app.root.children('.dialog-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n app.root.append($backdropEl);\n } // Assign events\n\n\n function buttonOnClick(e) {\n var buttonEl = this;\n var index = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).index();\n var button = buttons[index];\n if (button.onClick) button.onClick(dialog, e);\n if (dialog.params.onClick) dialog.params.onClick(dialog, index);\n if (button.close !== false) dialog.close();\n }\n\n var addKeyboardHander;\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n buttons.forEach(function (button, index) {\n if (button.keyCodes && button.keyCodes.indexOf(keyCode) >= 0) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].activeElement) ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].activeElement.blur();\n if (button.onClick) button.onClick(dialog, e);\n if (dialog.params.onClick) dialog.params.onClick(dialog, index);\n if (button.close !== false) dialog.close();\n }\n });\n }\n\n if (buttons && buttons.length > 0) {\n dialog.on('open', function () {\n $el.find('.dialog-button').each(function (index, buttonEl) {\n var button = buttons[index];\n if (button.keyCodes) addKeyboardHander = true;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).on('click', buttonOnClick);\n });\n\n if (addKeyboardHander && !app.device.ios && !app.device.android && !app.device.cordova) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('keydown', onKeyDown);\n }\n });\n dialog.on('close', function () {\n $el.find('.dialog-button').each(function (index, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).off('click', buttonOnClick);\n });\n\n if (addKeyboardHander && !app.device.ios && !app.device.android && !app.device.cordova) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).off('keydown', onKeyDown);\n }\n\n addKeyboardHander = false;\n });\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(dialog, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl[0],\n type: 'dialog',\n setProgress: function setProgress(progress, duration) {\n app.progressbar.set($el.find('.progressbar'), progress, duration);\n return dialog;\n },\n setText: function setText(newText) {\n var $textEl = $el.find('.dialog-text');\n\n if ($textEl.length === 0) {\n $textEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n\n if (typeof title !== 'undefined') {\n $textEl.insertAfter($el.find('.dialog-title'));\n } else {\n $el.find('.dialog-inner').prepend($textEl);\n }\n }\n\n $textEl.html(newText);\n dialog.params.text = newText;\n return dialog;\n },\n setTitle: function setTitle(newTitle) {\n var $titleEl = $el.find('.dialog-title');\n\n if ($titleEl.length === 0) {\n $titleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $el.find('.dialog-inner').prepend($titleEl);\n }\n\n $titleEl.html(newTitle);\n dialog.params.title = newTitle;\n return dialog;\n }\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n\n if ($target.closest(dialog.el).length === 0) {\n if (dialog.params.closeByBackdropClick && dialog.backdropEl && dialog.backdropEl === target) {\n dialog.close();\n }\n }\n }\n\n dialog.on('opened', function () {\n if (dialog.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n dialog.on('close', function () {\n if (dialog.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n $el[0].f7Modal = dialog;\n\n if (dialog.params.destroyOnClose) {\n dialog.once('closed', function () {\n setTimeout(function () {\n dialog.destroy();\n }, 0);\n });\n }\n\n return _possibleConstructorReturn(_this, dialog);\n }\n\n return Dialog;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Dialog);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/dialog/dialog-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/dialog/dialog.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/dialog/dialog.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _dialog_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dialog-class */ \"./node_modules/framework7/components/dialog/dialog-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'dialog',\n params: {\n dialog: {\n title: undefined,\n buttonOk: 'OK',\n buttonCancel: 'Cancel',\n usernamePlaceholder: 'Username',\n passwordPlaceholder: 'Password',\n preloaderTitle: 'Loading... ',\n progressTitle: 'Loading... ',\n closeByBackdropClick: false,\n destroyPredefinedDialogs: true,\n keyboardActions: true\n }\n },\n static: {\n Dialog: _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n\n function defaultDialogTitle() {\n return app.params.dialog.title || app.name;\n }\n\n var destroyOnClose = app.params.dialog.destroyPredefinedDialogs;\n var keyboardActions = app.params.dialog.keyboardActions;\n app.dialog = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n app: app,\n constructor: _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n defaultSelector: '.dialog.modal-in'\n }), {\n // Shortcuts\n alert: function alert() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2];\n\n if (args.length === 2 && typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n title = args[2];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n buttons: [{\n text: app.params.dialog.buttonOk,\n bold: true,\n onClick: callbackOk,\n keyCodes: keyboardActions ? [13, 27] : null\n }],\n destroyOnClose: destroyOnClose\n }).open();\n },\n prompt: function prompt() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3],\n defaultValue = args[4];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n defaultValue = args[3];\n title = args[4];\n }\n\n defaultValue = typeof defaultValue === 'undefined' || defaultValue === null ? '' : defaultValue;\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n content: \"
          \"),\n buttons: [{\n text: app.params.dialog.buttonCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n keyCodes: keyboardActions ? [13] : null\n }],\n onClick: function onClick(dialog, index) {\n var inputValue = dialog.$el.find('.dialog-input').val();\n if (index === 0 && callbackCancel) callbackCancel(inputValue);\n if (index === 1 && callbackOk) callbackOk(inputValue);\n },\n destroyOnClose: destroyOnClose\n }).open();\n },\n confirm: function confirm() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n title = args[3];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n buttons: [{\n text: app.params.dialog.buttonCancel,\n onClick: callbackCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n onClick: callbackOk,\n keyCodes: keyboardActions ? [13] : null\n }],\n destroyOnClose: destroyOnClose\n }).open();\n },\n login: function login() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n title = args[3];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n content: \"\\n
          \\n \\n
          \\n
          \\n \\n
          \"),\n buttons: [{\n text: app.params.dialog.buttonCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n keyCodes: keyboardActions ? [13] : null\n }],\n onClick: function onClick(dialog, index) {\n var username = dialog.$el.find('[name=\"dialog-username\"]').val();\n var password = dialog.$el.find('[name=\"dialog-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(username, password);\n if (index === 1 && callbackOk) callbackOk(username, password);\n },\n destroyOnClose: destroyOnClose\n }).open();\n },\n password: function password() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n title = args[3];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n content: \"\\n
          \\n \\n
          \"),\n buttons: [{\n text: app.params.dialog.buttonCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n keyCodes: keyboardActions ? [13] : null\n }],\n onClick: function onClick(dialog, index) {\n var password = dialog.$el.find('[name=\"dialog-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(password);\n if (index === 1 && callbackOk) callbackOk(password);\n },\n destroyOnClose: destroyOnClose\n }).open();\n },\n preloader: function preloader(title, color) {\n var preloaderInner = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")] || '';\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' || title === null ? app.params.dialog.preloaderTitle : title,\n content: \"
          \").concat(preloaderInner, \"
          \"),\n cssClass: 'dialog-preloader',\n destroyOnClose: destroyOnClose\n }).open();\n },\n progress: function progress() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var title = args[0],\n progress = args[1],\n color = args[2];\n\n if (args.length === 2) {\n if (typeof args[0] === 'number') {\n progress = args[0];\n color = args[1];\n title = args[2];\n } else if (typeof args[0] === 'string' && typeof args[1] === 'string') {\n title = args[0];\n color = args[1];\n progress = args[2];\n }\n } else if (args.length === 1) {\n if (typeof args[0] === 'number') {\n progress = args[0];\n title = args[1];\n color = args[2];\n }\n }\n\n var infinite = typeof progress === 'undefined';\n var dialog = new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? app.params.dialog.progressTitle : title,\n cssClass: 'dialog-progress',\n content: \"\\n
          \\n \").concat(!infinite ? '' : '', \"\\n
          \\n \"),\n destroyOnClose: destroyOnClose\n });\n if (!infinite) dialog.setProgress(progress);\n return dialog.open();\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/dialog/dialog.js?"); /***/ }), /***/ "./node_modules/framework7/components/elevation/elevation.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/elevation/elevation.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'elevation'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/elevation/elevation.js?"); /***/ }), /***/ "./node_modules/framework7/components/fab/fab.js": /*!*******************************************************!*\ !*** ./node_modules/framework7/components/fab/fab.js ***! \*******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Fab = {\n morphOpen: function morphOpen(fabEl, targetEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl);\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl);\n if ($targetEl.length === 0) return;\n $targetEl.transition(0).addClass('fab-morph-target-visible');\n var target = {\n width: $targetEl[0].offsetWidth,\n height: $targetEl[0].offsetHeight,\n offset: $targetEl.offset(),\n borderRadius: $targetEl.css('border-radius'),\n zIndex: $targetEl.css('z-index')\n };\n var fab = {\n width: $fabEl[0].offsetWidth,\n height: $fabEl[0].offsetHeight,\n offset: $fabEl.offset(),\n translateX: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate($fabEl[0], 'x'),\n translateY: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate($fabEl[0], 'y')\n };\n $fabEl[0].f7FabMorphData = {\n $targetEl: $targetEl,\n target: target,\n fab: fab\n };\n var diffX = fab.offset.left + fab.width / 2 - (target.offset.left + target.width / 2) - fab.translateX;\n var diffY = fab.offset.top + fab.height / 2 - (target.offset.top + target.height / 2) - fab.translateY;\n var scaleX = target.width / fab.width;\n var scaleY = target.height / fab.height;\n var borderRadius = Math.ceil(parseInt(target.borderRadius, 10) / Math.max(scaleX, scaleY));\n if (borderRadius > 0) borderRadius += 2;\n\n $fabEl[0].f7FabMorphResizeHandler = function resizeHandler() {\n $fabEl.transition(0).transform('');\n $targetEl.transition(0);\n target.width = $targetEl[0].offsetWidth;\n target.height = $targetEl[0].offsetHeight;\n target.offset = $targetEl.offset();\n fab.offset = $fabEl.offset();\n var diffXNew = fab.offset.left + fab.width / 2 - (target.offset.left + target.width / 2) - fab.translateX;\n var diffYNew = fab.offset.top + fab.height / 2 - (target.offset.top + target.height / 2) - fab.translateY;\n var scaleXNew = target.width / fab.width;\n var scaleYNew = target.height / fab.height;\n $fabEl.transform(\"translate3d(\".concat(-diffXNew, \"px, \").concat(-diffYNew, \"px, 0) scale(\").concat(scaleXNew, \", \").concat(scaleYNew, \")\"));\n };\n\n $targetEl.css('opacity', 0).transform(\"scale(\".concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n $fabEl.addClass('fab-opened').css('z-index', target.zIndex - 1).transform(\"translate3d(\".concat(-diffX, \"px, \").concat(-diffY, \"px, 0)\"));\n $fabEl.transitionEnd(function () {\n $targetEl.transition('');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $targetEl.css('opacity', 1).transform('scale(1,1)');\n $fabEl.transform(\"translate3d(\".concat(-diffX, \"px, \").concat(-diffY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\")).css('border-radius', \"\".concat(borderRadius, \"px\")).css('box-shadow', 'none');\n });\n app.on('resize', $fabEl[0].f7FabMorphResizeHandler);\n\n if ($targetEl.parents('.page-content').length > 0) {\n $targetEl.parents('.page-content').on('scroll', $fabEl[0].f7FabMorphResizeHandler);\n }\n });\n },\n morphClose: function morphClose(fabEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl);\n var morphData = $fabEl[0].f7FabMorphData;\n if (!morphData) return;\n var $targetEl = morphData.$targetEl,\n target = morphData.target,\n fab = morphData.fab;\n if ($targetEl.length === 0) return;\n var diffX = fab.offset.left + fab.width / 2 - (target.offset.left + target.width / 2) - fab.translateX;\n var diffY = fab.offset.top + fab.height / 2 - (target.offset.top + target.height / 2) - fab.translateY;\n var scaleX = target.width / fab.width;\n var scaleY = target.height / fab.height;\n app.off('resize', $fabEl[0].f7FabMorphResizeHandler);\n\n if ($targetEl.parents('.page-content').length > 0) {\n $targetEl.parents('.page-content').off('scroll', $fabEl[0].f7FabMorphResizeHandler);\n }\n\n $targetEl.css('opacity', 0).transform(\"scale(\".concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n $fabEl.transition('').css('box-shadow', '').css('border-radius', '').transform(\"translate3d(\".concat(-diffX, \"px, \").concat(-diffY, \"px, 0)\"));\n $fabEl.transitionEnd(function () {\n $fabEl.css('z-index', '').removeClass('fab-opened').transform('');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $fabEl.transitionEnd(function () {\n $targetEl.removeClass('fab-morph-target-visible').css('opacity', '').transform('').transition('');\n });\n });\n });\n },\n open: function open(fabEl, targetEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl).eq(0);\n var $buttonsEl = $fabEl.find('.fab-buttons');\n if (!$fabEl.length) return;\n if ($fabEl.hasClass('fab-opened')) return;\n if (!$buttonsEl.length && !$fabEl.hasClass('fab-morph')) return;\n\n if (app.fab.openedEl) {\n if (app.fab.openedEl === $fabEl[0]) return;\n app.fab.close(app.fab.openedEl);\n }\n\n app.fab.openedEl = $fabEl[0];\n\n if ($fabEl.hasClass('fab-morph')) {\n app.fab.morphOpen($fabEl, targetEl || $fabEl.attr('data-morph-to'));\n } else {\n $fabEl.addClass('fab-opened');\n }\n\n $fabEl.trigger('fab:open');\n },\n close: function close() {\n var fabEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.fab-opened';\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl).eq(0);\n var $buttonsEl = $fabEl.find('.fab-buttons');\n if (!$fabEl.length) return;\n if (!$fabEl.hasClass('fab-opened')) return;\n if (!$buttonsEl.length && !$fabEl.hasClass('fab-morph')) return;\n app.fab.openedEl = null;\n\n if ($fabEl.hasClass('fab-morph')) {\n app.fab.morphClose($fabEl);\n } else {\n $fabEl.removeClass('fab-opened');\n }\n\n $fabEl.trigger('fab:close');\n },\n toggle: function toggle(fabEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl);\n if (!$fabEl.hasClass('fab-opened')) app.fab.open(fabEl);else app.fab.close(fabEl);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'fab',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n fab: {\n openedEl: null,\n morphOpen: Fab.morphOpen.bind(app),\n morphClose: Fab.morphClose.bind(app),\n open: Fab.open.bind(app),\n close: Fab.close.bind(app),\n toggle: Fab.toggle.bind(app)\n }\n });\n },\n clicks: {\n '.fab > a': function open($clickedEl) {\n var app = this;\n app.fab.toggle($clickedEl.parents('.fab'));\n },\n '.fab-open': function open($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.fab.open(data.fab);\n },\n '.fab-close': function close($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.fab.close(data.fab);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/fab/fab.js?"); /***/ }), /***/ "./node_modules/framework7/components/form/form.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/form/form.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n // Form Data\n\nvar FormData = {\n store: function store(form, data) {\n var app = this;\n var formId = form;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(form);\n\n if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {\n formId = $formEl.attr('id');\n } // Store form data in app.formsData\n\n\n app.form.data[\"form-\".concat(formId)] = data; // Store form data in local storage also\n\n try {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)] = JSON.stringify(data);\n } catch (e) {\n throw e;\n }\n },\n get: function get(form) {\n var app = this;\n var formId = form;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(form);\n\n if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {\n formId = $formEl.attr('id');\n }\n\n try {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)]) {\n return JSON.parse(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)]);\n }\n } catch (e) {\n throw e;\n }\n\n if (app.form.data[\"form-\".concat(formId)]) {\n return app.form.data[\"form-\".concat(formId)];\n }\n\n return undefined;\n },\n remove: function remove(form) {\n var app = this;\n var formId = form;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(form);\n\n if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {\n formId = $formEl.attr('id');\n } // Delete form data from app.formsData\n\n\n if (app.form.data[\"form-\".concat(formId)]) {\n app.form.data[\"form-\".concat(formId)] = '';\n delete app.form.data[\"form-\".concat(formId)];\n } // Delete form data from local storage also\n\n\n try {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)]) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)] = '';\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage.removeItem(\"f7form-\".concat(formId));\n }\n } catch (e) {\n throw e;\n }\n }\n}; // Form Storage\n\nvar FormStorage = {\n init: function init(formEl) {\n var app = this;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl);\n var formId = $formEl.attr('id');\n if (!formId) return;\n var initialData = app.form.getFormData(formId);\n\n if (initialData) {\n app.form.fillFromData($formEl, initialData);\n }\n\n function store() {\n var data = app.form.convertToData($formEl);\n if (!data) return;\n app.form.storeFormData(formId, data);\n $formEl.trigger('form:storedata', data);\n app.emit('formStoreData', $formEl[0], data);\n }\n\n $formEl.on('change submit', store);\n },\n destroy: function destroy(formEl) {\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl);\n $formEl.off('change submit');\n }\n}; // Form To/From Data\n\nfunction formToData(formEl) {\n var app = this;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl).eq(0);\n if ($formEl.length === 0) return undefined; // Form data\n\n var data = {}; // Skip input types\n\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n $formEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n\n if ($inputEl.hasClass('ignore-store-data') || $inputEl.hasClass('no-store-data')) {\n return;\n }\n\n var name = $inputEl.attr('name');\n var type = $inputEl.attr('type');\n var tag = inputEl.nodeName.toLowerCase();\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n\n if (tag === 'select' && $inputEl.prop('multiple')) {\n skipNames.push(name);\n data[name] = [];\n $formEl.find(\"select[name=\\\"\".concat(name, \"\\\"] option\")).each(function (index, el) {\n if (el.selected) data[name].push(el.value);\n });\n } else {\n switch (type) {\n case 'checkbox':\n skipNames.push(name);\n data[name] = [];\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n if (el.checked) data[name].push(el.value);\n });\n break;\n\n case 'radio':\n skipNames.push(name);\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n if (el.checked) data[name] = el.value;\n });\n break;\n\n default:\n data[name] = $inputEl.val();\n break;\n }\n }\n });\n $formEl.trigger('form:todata', data);\n app.emit('formToData', $formEl[0], data);\n return data;\n}\n\nfunction formFromData(formEl, formData) {\n var app = this;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl).eq(0);\n if (!$formEl.length) return;\n var data = formData;\n var formId = $formEl.attr('id');\n\n if (!data && formId) {\n data = app.form.getFormData(formId);\n }\n\n if (!data) return; // Skip input types\n\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n $formEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n\n if ($inputEl.hasClass('ignore-store-data') || $inputEl.hasClass('no-store-data')) {\n return;\n }\n\n var name = $inputEl.attr('name');\n var type = $inputEl.attr('type');\n var tag = inputEl.nodeName.toLowerCase();\n if (typeof data[name] === 'undefined' || data[name] === null) return;\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n\n if (tag === 'select' && $inputEl.prop('multiple')) {\n skipNames.push(name);\n $formEl.find(\"select[name=\\\"\".concat(name, \"\\\"] option\")).each(function (index, el) {\n var selectEl = el;\n if (data[name].indexOf(el.value) >= 0) selectEl.selected = true;else selectEl.selected = false;\n });\n } else {\n switch (type) {\n case 'checkbox':\n skipNames.push(name);\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n var checkboxEl = el;\n if (data[name].indexOf(el.value) >= 0) checkboxEl.checked = true;else checkboxEl.checked = false;\n });\n break;\n\n case 'radio':\n skipNames.push(name);\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n var radioEl = el;\n if (data[name] === el.value) radioEl.checked = true;else radioEl.checked = false;\n });\n break;\n\n default:\n $inputEl.val(data[name]);\n break;\n }\n }\n\n if (tag === 'select' || tag === 'input' || tag === 'textarea') {\n $inputEl.trigger('change', 'fromdata');\n }\n });\n $formEl.trigger('form:fromdata', data);\n app.emit('formFromData', $formEl[0], data);\n}\n\nfunction initAjaxForm() {\n var app = this;\n\n function onSubmitChange(e, fromData) {\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n if (e.type === 'change' && !$formEl.hasClass('form-ajax-submit-onchange')) return;\n if (e.type === 'submit') e.preventDefault();\n if (e.type === 'change' && fromData === 'fromdata') return;\n var method = ($formEl.attr('method') || 'GET').toUpperCase();\n var contentType = $formEl.prop('enctype') || $formEl.attr('enctype');\n var url = $formEl.attr('action');\n if (!url) return;\n var data;\n\n if (method === 'POST') {\n if (contentType === 'application/x-www-form-urlencoded') {\n data = app.form.convertToData($formEl[0]);\n } else {\n data = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].FormData($formEl[0]);\n }\n } else {\n data = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].serializeObject(app.form.convertToData($formEl[0]));\n }\n\n app.request({\n method: method,\n url: url,\n contentType: contentType,\n data: data,\n beforeSend: function beforeSend(xhr) {\n $formEl.trigger('formajax:beforesend', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxBeforeSend', $formEl[0], data, xhr);\n },\n error: function error(xhr) {\n $formEl.trigger('formajax:error', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxError', $formEl[0], data, xhr);\n },\n complete: function complete(xhr) {\n $formEl.trigger('formajax:complete', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxComplete', $formEl[0], data, xhr);\n },\n success: function success(response, status, xhr) {\n $formEl.trigger('formajax:success', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxSuccess', $formEl[0], data, xhr);\n }\n });\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('submit change', 'form.form-ajax-submit, form.form-ajax-submit-onchange', onSubmitChange);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'form',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n form: {\n data: {},\n storeFormData: FormData.store.bind(app),\n getFormData: FormData.get.bind(app),\n removeFormData: FormData.remove.bind(app),\n convertToData: formToData.bind(app),\n fillFromData: formFromData.bind(app),\n storage: {\n init: FormStorage.init.bind(app),\n destroy: FormStorage.destroy.bind(app)\n }\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n initAjaxForm.call(app);\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.form-store-data').each(function (index, formEl) {\n app.form.storage.destroy(formEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.form-store-data').each(function (index, formEl) {\n app.form.storage.init(formEl);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.form-store-data').each(function (index, formEl) {\n app.form.storage.destroy(formEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.form-store-data').each(function (index, formEl) {\n app.form.storage.init(formEl);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/form/form.js?"); /***/ }), /***/ "./node_modules/framework7/components/gauge/gauge-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/gauge/gauge-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint no-nested-ternary: off */\n\n\n\n\nvar Gauge = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Gauge, _Framework7Class);\n\n var _super = _createSuper(Gauge);\n\n function Gauge(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Gauge);\n\n // Extends with open/close Modal methods;\n _this = _super.call(this, params, [app]);\n\n var gauge = _assertThisInitialized(_this);\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, app.params.gauge); // Extend defaults with modules params\n\n gauge.useModulesParams(defaults);\n gauge.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var el = gauge.params.el;\n if (!el) return _possibleConstructorReturn(_this, gauge);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, gauge);\n if ($el[0].f7Gauge) return _possibleConstructorReturn(_this, $el[0].f7Gauge);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(gauge, {\n app: app,\n $el: $el,\n el: $el && $el[0]\n });\n $el[0].f7Gauge = gauge; // Install Modules\n\n gauge.useModules();\n gauge.init();\n return _possibleConstructorReturn(_this, gauge);\n }\n\n _createClass(Gauge, [{\n key: \"calcRadius\",\n value: function calcRadius() {\n var gauge = this;\n var _gauge$params = gauge.params,\n size = _gauge$params.size,\n borderWidth = _gauge$params.borderWidth;\n return size / 2 - borderWidth / 2;\n }\n }, {\n key: \"calcBorderLength\",\n value: function calcBorderLength() {\n var gauge = this;\n var radius = gauge.calcRadius();\n return 2 * Math.PI * radius;\n }\n }, {\n key: \"render\",\n value: function render() {\n var gauge = this;\n if (gauge.params.render) return gauge.params.render.call(gauge, gauge);\n var _gauge$params2 = gauge.params,\n type = _gauge$params2.type,\n value = _gauge$params2.value,\n size = _gauge$params2.size,\n bgColor = _gauge$params2.bgColor,\n borderBgColor = _gauge$params2.borderBgColor,\n borderColor = _gauge$params2.borderColor,\n borderWidth = _gauge$params2.borderWidth,\n valueText = _gauge$params2.valueText,\n valueTextColor = _gauge$params2.valueTextColor,\n valueFontSize = _gauge$params2.valueFontSize,\n valueFontWeight = _gauge$params2.valueFontWeight,\n labelText = _gauge$params2.labelText,\n labelTextColor = _gauge$params2.labelTextColor,\n labelFontSize = _gauge$params2.labelFontSize,\n labelFontWeight = _gauge$params2.labelFontWeight;\n var semiCircle = type === 'semicircle';\n var radius = gauge.calcRadius();\n var length = gauge.calcBorderLength();\n var progress = Math.max(Math.min(value, 1), 0);\n return \"\\n \\n \").concat(semiCircle ? \"\\n \\n \\n \") : \"\\n \".concat(borderBgColor ? \"\\n \\n \") : '', \"\\n \\n \"), \"\\n \").concat(valueText ? \"\\n \").concat(valueText, \"\\n \") : '', \"\\n \").concat(labelText ? \"\\n \").concat(labelText, \"\\n \") : '', \"\\n \\n \").trim();\n }\n }, {\n key: \"update\",\n value: function update() {\n var newParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var gauge = this;\n var params = gauge.params,\n $gaugeSvgEl = gauge.$gaugeSvgEl;\n Object.keys(newParams).forEach(function (param) {\n if (typeof newParams[param] !== 'undefined') {\n params[param] = newParams[param];\n }\n });\n if ($gaugeSvgEl.length === 0) return gauge;\n var value = params.value,\n size = params.size,\n bgColor = params.bgColor,\n borderBgColor = params.borderBgColor,\n borderColor = params.borderColor,\n borderWidth = params.borderWidth,\n valueText = params.valueText,\n valueTextColor = params.valueTextColor,\n valueFontSize = params.valueFontSize,\n valueFontWeight = params.valueFontWeight,\n labelText = params.labelText,\n labelTextColor = params.labelTextColor,\n labelFontSize = params.labelFontSize,\n labelFontWeight = params.labelFontWeight;\n var length = gauge.calcBorderLength();\n var progress = Math.max(Math.min(value, 1), 0);\n var radius = gauge.calcRadius();\n var semiCircle = params.type === 'semicircle';\n var svgAttrs = {\n width: \"\".concat(size, \"px\"),\n height: \"\".concat(semiCircle ? size / 2 : size, \"px\"),\n viewBox: \"0 0 \".concat(size, \" \").concat(semiCircle ? size / 2 : size)\n };\n Object.keys(svgAttrs).forEach(function (attr) {\n $gaugeSvgEl.attr(attr, svgAttrs[attr]);\n });\n\n if (semiCircle) {\n var backAttrs = {\n d: \"M\".concat(size - borderWidth / 2, \",\").concat(size / 2, \" a1,1 0 0,0 -\").concat(size - borderWidth, \",0\"),\n stroke: borderBgColor,\n 'stroke-width': borderWidth,\n fill: bgColor || 'none'\n };\n var frontAttrs = {\n d: \"M\".concat(size - borderWidth / 2, \",\").concat(size / 2, \" a1,1 0 0,0 -\").concat(size - borderWidth, \",0\"),\n stroke: borderColor,\n 'stroke-width': borderWidth,\n 'stroke-dasharray': length / 2,\n 'stroke-dashoffset': length / 2 * (progress - 1),\n fill: borderBgColor ? 'none' : bgColor || 'none'\n };\n Object.keys(backAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-back-semi').attr(attr, backAttrs[attr]);\n });\n Object.keys(frontAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-front-semi').attr(attr, frontAttrs[attr]);\n });\n } else {\n var _backAttrs = {\n stroke: borderBgColor,\n 'stroke-width': borderWidth,\n fill: bgColor || 'none',\n cx: size / 2,\n cy: size / 2,\n r: radius\n };\n var _frontAttrs = {\n transform: \"rotate(-90 \".concat(size / 2, \" \").concat(size / 2, \")\"),\n stroke: borderColor,\n 'stroke-width': borderWidth,\n 'stroke-dasharray': length,\n 'stroke-dashoffset': length * (1 - progress),\n fill: borderBgColor ? 'none' : bgColor || 'none',\n cx: size / 2,\n cy: size / 2,\n r: radius\n };\n Object.keys(_backAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-back-circle').attr(attr, _backAttrs[attr]);\n });\n Object.keys(_frontAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-front-circle').attr(attr, _frontAttrs[attr]);\n });\n }\n\n if (valueText) {\n if (!$gaugeSvgEl.find('.gauge-value-text').length) {\n $gaugeSvgEl.append('');\n }\n\n var textAttrs = {\n x: '50%',\n y: semiCircle ? '100%' : '50%',\n 'font-weight': valueFontWeight,\n 'font-size': valueFontSize,\n fill: valueTextColor,\n dy: semiCircle ? labelText ? -labelFontSize - 15 : -5 : 0,\n 'text-anchor': 'middle',\n 'dominant-baseline': !semiCircle && 'middle'\n };\n Object.keys(textAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-value-text').attr(attr, textAttrs[attr]);\n });\n $gaugeSvgEl.find('.gauge-value-text').text(valueText);\n } else {\n $gaugeSvgEl.find('.gauge-value-text').remove();\n }\n\n if (labelText) {\n if (!$gaugeSvgEl.find('.gauge-label-text').length) {\n $gaugeSvgEl.append('');\n }\n\n var labelAttrs = {\n x: '50%',\n y: semiCircle ? '100%' : '50%',\n 'font-weight': labelFontWeight,\n 'font-size': labelFontSize,\n fill: labelTextColor,\n dy: semiCircle ? -5 : valueText ? valueFontSize / 2 + 10 : 0,\n 'text-anchor': 'middle',\n 'dominant-baseline': !semiCircle && 'middle'\n };\n Object.keys(labelAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-label-text').attr(attr, labelAttrs[attr]);\n });\n $gaugeSvgEl.find('.gauge-label-text').text(labelText);\n } else {\n $gaugeSvgEl.find('.gauge-label-text').remove();\n }\n\n return gauge;\n }\n }, {\n key: \"init\",\n value: function init() {\n var gauge = this;\n var $gaugeSvgEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(gauge.render()).eq(0);\n $gaugeSvgEl.f7Gauge = gauge;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(gauge, {\n $gaugeSvgEl: $gaugeSvgEl,\n gaugeSvgEl: $gaugeSvgEl && $gaugeSvgEl[0]\n });\n gauge.$el.append($gaugeSvgEl);\n return gauge;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var gauge = this;\n if (!gauge.$el || gauge.destroyed) return;\n gauge.$el.trigger('gauge:beforedestroy', gauge);\n gauge.emit('local::beforeDestroy gaugeBeforeDestroy', gauge);\n gauge.$gaugeSvgEl.remove();\n delete gauge.$el[0].f7Gauge;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(gauge);\n gauge.destroyed = true;\n }\n }]);\n\n return Gauge;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Gauge);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/gauge/gauge-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/gauge/gauge.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/gauge/gauge.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _gauge_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gauge-class */ \"./node_modules/framework7/components/gauge/gauge-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'gauge',\n static: {\n Gauge: _gauge_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.gauge = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.gauge',\n constructor: _gauge_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Gauge'\n });\n\n app.gauge.update = function update(el, newParams) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var gauge = app.gauge.get(el);\n if (!gauge) return undefined;\n gauge.update(newParams);\n return gauge;\n };\n },\n params: {\n gauge: {\n el: null,\n type: 'circle',\n value: 0,\n size: 200,\n bgColor: 'transparent',\n borderBgColor: '#eeeeee',\n borderColor: '#000000',\n borderWidth: 10,\n valueText: null,\n valueTextColor: '#000000',\n valueFontSize: 31,\n valueFontWeight: 500,\n labelText: null,\n labelTextColor: '#888888',\n labelFontSize: 14,\n labelFontWeight: 400\n }\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.gauge-init').each(function (index, el) {\n app.gauge.create(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n el: el\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).dataset() || {}));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.gauge-init').each(function (index, el) {\n if (el.f7Gauge) el.f7Gauge.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.gauge-init').each(function (index, el) {\n app.gauge.create(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n el: el\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).dataset() || {}));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.gauge-init').each(function (index, el) {\n if (el.f7Gauge) el.f7Gauge.destroy();\n });\n }\n },\n vnode: {\n 'gauge-init': {\n insert: function insert(vnode) {\n var app = this;\n var el = vnode.elm;\n app.gauge.create(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n el: el\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).dataset() || {}));\n },\n destroy: function destroy(vnode) {\n var el = vnode.elm;\n if (el.f7Gauge) el.f7Gauge.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/gauge/gauge.js?"); /***/ }), /***/ "./node_modules/framework7/components/grid/grid.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/grid/grid.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'grid'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/grid/grid.js?"); /***/ }), /***/ "./node_modules/framework7/components/infinite-scroll/infinite-scroll.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/infinite-scroll/infinite-scroll.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar InfiniteScroll = {\n handleScroll: function handleScroll(el, e) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var scrollTop = $el[0].scrollTop;\n var scrollHeight = $el[0].scrollHeight;\n var height = $el[0].offsetHeight;\n var distance = $el[0].getAttribute('data-infinite-distance');\n var virtualListContainer = $el.find('.virtual-list');\n var virtualList;\n var onTop = $el.hasClass('infinite-scroll-top');\n if (!distance) distance = 50;\n\n if (typeof distance === 'string' && distance.indexOf('%') >= 0) {\n distance = parseInt(distance, 10) / 100 * height;\n }\n\n if (distance > height) distance = height;\n\n if (onTop) {\n if (scrollTop < distance) {\n $el.trigger('infinite', e);\n app.emit('infinite', $el[0], e);\n }\n } else if (scrollTop + height >= scrollHeight - distance) {\n if (virtualListContainer.length > 0) {\n virtualList = virtualListContainer.eq(-1)[0].f7VirtualList;\n\n if (virtualList && !virtualList.reachEnd && !virtualList.params.updatableScroll) {\n return;\n }\n }\n\n $el.trigger('infinite', e);\n app.emit('infinite', $el[0], e);\n }\n },\n create: function create(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var app = this;\n\n function scrollHandler(e) {\n app.infiniteScroll.handle(this, e);\n }\n\n $el.each(function (index, element) {\n element.f7InfiniteScrollHandler = scrollHandler;\n element.addEventListener('scroll', element.f7InfiniteScrollHandler);\n });\n },\n destroy: function destroy(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n $el.each(function (index, element) {\n element.removeEventListener('scroll', element.f7InfiniteScrollHandler);\n delete element.f7InfiniteScrollHandler;\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'infiniteScroll',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n infiniteScroll: {\n handle: InfiniteScroll.handleScroll.bind(app),\n create: InfiniteScroll.create.bind(app),\n destroy: InfiniteScroll.destroy.bind(app)\n }\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var $isEls = $tabEl.find('.infinite-scroll-content');\n if ($tabEl.is('.infinite-scroll-content')) $isEls.add($tabEl);\n $isEls.each(function (index, el) {\n app.infiniteScroll.create(el);\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var app = this;\n var $isEls = $tabEl.find('.infinite-scroll-content');\n if ($tabEl.is('.infinite-scroll-content')) $isEls.add($tabEl);\n $isEls.each(function (index, el) {\n app.infiniteScroll.destroy(el);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.infinite-scroll-content').each(function (index, el) {\n app.infiniteScroll.create(el);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.infinite-scroll-content').each(function (index, el) {\n app.infiniteScroll.destroy(el);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/infinite-scroll/infinite-scroll.js?"); /***/ }), /***/ "./node_modules/framework7/components/input/input.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/input/input.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n\n\n\nvar Input = {\n ignoreTypes: ['checkbox', 'button', 'submit', 'range', 'radio', 'image'],\n createTextareaResizableShadow: function createTextareaResizableShadow() {\n var $shadowEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].createElement('textarea'));\n $shadowEl.addClass('textarea-resizable-shadow');\n $shadowEl.prop({\n disabled: true,\n readonly: true\n });\n Input.textareaResizableShadow = $shadowEl;\n },\n textareaResizableShadow: undefined,\n resizeTextarea: function resizeTextarea(textareaEl) {\n var app = this;\n var $textareaEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(textareaEl);\n\n if (!Input.textareaResizableShadow) {\n Input.createTextareaResizableShadow();\n }\n\n var $shadowEl = Input.textareaResizableShadow;\n if (!$textareaEl.length) return;\n if (!$textareaEl.hasClass('resizable')) return;\n\n if (Input.textareaResizableShadow.parents().length === 0) {\n app.root.append($shadowEl);\n }\n\n var styles = ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].getComputedStyle($textareaEl[0]);\n 'padding-top padding-bottom padding-left padding-right margin-left margin-right margin-top margin-bottom width font-size font-family font-style font-weight line-height font-variant text-transform letter-spacing border box-sizing display'.split(' ').forEach(function (style) {\n var styleValue = styles[style];\n\n if ('font-size line-height letter-spacing width'.split(' ').indexOf(style) >= 0) {\n styleValue = styleValue.replace(',', '.');\n }\n\n $shadowEl.css(style, styleValue);\n });\n var currentHeight = $textareaEl[0].clientHeight;\n $shadowEl.val('');\n var initialHeight = $shadowEl[0].scrollHeight;\n $shadowEl.val($textareaEl.val());\n $shadowEl.css('height', 0);\n var scrollHeight = $shadowEl[0].scrollHeight;\n\n if (currentHeight !== scrollHeight) {\n if (scrollHeight > initialHeight) {\n $textareaEl.css('height', \"\".concat(scrollHeight, \"px\"));\n $textareaEl.trigger('textarea:resize', {\n initialHeight: initialHeight,\n currentHeight: currentHeight,\n scrollHeight: scrollHeight\n });\n } else if (scrollHeight < currentHeight) {\n $textareaEl.css('height', '');\n $textareaEl.trigger('textarea:resize', {\n initialHeight: initialHeight,\n currentHeight: currentHeight,\n scrollHeight: scrollHeight\n });\n }\n }\n },\n validate: function validate(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n if (!$inputEl.length) return;\n var $itemInputEl = $inputEl.parents('.item-input');\n var $inputWrapEl = $inputEl.parents('.input');\n var validity = $inputEl[0].validity;\n var validationMessage = $inputEl.dataset().errorMessage || $inputEl[0].validationMessage || '';\n if (!validity) return;\n\n if (!validity.valid) {\n var $errorEl = $inputEl.nextAll('.item-input-error-message, .input-error-message');\n\n if (validationMessage) {\n if ($errorEl.length === 0) {\n $errorEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $errorEl.insertAfter($inputEl);\n }\n\n $errorEl.text(validationMessage);\n }\n\n if ($errorEl.length > 0) {\n $itemInputEl.addClass('item-input-with-error-message');\n $inputWrapEl.addClass('input-with-error-message');\n }\n\n $itemInputEl.addClass('item-input-invalid');\n $inputWrapEl.addClass('input-invalid');\n $inputEl.addClass('input-invalid');\n } else {\n $itemInputEl.removeClass('item-input-invalid item-input-with-error-message');\n $inputWrapEl.removeClass('input-invalid input-with-error-message');\n $inputEl.removeClass('input-invalid');\n }\n },\n validateInputs: function validateInputs(el) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).find('input, textarea, select').each(function (index, inputEl) {\n app.input.validate(inputEl);\n });\n },\n focus: function focus(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n var type = $inputEl.attr('type');\n if (Input.ignoreTypes.indexOf(type) >= 0) return;\n $inputEl.parents('.item-input').addClass('item-input-focused');\n $inputEl.parents('.input').addClass('input-focused');\n $inputEl.addClass('input-focused');\n },\n blur: function blur(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n $inputEl.parents('.item-input').removeClass('item-input-focused');\n $inputEl.parents('.input').removeClass('input-focused');\n $inputEl.removeClass('input-focused');\n },\n checkEmptyState: function checkEmptyState(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n\n if (!$inputEl.is('input, select, textarea')) {\n $inputEl = $inputEl.find('input, select, textarea').eq(0);\n }\n\n if (!$inputEl.length) return;\n var value = $inputEl.val();\n var $itemInputEl = $inputEl.parents('.item-input');\n var $inputWrapEl = $inputEl.parents('.input');\n\n if (value && typeof value === 'string' && value.trim() !== '' || Array.isArray(value) && value.length > 0) {\n $itemInputEl.addClass('item-input-with-value');\n $inputWrapEl.addClass('input-with-value');\n $inputEl.addClass('input-with-value');\n $inputEl.trigger('input:notempty');\n } else {\n $itemInputEl.removeClass('item-input-with-value');\n $inputWrapEl.removeClass('input-with-value');\n $inputEl.removeClass('input-with-value');\n $inputEl.trigger('input:empty');\n }\n },\n scrollIntoView: function scrollIntoView(inputEl) {\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var centered = arguments.length > 2 ? arguments[2] : undefined;\n var force = arguments.length > 3 ? arguments[3] : undefined;\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n var $scrollableEl = $inputEl.parents('.page-content, .panel').eq(0);\n\n if (!$scrollableEl.length) {\n return false;\n }\n\n var contentHeight = $scrollableEl[0].offsetHeight;\n var contentScrollTop = $scrollableEl[0].scrollTop;\n var contentPaddingTop = parseInt($scrollableEl.css('padding-top'), 10);\n var contentPaddingBottom = parseInt($scrollableEl.css('padding-bottom'), 10);\n var contentOffsetTop = $scrollableEl.offset().top - contentScrollTop;\n var inputOffsetTop = $inputEl.offset().top - contentOffsetTop;\n var inputHeight = $inputEl[0].offsetHeight;\n var min = inputOffsetTop + contentScrollTop - contentPaddingTop;\n var max = inputOffsetTop + contentScrollTop - contentHeight + contentPaddingBottom + inputHeight;\n var centeredPosition = min + (max - min) / 2;\n\n if (contentScrollTop > min) {\n $scrollableEl.scrollTop(centered ? centeredPosition : min, duration);\n return true;\n }\n\n if (contentScrollTop < max) {\n $scrollableEl.scrollTop(centered ? centeredPosition : max, duration);\n return true;\n }\n\n if (force) {\n $scrollableEl.scrollTop(centered ? centeredPosition : max, duration);\n }\n\n return false;\n },\n init: function init() {\n var app = this;\n Input.createTextareaResizableShadow();\n\n function onFocus() {\n var inputEl = this;\n\n if (app.params.input.scrollIntoViewOnFocus) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"]).once('resize', function () {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"] && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].activeElement === inputEl) {\n app.input.scrollIntoView(inputEl, app.params.input.scrollIntoViewDuration, app.params.input.scrollIntoViewCentered, app.params.input.scrollIntoViewAlways);\n }\n });\n } else {\n app.input.scrollIntoView(inputEl, app.params.input.scrollIntoViewDuration, app.params.input.scrollIntoViewCentered, app.params.input.scrollIntoViewAlways);\n }\n }\n\n app.input.focus(inputEl);\n }\n\n function onBlur() {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var tag = $inputEl[0].nodeName.toLowerCase();\n app.input.blur($inputEl);\n\n if ($inputEl.dataset().validate || $inputEl.attr('validate') !== null || $inputEl.attr('data-validate-on-blur') !== null) {\n app.input.validate($inputEl);\n } // Resize textarea\n\n\n if (tag === 'textarea' && $inputEl.hasClass('resizable')) {\n if (Input.textareaResizableShadow) Input.textareaResizableShadow.remove();\n }\n }\n\n function onChange() {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var type = $inputEl.attr('type');\n var tag = $inputEl[0].nodeName.toLowerCase();\n if (Input.ignoreTypes.indexOf(type) >= 0) return; // Check Empty State\n\n app.input.checkEmptyState($inputEl); // Check validation\n\n if ($inputEl.attr('data-validate-on-blur') === null && ($inputEl.dataset().validate || $inputEl.attr('validate') !== null)) {\n app.input.validate($inputEl);\n } // Resize textarea\n\n\n if (tag === 'textarea' && $inputEl.hasClass('resizable')) {\n app.input.resizeTextarea($inputEl);\n }\n }\n\n function onInvalid(e) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n\n if ($inputEl.attr('data-validate-on-blur') === null && ($inputEl.dataset().validate || $inputEl.attr('validate') !== null)) {\n e.preventDefault();\n app.input.validate($inputEl);\n }\n }\n\n function clearInput() {\n var $clicked = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var $inputEl = $clicked.siblings('input, textarea').eq(0);\n var previousValue = $inputEl.val();\n $inputEl.val('').trigger('input change').focus().trigger('input:clear', previousValue);\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('click', '.input-clear-button', clearInput);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('change input', 'input, textarea, select', onChange, true);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('focus', 'input, textarea, select', onFocus, true);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('blur', 'input, textarea, select', onBlur, true);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('invalid', 'input, textarea, select', onInvalid, true);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'input',\n params: {\n input: {\n scrollIntoViewOnFocus: _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android,\n scrollIntoViewCentered: false,\n scrollIntoViewDuration: 0,\n scrollIntoViewAlways: false\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n input: {\n scrollIntoView: Input.scrollIntoView.bind(app),\n focus: Input.focus.bind(app),\n blur: Input.blur.bind(app),\n validate: Input.validate.bind(app),\n validateInputs: Input.validateInputs.bind(app),\n checkEmptyState: Input.checkEmptyState.bind(app),\n resizeTextarea: Input.resizeTextarea.bind(app),\n init: Input.init.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n app.input.init();\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n $tabEl.find('.item-input, .input').each(function (itemInputIndex, itemInputEl) {\n var $itemInputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemInputEl);\n $itemInputEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n if (Input.ignoreTypes.indexOf($inputEl.attr('type')) >= 0) return;\n app.input.checkEmptyState($inputEl);\n });\n });\n $tabEl.find('textarea.resizable').each(function (textareaIndex, textareaEl) {\n app.input.resizeTextarea(textareaEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n var $pageEl = page.$el;\n $pageEl.find('.item-input, .input').each(function (itemInputIndex, itemInputEl) {\n var $itemInputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemInputEl);\n $itemInputEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n if (Input.ignoreTypes.indexOf($inputEl.attr('type')) >= 0) return;\n app.input.checkEmptyState($inputEl);\n });\n });\n $pageEl.find('textarea.resizable').each(function (textareaIndex, textareaEl) {\n app.input.resizeTextarea(textareaEl);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/input/input.js?"); /***/ }), /***/ "./node_modules/framework7/components/lazy/lazy.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/lazy/lazy.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\n\nvar Lazy = {\n destroy: function destroy(pageEl) {\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl).closest('.page');\n if (!$pageEl.length) return;\n\n if ($pageEl[0].f7LazyDestroy) {\n $pageEl[0].f7LazyDestroy();\n }\n },\n create: function create(pageEl) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl).closest('.page').eq(0); // Lazy images\n\n var $lazyLoadImages = $pageEl.find('.lazy');\n if ($lazyLoadImages.length === 0 && !$pageEl.hasClass('lazy')) return; // Placeholder\n\n var placeholderSrc = app.params.lazy.placeholder;\n\n if (placeholderSrc !== false) {\n $lazyLoadImages.each(function (index, lazyEl) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl).attr('data-src') && !Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl).attr('src')) Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl).attr('src', placeholderSrc);\n });\n } // load image\n\n\n var imagesSequence = [];\n var imageIsLoading = false;\n\n function onImageComplete(lazyEl) {\n if (imagesSequence.indexOf(lazyEl) >= 0) {\n imagesSequence.splice(imagesSequence.indexOf(lazyEl), 1);\n }\n\n imageIsLoading = false;\n\n if (app.params.lazy.sequential && imagesSequence.length > 0) {\n imageIsLoading = true;\n app.lazy.loadImage(imagesSequence[0], onImageComplete);\n }\n }\n\n function observerCallback(entries, observer) {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n if (app.params.lazy.sequential && imageIsLoading) {\n if (imagesSequence.indexOf(entry.target) < 0) imagesSequence.push(entry.target);\n return;\n } // Load image\n\n\n imageIsLoading = true;\n app.lazy.loadImage(entry.target, onImageComplete); // Detach\n\n observer.unobserve(entry.target);\n }\n });\n }\n\n if (app.params.lazy.observer && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].intersectionObserver) {\n var observer = $pageEl[0].f7LazyObserver;\n\n if (!observer) {\n observer = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].IntersectionObserver(observerCallback, {\n root: $pageEl[0]\n });\n }\n\n $lazyLoadImages.each(function (index, el) {\n if (el.f7LazyObserverAdded) return;\n el.f7LazyObserverAdded = true;\n observer.observe(el);\n });\n\n if (!$pageEl[0].f7LazyDestroy) {\n $pageEl[0].f7LazyDestroy = function () {\n observer.disconnect();\n delete $pageEl[0].f7LazyDestroy;\n delete $pageEl[0].f7LazyObserver;\n };\n }\n\n return;\n }\n\n function lazyHandler() {\n app.lazy.load($pageEl, function (lazyEl) {\n if (app.params.lazy.sequential && imageIsLoading) {\n if (imagesSequence.indexOf(lazyEl) < 0) imagesSequence.push(lazyEl);\n return;\n }\n\n imageIsLoading = true;\n app.lazy.loadImage(lazyEl, onImageComplete);\n });\n }\n\n function attachEvents() {\n $pageEl[0].f7LazyAttached = true;\n $pageEl.on('lazy', lazyHandler);\n $pageEl.on('scroll', lazyHandler, true);\n $pageEl.find('.tab').on('tab:mounted tab:show', lazyHandler);\n app.on('resize', lazyHandler);\n }\n\n function detachEvents() {\n $pageEl[0].f7LazyAttached = false;\n delete $pageEl[0].f7LazyAttached;\n $pageEl.off('lazy', lazyHandler);\n $pageEl.off('scroll', lazyHandler, true);\n $pageEl.find('.tab').off('tab:mounted tab:show', lazyHandler);\n app.off('resize', lazyHandler);\n } // Store detach function\n\n\n if (!$pageEl[0].f7LazyDestroy) {\n $pageEl[0].f7LazyDestroy = detachEvents;\n } // Attach events\n\n\n if (!$pageEl[0].f7LazyAttached) {\n attachEvents();\n } // Run loader on page load/init\n\n\n lazyHandler();\n },\n isInViewport: function isInViewport(lazyEl) {\n var app = this;\n var rect = lazyEl.getBoundingClientRect();\n var threshold = app.params.lazy.threshold || 0;\n return rect.top >= 0 - threshold && rect.left >= 0 - threshold && rect.top <= app.height + threshold && rect.left <= app.width + threshold;\n },\n loadImage: function loadImage(imageEl, callback) {\n var app = this;\n var $imageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageEl);\n var bg = $imageEl.attr('data-background');\n var src = bg || $imageEl.attr('data-src');\n if (!src) return;\n\n function onLoad() {\n $imageEl.removeClass('lazy').addClass('lazy-loaded');\n\n if (bg) {\n $imageEl.css('background-image', \"url(\".concat(src, \")\"));\n } else {\n $imageEl.attr('src', src);\n }\n\n if (callback) callback(imageEl);\n $imageEl.trigger('lazy:loaded');\n app.emit('lazyLoaded', $imageEl[0]);\n }\n\n function onError() {\n $imageEl.removeClass('lazy').addClass('lazy-loaded');\n\n if (bg) {\n $imageEl.css('background-image', \"url(\".concat(app.params.lazy.placeholder || '', \")\"));\n } else {\n $imageEl.attr('src', app.params.lazy.placeholder || '');\n }\n\n if (callback) callback(imageEl);\n $imageEl.trigger('lazy:error');\n app.emit('lazyError', $imageEl[0]);\n }\n\n var image = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].Image();\n image.onload = onLoad;\n image.onerror = onError;\n image.src = src;\n $imageEl.removeAttr('data-src').removeAttr('data-background'); // Add loaded callback and events\n\n $imageEl.trigger('lazy:load');\n app.emit('lazyLoad', $imageEl[0]);\n },\n load: function load(pageEl, callback) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n if (!$pageEl.hasClass('page')) $pageEl = $pageEl.parents('.page').eq(0);\n\n if ($pageEl.length === 0) {\n return;\n }\n\n $pageEl.find('.lazy').each(function (index, lazyEl) {\n var $lazyEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl);\n\n if ($lazyEl.parents('.tab:not(.tab-active)').length > 0) {\n return;\n }\n\n if (app.lazy.isInViewport(lazyEl)) {\n if (callback) callback(lazyEl);else app.lazy.loadImage(lazyEl);\n }\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'lazy',\n params: {\n lazy: {\n placeholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==',\n threshold: 0,\n sequential: true,\n observer: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n lazy: {\n create: Lazy.create.bind(app),\n destroy: Lazy.destroy.bind(app),\n loadImage: Lazy.loadImage.bind(app),\n load: Lazy.load.bind(app),\n isInViewport: Lazy.isInViewport.bind(app)\n }\n });\n },\n on: {\n pageInit: function pageInit(page) {\n var app = this;\n\n if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {\n app.lazy.create(page.$el);\n }\n },\n pageAfterIn: function pageAfterIn(page) {\n var app = this;\n if (app.params.lazy.observer && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].intersectionObserver) return;\n\n if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {\n app.lazy.create(page.$el);\n }\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n\n if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {\n app.lazy.destroy(page.$el);\n }\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n\n if ($tabEl.find('.lazy').length > 0 || $tabEl.hasClass('lazy')) {\n app.lazy.create($tabEl);\n }\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n if (app.params.lazy.observer && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].intersectionObserver) return;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n\n if ($tabEl.find('.lazy').length > 0 || $tabEl.hasClass('lazy')) {\n app.lazy.destroy($tabEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/lazy/lazy.js?"); /***/ }), /***/ "./node_modules/framework7/components/list-index/list-index-class.js": /*!***************************************************************************!*\ !*** ./node_modules/framework7/components/list-index/list-index-class.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar ListIndex = /*#__PURE__*/function (_Framework7Class) {\n _inherits(ListIndex, _Framework7Class);\n\n var _super = _createSuper(ListIndex);\n\n function ListIndex(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ListIndex);\n\n _this = _super.call(this, params, [app]);\n\n var index = _assertThisInitialized(_this);\n\n var defaults = {\n el: null,\n // where to render indexes\n listEl: null,\n // list el to generate indexes\n indexes: 'auto',\n // or array of indexes\n iosItemHeight: 14,\n mdItemHeight: 14,\n auroraItemHeight: 14,\n scrollList: true,\n label: false,\n // eslint-disable-next-line\n renderItem: function renderItem(itemContent, itemIndex) {\n return \"\\n
        • \".concat(itemContent, \"
        • \\n \").trim();\n },\n renderSkipPlaceholder: function renderSkipPlaceholder() {\n return '
        • ';\n },\n on: {}\n }; // Extend defaults with modules params\n\n index.useModulesParams(defaults);\n index.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var $el;\n var $listEl;\n var $pageContentEl;\n var $ul;\n\n if (index.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(index.params.el);\n } else {\n return _possibleConstructorReturn(_this, index);\n }\n\n if ($el[0].f7ListIndex) {\n return _possibleConstructorReturn(_this, $el[0].f7ListIndex);\n }\n\n $ul = $el.find('ul');\n\n if ($ul.length === 0) {\n $ul = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('');\n $el.append($ul);\n }\n\n if (index.params.listEl) {\n $listEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(index.params.listEl);\n }\n\n if (index.params.indexes === 'auto' && !$listEl) {\n return _possibleConstructorReturn(_this, index);\n }\n\n if ($listEl) {\n $pageContentEl = $listEl.parents('.page-content').eq(0);\n } else {\n $pageContentEl = $el.siblings('.page-content').eq(0);\n\n if ($pageContentEl.length === 0) {\n $pageContentEl = $el.parents('.page').eq(0).find('.page-content').eq(0);\n }\n }\n\n $el[0].f7ListIndex = index;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(index, {\n app: app,\n $el: $el,\n el: $el && $el[0],\n $ul: $ul,\n ul: $ul && $ul[0],\n $listEl: $listEl,\n listEl: $listEl && $listEl[0],\n $pageContentEl: $pageContentEl,\n pageContentEl: $pageContentEl && $pageContentEl[0],\n indexes: params.indexes,\n height: 0,\n skipRate: 0\n }); // Install Modules\n\n index.useModules(); // Attach events\n\n function handleResize() {\n var height = {\n index: index\n };\n index.calcSize();\n\n if (height !== index.height) {\n index.render();\n }\n }\n\n function handleClick(e) {\n var $clickedLi = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('li');\n if (!$clickedLi.length) return;\n var itemIndex = $clickedLi.index();\n\n if (index.skipRate > 0) {\n var percentage = itemIndex / ($clickedLi.siblings('li').length - 1);\n itemIndex = Math.round((index.indexes.length - 1) * percentage);\n }\n\n var itemContent = index.indexes[itemIndex];\n index.$el.trigger('listindex:click', itemContent, itemIndex);\n index.emit('local::click listIndexClick', index, itemContent, itemIndex);\n index.$el.trigger('listindex:select', itemContent, itemIndex);\n index.emit('local::select listIndexSelect', index, itemContent, itemIndex);\n\n if (index.$listEl && index.params.scrollList) {\n index.scrollListToIndex(itemContent, itemIndex);\n }\n }\n\n var touchesStart = {};\n var isTouched;\n var isMoved;\n var topPoint;\n var bottomPoint;\n var $labelEl;\n var previousIndex = null;\n\n function handleTouchStart(e) {\n var $children = $ul.children();\n if (!$children.length) return;\n topPoint = $children[0].getBoundingClientRect().top;\n bottomPoint = $children[$children.length - 1].getBoundingClientRect().top + $children[0].offsetHeight;\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 isTouched = true;\n isMoved = false;\n previousIndex = null;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n\n if (!isMoved && index.params.label) {\n $labelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('');\n $el.append($labelEl);\n }\n\n isMoved = true;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n var percentage = (pageY - topPoint) / (bottomPoint - topPoint);\n percentage = Math.min(Math.max(percentage, 0), 1);\n var itemIndex = Math.round((index.indexes.length - 1) * percentage);\n var itemContent = index.indexes[itemIndex];\n var ulHeight = bottomPoint - topPoint;\n var bubbleBottom = (index.height - ulHeight) / 2 + (1 - percentage) * ulHeight;\n\n if (itemIndex !== previousIndex) {\n if (index.params.label) {\n $labelEl.html(itemContent).transform(\"translateY(-\".concat(bubbleBottom, \"px)\"));\n }\n\n if (index.$listEl && index.params.scrollList) {\n index.scrollListToIndex(itemContent, itemIndex);\n }\n }\n\n previousIndex = itemIndex;\n index.$el.trigger('listindex:select', index);\n index.emit('local::select listIndexSelect', index, itemContent, itemIndex);\n }\n\n function handleTouchEnd() {\n if (!isTouched) return;\n isTouched = false;\n isMoved = false;\n\n if (index.params.label) {\n if ($labelEl) $labelEl.remove();\n $labelEl = undefined;\n }\n }\n\n var passiveListener = app.support.passiveListener ? {\n passive: true\n } : false;\n\n index.attachEvents = function attachEvents() {\n $el.parents('.tab').on('tab:show', handleResize);\n $el.parents('.page').on('page:reinit', handleResize);\n $el.parents('.panel').on('panel:open', handleResize);\n $el.parents('.sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast').on('modal:open', handleResize);\n app.on('resize', handleResize);\n $el.on('click', handleClick);\n $el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n };\n\n index.detachEvents = function attachEvents() {\n $el.parents('.tab').off('tab:show', handleResize);\n $el.parents('.page').off('page:reinit', handleResize);\n $el.parents('.panel').off('panel:open', handleResize);\n $el.parents('.sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast').off('modal:open', handleResize);\n app.off('resize', handleResize);\n $el.off('click', handleClick);\n $el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }; // Init\n\n\n index.init();\n return _possibleConstructorReturn(_this, index);\n } // eslint-disable-next-line\n\n\n _createClass(ListIndex, [{\n key: \"scrollListToIndex\",\n value: function scrollListToIndex(itemContent, itemIndex) {\n var index = this;\n var $listEl = index.$listEl,\n $pageContentEl = index.$pageContentEl,\n app = index.app;\n if (!$listEl || !$pageContentEl || $pageContentEl.length === 0) return index;\n var $scrollToEl;\n $listEl.find('.list-group-title, .item-divider').each(function (elIndex, el) {\n if ($scrollToEl) return;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n\n if ($el.text() === itemContent) {\n $scrollToEl = $el;\n }\n });\n if (!$scrollToEl || $scrollToEl.length === 0) return index;\n var parentTop = $scrollToEl.parent().offset().top;\n var paddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var scrollTop = $pageContentEl[0].scrollTop;\n var scrollToElTop = $scrollToEl.offset().top;\n\n if ($pageContentEl.parents('.page-with-navbar-large').length) {\n var navbarInnerEl = app.navbar.getElByPage($pageContentEl.parents('.page-with-navbar-large').eq(0));\n var $titleLargeEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.title-large');\n\n if ($titleLargeEl.length) {\n paddingTop -= $titleLargeEl[0].offsetHeight || 0;\n }\n }\n\n if (parentTop <= paddingTop) {\n $pageContentEl.scrollTop(parentTop + scrollTop - paddingTop);\n } else {\n $pageContentEl.scrollTop(scrollToElTop + scrollTop - paddingTop);\n }\n\n return index;\n }\n }, {\n key: \"renderSkipPlaceholder\",\n value: function renderSkipPlaceholder() {\n var index = this;\n return index.params.renderSkipPlaceholder.call(index);\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(itemContent, itemIndex) {\n var index = this;\n return index.params.renderItem.call(index, itemContent, itemIndex);\n }\n }, {\n key: \"render\",\n value: function render() {\n var index = this;\n var $ul = index.$ul,\n indexes = index.indexes,\n skipRate = index.skipRate;\n var wasSkipped;\n var html = indexes.map(function (itemContent, itemIndex) {\n if (itemIndex % skipRate !== 0 && skipRate > 0) {\n wasSkipped = true;\n return '';\n }\n\n var itemHtml = index.renderItem(itemContent, itemIndex);\n\n if (wasSkipped) {\n itemHtml = index.renderSkipPlaceholder() + itemHtml;\n }\n\n wasSkipped = false;\n return itemHtml;\n }).join('');\n $ul.html(html);\n return index;\n }\n }, {\n key: \"calcSize\",\n value: function calcSize() {\n var index = this;\n var app = index.app,\n params = index.params,\n el = index.el,\n indexes = index.indexes;\n var height = el.offsetHeight;\n var itemHeight = params[\"\".concat(app.theme, \"ItemHeight\")];\n var maxItems = Math.floor(height / itemHeight);\n var items = indexes.length;\n var skipRate = 0;\n\n if (items > maxItems) {\n skipRate = Math.ceil((items * 2 - 1) / maxItems);\n }\n\n index.height = height;\n index.skipRate = skipRate;\n return index;\n }\n }, {\n key: \"calcIndexes\",\n value: function calcIndexes() {\n var index = this;\n\n if (index.params.indexes === 'auto') {\n index.indexes = [];\n index.$listEl.find('.list-group-title, .item-divider').each(function (elIndex, el) {\n var elContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).text();\n\n if (index.indexes.indexOf(elContent) < 0) {\n index.indexes.push(elContent);\n }\n });\n } else {\n index.indexes = index.params.indexes;\n }\n\n return index;\n }\n }, {\n key: \"update\",\n value: function update() {\n var index = this;\n index.calcIndexes();\n index.calcSize();\n index.render();\n return index;\n }\n }, {\n key: \"init\",\n value: function init() {\n var index = this;\n index.calcIndexes();\n index.calcSize();\n index.render();\n index.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var index = this;\n index.$el.trigger('listindex:beforedestroy', index);\n index.emit('local::beforeDestroy listIndexBeforeDestroy', index);\n index.detachEvents();\n\n if (index.$el[0]) {\n index.$el[0].f7ListIndex = null;\n delete index.$el[0].f7ListIndex;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(index);\n index = null;\n }\n }]);\n\n return ListIndex;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ListIndex);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/list-index/list-index-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/list-index/list-index.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/list-index/list-index.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _list_index_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./list-index-class */ \"./node_modules/framework7/components/list-index/list-index-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'listIndex',\n static: {\n ListIndex: _list_index_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.listIndex = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.list-index',\n constructor: _list_index_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7ListIndex'\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.list-index-init').each(function (index, listIndexEl) {\n var params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(listIndexEl).dataset(), {\n el: listIndexEl\n });\n app.listIndex.create(params);\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.list-index-init').each(function (index, listIndexEl) {\n if (listIndexEl.f7ListIndex) listIndexEl.f7ListIndex.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.list-index-init').each(function (index, listIndexEl) {\n var params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(listIndexEl).dataset(), {\n el: listIndexEl\n });\n app.listIndex.create(params);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.list-index-init').each(function (index, listIndexEl) {\n if (listIndexEl.f7ListIndex) listIndexEl.f7ListIndex.destroy();\n });\n }\n },\n vnode: {\n 'list-index-init': {\n insert: function insert(vnode) {\n var app = this;\n var listIndexEl = vnode.elm;\n var params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(listIndexEl).dataset(), {\n el: listIndexEl\n });\n app.listIndex.create(params);\n },\n destroy: function destroy(vnode) {\n var listIndexEl = vnode.elm;\n if (listIndexEl.f7ListIndex) listIndexEl.f7ListIndex.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/list-index/list-index.js?"); /***/ }), /***/ "./node_modules/framework7/components/login-screen/login-screen-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/login-screen/login-screen-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar LoginScreen = /*#__PURE__*/function (_Modal) {\n _inherits(LoginScreen, _Modal);\n\n var _super = _createSuper(LoginScreen);\n\n function LoginScreen(app, params) {\n var _this;\n\n _classCallCheck(this, LoginScreen);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var loginScreen = _assertThisInitialized(_this);\n\n loginScreen.params = extendedParams; // Find Element\n\n var $el;\n\n if (!loginScreen.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(loginScreen.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(loginScreen.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, loginScreen.destroy());\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(loginScreen, {\n app: app,\n $el: $el,\n el: $el[0],\n type: 'loginScreen'\n });\n $el[0].f7Modal = loginScreen;\n return _possibleConstructorReturn(_this, loginScreen);\n }\n\n return LoginScreen;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LoginScreen);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/login-screen/login-screen-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/login-screen/login-screen.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/login-screen/login-screen.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _login_screen_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login-screen-class */ \"./node_modules/framework7/components/login-screen/login-screen-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'loginScreen',\n static: {\n LoginScreen: _login_screen_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.loginScreen = Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n app: app,\n constructor: _login_screen_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n defaultSelector: '.login-screen.modal-in'\n });\n },\n clicks: {\n '.login-screen-open': function openLoginScreen($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.loginScreen.open(data.loginScreen, data.animate);\n },\n '.login-screen-close': function closeLoginScreen($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.loginScreen.close(data.loginScreen, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/login-screen/login-screen.js?"); /***/ }), /***/ "./node_modules/framework7/components/menu/menu.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/menu/menu.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\nvar Menu = {\n open: function open() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.menu-item-dropdown';\n var app = this;\n if (!el) return;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).closest('.menu-item-dropdown');\n if (!$el.length) return;\n var $menuEl = $el.closest('.menu').eq(0);\n\n if ($menuEl.length) {\n var zIndex = $menuEl.css('z-index');\n var originalZIndex = $menuEl[0].style.zIndex;\n $menuEl.css('z-index', parseInt(zIndex || 0, 0) + 1);\n $menuEl[0].f7MenuZIndex = originalZIndex;\n }\n\n $el.eq(0).addClass('menu-item-dropdown-opened').trigger('menu:opened');\n app.emit('menuOpened', $el.eq(0)[0]);\n },\n close: function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.menu-item-dropdown-opened';\n var app = this;\n if (!el) return;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).closest('.menu-item-dropdown-opened');\n if (!$el.length) return;\n var $menuEl = $el.closest('.menu').eq(0);\n\n if ($menuEl.length) {\n var zIndex = $menuEl[0].f7MenuZIndex;\n $menuEl.css('z-index', zIndex);\n delete $menuEl[0].f7MenuZIndex;\n }\n\n $el.eq(0).removeClass('menu-item-dropdown-opened').trigger('menu:closed');\n app.emit('menuClosed', $el.eq(0)[0]);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'menu',\n create: function create() {\n var app = this;\n app.menu = {\n open: Menu.open.bind(app),\n close: Menu.close.bind(app)\n };\n },\n on: {\n click: function click(e) {\n var app = this;\n var openedMenus = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.menu-item-dropdown-opened');\n if (!openedMenus.length) return;\n openedMenus.each(function (index, el) {\n if (!Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.menu-item-dropdown-opened').length) {\n app.menu.close(el);\n }\n });\n }\n },\n clicks: {\n '.menu-item-dropdown': function onClick($clickedEl, dataset, e) {\n var app = this;\n\n if ($clickedEl.hasClass('menu-item-dropdown-opened')) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.menu-dropdown').length) return;\n app.menu.close($clickedEl);\n } else {\n app.menu.open($clickedEl);\n }\n },\n '.menu-close': function onClick() {\n var app = this;\n app.menu.close();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/menu/menu.js?"); /***/ }), /***/ "./node_modules/framework7/components/messagebar/messagebar-class.js": /*!***************************************************************************!*\ !*** ./node_modules/framework7/components/messagebar/messagebar-class.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Messagebar = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Messagebar, _Framework7Class);\n\n var _super = _createSuper(Messagebar);\n\n function Messagebar(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Messagebar);\n\n _this = _super.call(this, params, [app]);\n\n var messagebar = _assertThisInitialized(_this);\n\n var defaults = {\n top: false,\n topOffset: 0,\n bottomOffset: 0,\n attachments: [],\n renderAttachments: undefined,\n renderAttachment: undefined,\n maxHeight: null,\n resizePage: true\n }; // Extend defaults with modules params\n\n messagebar.useModulesParams(defaults);\n messagebar.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params); // El\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebar.params.el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, messagebar);\n if ($el[0].f7Messagebar) return _possibleConstructorReturn(_this, $el[0].f7Messagebar);\n $el[0].f7Messagebar = messagebar; // Page and PageContent\n\n var $pageEl = $el.parents('.page').eq(0);\n var $pageContentEl = $pageEl.find('.page-content').eq(0); // Area\n\n var $areaEl = $el.find('.messagebar-area'); // Textarea\n\n var $textareaEl;\n\n if (messagebar.params.textareaEl) {\n $textareaEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebar.params.textareaEl);\n } else {\n $textareaEl = $el.find('textarea');\n } // Attachments & Library\n\n\n var $attachmentsEl = $el.find('.messagebar-attachments');\n var $sheetEl = $el.find('.messagebar-sheet');\n\n if (messagebar.params.top) {\n $el.addClass('messagebar-top');\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(messagebar, {\n $el: $el,\n el: $el[0],\n $areaEl: $areaEl,\n areaEl: $areaEl[0],\n $textareaEl: $textareaEl,\n textareaEl: $textareaEl[0],\n $attachmentsEl: $attachmentsEl,\n attachmentsEl: $attachmentsEl[0],\n attachmentsVisible: $attachmentsEl.hasClass('messagebar-attachments-visible'),\n $sheetEl: $sheetEl,\n sheetEl: $sheetEl[0],\n sheetVisible: $sheetEl.hasClass('messagebar-sheet-visible'),\n $pageEl: $pageEl,\n pageEl: $pageEl[0],\n $pageContentEl: $pageContentEl,\n pageContentEl: $pageContentEl,\n top: $el.hasClass('messagebar-top') || messagebar.params.top,\n attachments: []\n }); // Events\n\n function onAppResize() {\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n }\n\n function onSubmit(e) {\n e.preventDefault();\n }\n\n function onAttachmentClick(e) {\n var index = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).index();\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.messagebar-attachment-delete').length) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).trigger('messagebar:attachmentdelete', index);\n messagebar.emit('local::attachmentDelete messagebarAttachmentDelete', messagebar, this, index);\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).trigger('messagebar:attachmentclick', index);\n messagebar.emit('local::attachmentClick messagebarAttachmentClick', messagebar, this, index);\n }\n }\n\n function onTextareaChange() {\n messagebar.checkEmptyState();\n messagebar.$el.trigger('messagebar:change');\n messagebar.emit('local::change messagebarChange', messagebar);\n }\n\n function onTextareaFocus() {\n messagebar.sheetHide();\n messagebar.$el.addClass('messagebar-focused');\n messagebar.$el.trigger('messagebar:focus');\n messagebar.emit('local::focus messagebarFocus', messagebar);\n }\n\n function onTextareaBlur() {\n messagebar.$el.removeClass('messagebar-focused');\n messagebar.$el.trigger('messagebar:blur');\n messagebar.emit('local::blur messagebarBlur', messagebar);\n }\n\n messagebar.attachEvents = function attachEvents() {\n $el.on('textarea:resize', onAppResize);\n $el.on('submit', onSubmit);\n $el.on('click', '.messagebar-attachment', onAttachmentClick);\n $textareaEl.on('change input', onTextareaChange);\n $textareaEl.on('focus', onTextareaFocus);\n $textareaEl.on('blur', onTextareaBlur);\n app.on('resize', onAppResize);\n };\n\n messagebar.detachEvents = function detachEvents() {\n $el.off('textarea:resize', onAppResize);\n $el.off('submit', onSubmit);\n $el.off('click', '.messagebar-attachment', onAttachmentClick);\n $textareaEl.off('change input', onTextareaChange);\n $textareaEl.off('focus', onTextareaFocus);\n $textareaEl.off('blur', onTextareaBlur);\n app.off('resize', onAppResize);\n }; // Install Modules\n\n\n messagebar.useModules(); // Init\n\n messagebar.init();\n return _possibleConstructorReturn(_this, messagebar);\n }\n\n _createClass(Messagebar, [{\n key: \"focus\",\n value: function focus() {\n var messagebar = this;\n messagebar.$textareaEl.focus();\n return messagebar;\n }\n }, {\n key: \"blur\",\n value: function blur() {\n var messagebar = this;\n messagebar.$textareaEl.blur();\n return messagebar;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var messagebar = this;\n messagebar.$textareaEl.val('').trigger('change');\n return messagebar;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var messagebar = this;\n return messagebar.$textareaEl.val().trim();\n }\n }, {\n key: \"setValue\",\n value: function setValue(value) {\n var messagebar = this;\n messagebar.$textareaEl.val(value).trigger('change');\n return messagebar;\n }\n }, {\n key: \"setPlaceholder\",\n value: function setPlaceholder(placeholder) {\n var messagebar = this;\n messagebar.$textareaEl.attr('placeholder', placeholder);\n return messagebar;\n }\n }, {\n key: \"resizePage\",\n value: function resizePage() {\n var messagebar = this;\n var params = messagebar.params,\n $el = messagebar.$el,\n top = messagebar.top,\n $pageEl = messagebar.$pageEl,\n $pageContentEl = messagebar.$pageContentEl,\n $areaEl = messagebar.$areaEl,\n $textareaEl = messagebar.$textareaEl,\n $sheetEl = messagebar.$sheetEl,\n $attachmentsEl = messagebar.$attachmentsEl;\n var elHeight = $el[0].offsetHeight;\n var maxHeight = params.maxHeight;\n\n if (top) {\n /*\n Disable at the moment\n const requiredPaddingTop = elHeight + params.topOffset;\n const currentPaddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n if (requiredPaddingTop !== currentPaddingTop) {\n if (!maxHeight) {\n maxHeight = $pageEl[0].offsetHeight - currentPaddingTop - $sheetEl.outerHeight() - $attachmentsEl.outerHeight() - parseInt($areaEl.css('margin-top'), 10) - parseInt($areaEl.css('margin-bottom'), 10);\n }\n $textareaEl.css('max-height', `${maxHeight}px`);\n $pageContentEl.css('padding-top', `${requiredPaddingTop}px`);\n $el.trigger('messagebar:resizePage');\n messagebar.emit('local::resizepage messagebarResizePage');\n }\n */\n } else {\n var currentPaddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n var requiredPaddingBottom = elHeight + params.bottomOffset;\n\n if (requiredPaddingBottom !== currentPaddingBottom && $pageContentEl.length) {\n var currentPaddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var pageScrollHeight = $pageContentEl[0].scrollHeight;\n var pageOffsetHeight = $pageContentEl[0].offsetHeight;\n var pageScrollTop = $pageContentEl[0].scrollTop;\n var scrollOnBottom = pageScrollTop === pageScrollHeight - pageOffsetHeight;\n\n if (!maxHeight) {\n maxHeight = $pageEl[0].offsetHeight - currentPaddingTop - $sheetEl.outerHeight() - $attachmentsEl.outerHeight() - parseInt($areaEl.css('margin-top'), 10) - parseInt($areaEl.css('margin-bottom'), 10);\n }\n\n $textareaEl.css('max-height', \"\".concat(maxHeight, \"px\"));\n $pageContentEl.css('padding-bottom', \"\".concat(requiredPaddingBottom, \"px\"));\n\n if (scrollOnBottom) {\n $pageContentEl.scrollTop($pageContentEl[0].scrollHeight - pageOffsetHeight);\n }\n\n $el.trigger('messagebar:resizepage');\n messagebar.emit('local::resizePage messagebarResizePage', messagebar);\n }\n }\n }\n }, {\n key: \"checkEmptyState\",\n value: function checkEmptyState() {\n var messagebar = this;\n var $el = messagebar.$el,\n $textareaEl = messagebar.$textareaEl;\n var value = $textareaEl.val().trim();\n\n if (value && value.length) {\n $el.addClass('messagebar-with-value');\n } else {\n $el.removeClass('messagebar-with-value');\n }\n }\n }, {\n key: \"attachmentsCreate\",\n value: function attachmentsCreate() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n var $attachmentsEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \".concat(innerHTML, \"
          \"));\n $attachmentsEl.insertBefore(messagebar.$textareaEl);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(messagebar, {\n $attachmentsEl: $attachmentsEl,\n attachmentsEl: $attachmentsEl[0]\n });\n return messagebar;\n }\n }, {\n key: \"attachmentsShow\",\n value: function attachmentsShow() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n messagebar.$attachmentsEl = messagebar.$el.find('.messagebar-attachments');\n\n if (messagebar.$attachmentsEl.length === 0) {\n messagebar.attachmentsCreate(innerHTML);\n }\n\n messagebar.$el.addClass('messagebar-attachments-visible');\n messagebar.attachmentsVisible = true;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"attachmentsHide\",\n value: function attachmentsHide() {\n var messagebar = this;\n messagebar.$el.removeClass('messagebar-attachments-visible');\n messagebar.attachmentsVisible = false;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"attachmentsToggle\",\n value: function attachmentsToggle() {\n var messagebar = this;\n\n if (messagebar.attachmentsVisible) {\n messagebar.attachmentsHide();\n } else {\n messagebar.attachmentsShow();\n }\n\n return messagebar;\n }\n }, {\n key: \"renderAttachment\",\n value: function renderAttachment(attachment) {\n var messagebar = this;\n\n if (messagebar.params.renderAttachment) {\n return messagebar.params.renderAttachment.call(messagebar, attachment);\n }\n\n return \"\\n
          \\n \\n \\n
          \\n \");\n }\n }, {\n key: \"renderAttachments\",\n value: function renderAttachments() {\n var messagebar = this;\n var html;\n\n if (messagebar.params.renderAttachments) {\n html = messagebar.params.renderAttachments.call(messagebar, messagebar.attachments);\n } else {\n html = \"\".concat(messagebar.attachments.map(function (attachment) {\n return messagebar.renderAttachment(attachment);\n }).join(''));\n }\n\n if (messagebar.$attachmentsEl.length === 0) {\n messagebar.attachmentsCreate(html);\n } else {\n messagebar.$attachmentsEl.html(html);\n }\n }\n }, {\n key: \"sheetCreate\",\n value: function sheetCreate() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n var $sheetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \".concat(innerHTML, \"
          \"));\n messagebar.$el.append($sheetEl);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(messagebar, {\n $sheetEl: $sheetEl,\n sheetEl: $sheetEl[0]\n });\n return messagebar;\n }\n }, {\n key: \"sheetShow\",\n value: function sheetShow() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n messagebar.$sheetEl = messagebar.$el.find('.messagebar-sheet');\n\n if (messagebar.$sheetEl.length === 0) {\n messagebar.sheetCreate(innerHTML);\n }\n\n messagebar.$el.addClass('messagebar-sheet-visible');\n messagebar.sheetVisible = true;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"sheetHide\",\n value: function sheetHide() {\n var messagebar = this;\n messagebar.$el.removeClass('messagebar-sheet-visible');\n messagebar.sheetVisible = false;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"sheetToggle\",\n value: function sheetToggle() {\n var messagebar = this;\n\n if (messagebar.sheetVisible) {\n messagebar.sheetHide();\n } else {\n messagebar.sheetShow();\n }\n\n return messagebar;\n }\n }, {\n key: \"init\",\n value: function init() {\n var messagebar = this;\n messagebar.attachEvents();\n messagebar.checkEmptyState();\n return messagebar;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var messagebar = this;\n messagebar.emit('local::beforeDestroy messagebarBeforeDestroy', messagebar);\n messagebar.$el.trigger('messagebar:beforedestroy', messagebar);\n messagebar.detachEvents();\n\n if (messagebar.$el[0]) {\n messagebar.$el[0].f7Messagebar = null;\n delete messagebar.$el[0].f7Messagebar;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(messagebar);\n }\n }]);\n\n return Messagebar;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Messagebar);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messagebar/messagebar-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/messagebar/messagebar.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/messagebar/messagebar.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _messagebar_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./messagebar-class */ \"./node_modules/framework7/components/messagebar/messagebar-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'messagebar',\n static: {\n Messagebar: _messagebar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.messagebar = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.messagebar',\n constructor: _messagebar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Messagebar',\n addMethods: 'clear getValue setValue setPlaceholder resizePage focus blur attachmentsCreate attachmentsShow attachmentsHide attachmentsToggle renderAttachments sheetCreate sheetShow sheetHide sheetToggle'.split(' ')\n });\n },\n on: {\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.destroy(messagebarEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: messagebarEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebarEl).dataset()));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.destroy(messagebarEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: messagebarEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebarEl).dataset()));\n });\n }\n },\n vnode: {\n 'messagebar-init': {\n insert: function insert(vnode) {\n var app = this;\n var messagebarEl = vnode.elm;\n app.messagebar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: messagebarEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebarEl).dataset()));\n },\n destroy: function destroy(vnode) {\n var app = this;\n var messagebarEl = vnode.elm;\n app.messagebar.destroy(messagebarEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messagebar/messagebar.js?"); /***/ }), /***/ "./node_modules/framework7/components/messages/messages-class.js": /*!***********************************************************************!*\ !*** ./node_modules/framework7/components/messages/messages-class.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Messages = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Messages, _Framework7Class);\n\n var _super = _createSuper(Messages);\n\n function Messages(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Messages);\n\n _this = _super.call(this, params, [app]);\n\n var m = _assertThisInitialized(_this);\n\n var defaults = {\n autoLayout: true,\n messages: [],\n newMessagesFirst: false,\n scrollMessages: true,\n scrollMessagesOnEdge: true,\n firstMessageRule: undefined,\n lastMessageRule: undefined,\n tailMessageRule: undefined,\n sameNameMessageRule: undefined,\n sameHeaderMessageRule: undefined,\n sameFooterMessageRule: undefined,\n sameAvatarMessageRule: undefined,\n customClassMessageRule: undefined,\n renderMessage: undefined\n }; // Extend defaults with modules params\n\n m.useModulesParams(defaults);\n m.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.el).eq(0);\n if ($el.length === 0) return _possibleConstructorReturn(_this, m);\n if ($el[0].f7Messages) return _possibleConstructorReturn(_this, $el[0].f7Messages);\n $el[0].f7Messages = m;\n var $pageContentEl = $el.closest('.page-content').eq(0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(m, {\n messages: m.params.messages,\n $el: $el,\n el: $el[0],\n $pageContentEl: $pageContentEl,\n pageContentEl: $pageContentEl[0]\n }); // Install Modules\n\n m.useModules(); // Init\n\n m.init();\n return _possibleConstructorReturn(_this, m);\n } // eslint-disable-next-line\n\n\n _createClass(Messages, [{\n key: \"getMessageData\",\n value: function getMessageData(messageEl) {\n var $messageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messageEl);\n var data = {\n name: $messageEl.find('.message-name').html(),\n header: $messageEl.find('.message-header').html(),\n textHeader: $messageEl.find('.message-text-header').html(),\n textFooter: $messageEl.find('.message-text-footer').html(),\n footer: $messageEl.find('.message-footer').html(),\n isTitle: $messageEl.hasClass('messages-title'),\n type: $messageEl.hasClass('message-sent') ? 'sent' : 'received',\n text: $messageEl.find('.message-text').html(),\n image: $messageEl.find('.message-image').html(),\n imageSrc: $messageEl.find('.message-image img').attr('src'),\n typing: $messageEl.hasClass('message-typing')\n };\n\n if (data.isTitle) {\n data.text = $messageEl.html();\n }\n\n if (data.text && data.textHeader) {\n data.text = data.text.replace(\"
          \".concat(data.textHeader, \"
          \"), '');\n }\n\n if (data.text && data.textFooter) {\n data.text = data.text.replace(\"
          \".concat(data.textFooter, \"
          \"), '');\n }\n\n var avatar = $messageEl.find('.message-avatar').css('background-image');\n if (avatar === 'none' || avatar === '') avatar = undefined;\n\n if (avatar && typeof avatar === 'string') {\n avatar = avatar.replace('url(', '').replace(')', '').replace(/\"/g, '').replace(/'/g, '');\n } else {\n avatar = undefined;\n }\n\n data.avatar = avatar;\n return data;\n }\n }, {\n key: \"getMessagesData\",\n value: function getMessagesData() {\n var m = this;\n var data = [];\n m.$el.find('.message, .messages-title').each(function (index, messageEl) {\n data.push(m.getMessageData(messageEl));\n });\n return data;\n }\n }, {\n key: \"renderMessage\",\n value: function renderMessage(messageToRender) {\n var m = this;\n var message = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n type: 'sent',\n attrs: {}\n }, messageToRender);\n\n if (m.params.renderMessage) {\n return m.params.renderMessage.call(m, message);\n }\n\n if (message.isTitle) {\n return \"
          \".concat(message.text, \"
          \");\n }\n\n var attrs = Object.keys(message.attrs).map(function (attr) {\n return \"\".concat(attr, \"=\\\"\").concat(message.attrs[attr], \"\\\"\");\n }).join(' ');\n return \"\\n
          \\n \").concat(message.avatar ? \"\\n
          \\n \") : '', \"\\n
          \\n \").concat(message.name ? \"
          \".concat(message.name, \"
          \") : '', \"\\n \").concat(message.header ? \"
          \".concat(message.header, \"
          \") : '', \"\\n
          \\n \").concat(message.textHeader ? \"
          \".concat(message.textHeader, \"
          \") : '', \"\\n \").concat(message.image ? \"
          \".concat(message.image, \"
          \") : '', \"\\n \").concat(message.imageSrc && !message.image ? \"
          \") : '', \"\\n \").concat(message.text || message.isTyping ? \"
          \".concat(message.text || '').concat(message.isTyping ? '
          ' : '', \"
          \") : '', \"\\n \").concat(message.textFooter ? \"
          \".concat(message.textFooter, \"
          \") : '', \"\\n
          \\n \").concat(message.footer ? \"
          \".concat(message.footer, \"
          \") : '', \"\\n
          \\n
          \\n \");\n }\n }, {\n key: \"renderMessages\",\n value: function renderMessages() {\n var messagesToRender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.messages;\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.newMessagesFirst ? 'prepend' : 'append';\n var m = this;\n var html = messagesToRender.map(function (message) {\n return m.renderMessage(message);\n }).join('');\n m.$el[method](html);\n }\n }, {\n key: \"isFirstMessage\",\n value: function isFirstMessage() {\n var _m$params;\n\n var m = this;\n if (m.params.firstMessageRule) return (_m$params = m.params).firstMessageRule.apply(_m$params, arguments);\n return false;\n }\n }, {\n key: \"isLastMessage\",\n value: function isLastMessage() {\n var _m$params2;\n\n var m = this;\n if (m.params.lastMessageRule) return (_m$params2 = m.params).lastMessageRule.apply(_m$params2, arguments);\n return false;\n }\n }, {\n key: \"isTailMessage\",\n value: function isTailMessage() {\n var _m$params3;\n\n var m = this;\n if (m.params.tailMessageRule) return (_m$params3 = m.params).tailMessageRule.apply(_m$params3, arguments);\n return false;\n }\n }, {\n key: \"isSameNameMessage\",\n value: function isSameNameMessage() {\n var _m$params4;\n\n var m = this;\n if (m.params.sameNameMessageRule) return (_m$params4 = m.params).sameNameMessageRule.apply(_m$params4, arguments);\n return false;\n }\n }, {\n key: \"isSameHeaderMessage\",\n value: function isSameHeaderMessage() {\n var _m$params5;\n\n var m = this;\n if (m.params.sameHeaderMessageRule) return (_m$params5 = m.params).sameHeaderMessageRule.apply(_m$params5, arguments);\n return false;\n }\n }, {\n key: \"isSameFooterMessage\",\n value: function isSameFooterMessage() {\n var _m$params6;\n\n var m = this;\n if (m.params.sameFooterMessageRule) return (_m$params6 = m.params).sameFooterMessageRule.apply(_m$params6, arguments);\n return false;\n }\n }, {\n key: \"isSameAvatarMessage\",\n value: function isSameAvatarMessage() {\n var _m$params7;\n\n var m = this;\n if (m.params.sameAvatarMessageRule) return (_m$params7 = m.params).sameAvatarMessageRule.apply(_m$params7, arguments);\n return false;\n }\n }, {\n key: \"isCustomClassMessage\",\n value: function isCustomClassMessage() {\n var _m$params8;\n\n var m = this;\n if (m.params.customClassMessageRule) return (_m$params8 = m.params).customClassMessageRule.apply(_m$params8, arguments);\n return undefined;\n }\n }, {\n key: \"layout\",\n value: function layout() {\n var m = this;\n m.$el.find('.message, .messages-title').each(function (index, messageEl) {\n var $messageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messageEl);\n\n if (!m.messages) {\n m.messages = m.getMessagesData();\n }\n\n var classes = [];\n var message = m.messages[index];\n var previousMessage = m.messages[index - 1];\n var nextMessage = m.messages[index + 1];\n\n if (m.isFirstMessage(message, previousMessage, nextMessage)) {\n classes.push('message-first');\n }\n\n if (m.isLastMessage(message, previousMessage, nextMessage)) {\n classes.push('message-last');\n }\n\n if (m.isTailMessage(message, previousMessage, nextMessage)) {\n classes.push('message-tail');\n }\n\n if (m.isSameNameMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-name');\n }\n\n if (m.isSameHeaderMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-header');\n }\n\n if (m.isSameFooterMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-footer');\n }\n\n if (m.isSameAvatarMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-avatar');\n }\n\n var customMessageClasses = m.isCustomClassMessage(message, previousMessage, nextMessage);\n\n if (customMessageClasses && customMessageClasses.length) {\n if (typeof customMessageClasses === 'string') {\n customMessageClasses = customMessageClasses.split(' ');\n }\n\n customMessageClasses.forEach(function (customClass) {\n classes.push(customClass);\n });\n }\n\n $messageEl.removeClass('message-first message-last message-tail message-same-name message-same-header message-same-footer message-same-avatar');\n classes.forEach(function (className) {\n $messageEl.addClass(className);\n });\n });\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var m = this;\n m.messages = [];\n m.$el.html('');\n }\n }, {\n key: \"removeMessage\",\n value: function removeMessage(messageToRemove) {\n var layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var m = this; // Index or El\n\n var index;\n var $el;\n\n if (typeof messageToRemove === 'number') {\n index = messageToRemove;\n $el = m.$el.find('.message, .messages-title').eq(index);\n } else if (m.messages && m.messages.indexOf(messageToRemove) >= 0) {\n index = m.messages.indexOf(messageToRemove);\n $el = m.$el.children().eq(index);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messageToRemove);\n index = $el.index();\n }\n\n if ($el.length === 0) {\n return m;\n }\n\n $el.remove();\n m.messages.splice(index, 1);\n if (m.params.autoLayout && layout) m.layout();\n return m;\n }\n }, {\n key: \"removeMessages\",\n value: function removeMessages(messagesToRemove) {\n var layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var m = this;\n\n if (Array.isArray(messagesToRemove)) {\n var messagesToRemoveEls = [];\n messagesToRemove.forEach(function (messageToRemoveIndex) {\n messagesToRemoveEls.push(m.$el.find('.message, .messages-title').eq(messageToRemoveIndex));\n });\n messagesToRemoveEls.forEach(function (messageToRemove) {\n m.removeMessage(messageToRemove, false);\n });\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagesToRemove).each(function (index, messageToRemove) {\n m.removeMessage(messageToRemove, false);\n });\n }\n\n if (m.params.autoLayout && layout) m.layout();\n return m;\n }\n }, {\n key: \"addMessage\",\n value: function addMessage() {\n var m = this;\n var messageToAdd;\n var animate;\n var method;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[1] === 'boolean') {\n messageToAdd = args[0];\n animate = args[1];\n method = args[2];\n } else {\n messageToAdd = args[0];\n method = args[1];\n animate = args[2];\n }\n\n if (typeof animate === 'undefined') {\n animate = true;\n }\n\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n }\n\n return m.addMessages([messageToAdd], animate, method);\n }\n }, {\n key: \"addMessages\",\n value: function addMessages() {\n var m = this;\n var messagesToAdd;\n var animate;\n var method;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[1] === 'boolean') {\n messagesToAdd = args[0];\n animate = args[1];\n method = args[2];\n } else {\n messagesToAdd = args[0];\n method = args[1];\n animate = args[2];\n }\n\n if (typeof animate === 'undefined') {\n animate = true;\n }\n\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n } // Define scroll positions before new messages added\n\n\n var scrollHeightBefore = m.pageContentEl.scrollHeight;\n var heightBefore = m.pageContentEl.offsetHeight;\n var scrollBefore = m.pageContentEl.scrollTop; // Add message to DOM and data\n\n var messagesHTML = '';\n var typingMessage = m.messages.filter(function (el) {\n return el.isTyping;\n })[0];\n messagesToAdd.forEach(function (messageToAdd) {\n if (typingMessage) {\n if (method === 'append') {\n m.messages.splice(m.messages.indexOf(typingMessage), 0, messageToAdd);\n } else {\n m.messages.splice(m.messages.indexOf(typingMessage) + 1, 0, messageToAdd);\n }\n } else {\n m.messages[method === 'append' ? 'push' : 'unshift'](messageToAdd);\n }\n\n messagesHTML += m.renderMessage(messageToAdd);\n });\n var $messagesEls = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagesHTML);\n\n if (animate) {\n if (method === 'append' && !m.params.newMessagesFirst) {\n $messagesEls.addClass('message-appear-from-bottom');\n }\n\n if (method === 'prepend' && m.params.newMessagesFirst) {\n $messagesEls.addClass('message-appear-from-top');\n }\n }\n\n if (typingMessage) {\n if (method === 'append') {\n $messagesEls.insertBefore(m.$el.find('.message-typing'));\n } else {\n $messagesEls.insertAfter(m.$el.find('.message-typing'));\n }\n } else {\n m.$el[method]($messagesEls);\n } // Layout\n\n\n if (m.params.autoLayout) m.layout();\n\n if (method === 'prepend' && !typingMessage) {\n m.pageContentEl.scrollTop = scrollBefore + (m.pageContentEl.scrollHeight - scrollHeightBefore);\n }\n\n if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst || method === 'prepend' && m.params.newMessagesFirst && !typingMessage)) {\n if (m.params.scrollMessagesOnEdge) {\n var onEdge = false;\n\n if (m.params.newMessagesFirst && scrollBefore === 0) {\n onEdge = true;\n }\n\n if (!m.params.newMessagesFirst && scrollBefore - (scrollHeightBefore - heightBefore) >= -10) {\n onEdge = true;\n }\n\n if (onEdge) m.scroll(animate ? undefined : 0);\n } else {\n m.scroll(animate ? undefined : 0);\n }\n }\n\n return m;\n }\n }, {\n key: \"showTyping\",\n value: function showTyping() {\n var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var m = this;\n var typingMessage = m.messages.filter(function (el) {\n return el.isTyping;\n })[0];\n\n if (typingMessage) {\n m.removeMessage(m.messages.indexOf(typingMessage));\n }\n\n m.addMessage(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n type: 'received',\n isTyping: true\n }, message));\n return m;\n }\n }, {\n key: \"hideTyping\",\n value: function hideTyping() {\n var m = this;\n var typingMessageIndex;\n var typingFound;\n m.messages.forEach(function (message, index) {\n if (message.isTyping) typingMessageIndex = index;\n });\n\n if (typeof typingMessageIndex !== 'undefined') {\n if (m.$el.find('.message').eq(typingMessageIndex).hasClass('message-typing')) {\n typingFound = true;\n m.removeMessage(typingMessageIndex);\n }\n }\n\n if (!typingFound) {\n var $typingMessageEl = m.$el.find('.message-typing');\n\n if ($typingMessageEl.length) {\n m.removeMessage($typingMessageEl);\n }\n }\n\n return m;\n }\n }, {\n key: \"scroll\",\n value: function scroll() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 300;\n var scrollTop = arguments.length > 1 ? arguments[1] : undefined;\n var m = this;\n var currentScroll = m.pageContentEl.scrollTop;\n var newScrollTop;\n if (typeof scrollTop !== 'undefined') newScrollTop = scrollTop;else {\n newScrollTop = m.params.newMessagesFirst ? 0 : m.pageContentEl.scrollHeight - m.pageContentEl.offsetHeight;\n if (newScrollTop === currentScroll) return m;\n }\n m.$pageContentEl.scrollTop(newScrollTop, duration);\n return m;\n }\n }, {\n key: \"init\",\n value: function init() {\n var m = this;\n\n if (!m.messages || m.messages.length === 0) {\n m.messages = m.getMessagesData();\n }\n\n if (m.params.messages && m.params.messages.length) {\n m.renderMessages();\n }\n\n if (m.params.autoLayout) m.layout();\n if (m.params.scrollMessages) m.scroll(0);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var m = this;\n m.emit('local::beforeDestroy messagesBeforeDestroy', m);\n m.$el.trigger('messages:beforedestroy', m);\n\n if (m.$el[0]) {\n m.$el[0].f7Messages = null;\n delete m.$el[0].f7Messages;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(m);\n }\n }]);\n\n return Messages;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Messages);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messages/messages-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/messages/messages.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/messages/messages.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _messages_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./messages-class */ \"./node_modules/framework7/components/messages/messages-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'messages',\n static: {\n Messages: _messages_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.messages = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.messages',\n constructor: _messages_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Messages',\n addMethods: 'renderMessages layout scroll clear removeMessage removeMessages addMessage addMessages'.split(' ')\n });\n },\n on: {\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messages-init').each(function (index, messagesEl) {\n app.messages.destroy(messagesEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messages-init').each(function (index, messagesEl) {\n app.messages.create({\n el: messagesEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.messages-init').each(function (index, messagesEl) {\n app.messages.destroy(messagesEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.messages-init').each(function (index, messagesEl) {\n app.messages.create({\n el: messagesEl\n });\n });\n }\n },\n vnode: {\n 'messages-init': {\n insert: function insert(vnode) {\n var app = this;\n var messagesEl = vnode.elm;\n app.messages.create({\n el: messagesEl\n });\n },\n destroy: function destroy(vnode) {\n var app = this;\n var messagesEl = vnode.elm;\n app.messages.destroy(messagesEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messages/messages.js?"); /***/ }), /***/ "./node_modules/framework7/components/modal/custom-modal-class.js": /*!************************************************************************!*\ !*** ./node_modules/framework7/components/modal/custom-modal-class.js ***! \************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar CustomModal = /*#__PURE__*/function (_Modal) {\n _inherits(CustomModal, _Modal);\n\n var _super = _createSuper(CustomModal);\n\n function CustomModal(app, params) {\n var _this;\n\n _classCallCheck(this, CustomModal);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n backdrop: true,\n closeByBackdropClick: true,\n on: {}\n }, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var customModal = _assertThisInitialized(_this);\n\n customModal.params = extendedParams; // Find Element\n\n var $el;\n\n if (!customModal.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(customModal.params.content);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(customModal.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, customModal.destroy());\n }\n\n var $backdropEl;\n\n if (customModal.params.backdrop) {\n $backdropEl = app.root.children('.custom-modal-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n app.root.append($backdropEl);\n }\n }\n\n function handleClick(e) {\n if (!customModal || customModal.destroyed) return;\n\n if ($backdropEl && e.target === $backdropEl[0]) {\n customModal.close();\n }\n }\n\n customModal.on('customModalOpened', function () {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.on('click', handleClick);\n }\n });\n customModal.on('customModalClose', function () {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.off('click', handleClick);\n }\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(customModal, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'customModal'\n });\n $el[0].f7Modal = customModal;\n return _possibleConstructorReturn(_this, customModal);\n }\n\n return CustomModal;\n}(_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomModal);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/modal/custom-modal-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/modal/modal-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/modal/modal-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar openedModals = [];\nvar dialogsQueue = [];\n\nfunction clearDialogsQueue() {\n if (dialogsQueue.length === 0) return;\n var dialog = dialogsQueue.shift();\n dialog.open();\n}\n\nvar Modal = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Modal, _Framework7Class);\n\n var _super = _createSuper(Modal);\n\n function Modal(app, params) {\n var _this;\n\n _classCallCheck(this, Modal);\n\n _this = _super.call(this, params, [app]);\n\n var modal = _assertThisInitialized(_this);\n\n var defaults = {}; // Extend defaults with modules params\n\n modal.useModulesParams(defaults);\n modal.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n modal.opened = false; // Install Modules\n\n modal.useModules();\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n _createClass(Modal, [{\n key: \"onOpen\",\n value: function onOpen() {\n var modal = this;\n modal.opened = true;\n openedModals.push(modal);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass(\"with-modal-\".concat(modal.type.toLowerCase()));\n modal.$el.trigger(\"modal:open \".concat(modal.type.toLowerCase(), \":open\"), modal);\n modal.emit(\"local::open modalOpen \".concat(modal.type, \"Open\"), modal);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var modal = this;\n modal.$el.trigger(\"modal:opened \".concat(modal.type.toLowerCase(), \":opened\"), modal);\n modal.emit(\"local::opened modalOpened \".concat(modal.type, \"Opened\"), modal);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var modal = this;\n modal.opened = false;\n if (!modal.type || !modal.$el) return;\n openedModals.splice(openedModals.indexOf(modal), 1);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-modal-\".concat(modal.type.toLowerCase()));\n modal.$el.trigger(\"modal:close \".concat(modal.type.toLowerCase(), \":close\"), modal);\n modal.emit(\"local::close modalClose \".concat(modal.type, \"Close\"), modal);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var modal = this;\n if (!modal.type || !modal.$el) return;\n modal.$el.removeClass('modal-out');\n modal.$el.hide();\n modal.$el.trigger(\"modal:closed \".concat(modal.type.toLowerCase(), \":closed\"), modal);\n modal.emit(\"local::closed modalClosed \".concat(modal.type, \"Closed\"), modal);\n }\n }, {\n key: \"open\",\n value: function open(animateModal) {\n var modal = this;\n var app = modal.app;\n var $el = modal.$el;\n var $backdropEl = modal.$backdropEl;\n var type = modal.type;\n var animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || $el.hasClass('modal-in')) {\n return modal;\n }\n\n if (type === 'dialog' && app.params.modal.queueDialogs) {\n var pushToQueue;\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.dialog.modal-in').length > 0) {\n pushToQueue = true;\n } else if (openedModals.length > 0) {\n openedModals.forEach(function (openedModal) {\n if (openedModal.type === 'dialog') pushToQueue = true;\n });\n }\n\n if (pushToQueue) {\n dialogsQueue.push(modal);\n return modal;\n }\n }\n\n var $modalParentEl = $el.parent();\n var wasInDom = $el.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length > 0;\n\n if (app.params.modal.moveToRoot && !$modalParentEl.is(app.root)) {\n app.root.append($el);\n modal.once(\"\".concat(type, \"Closed\"), function () {\n if (wasInDom) {\n $modalParentEl.append($el);\n } else {\n $el.remove();\n }\n });\n } // Show Modal\n\n\n $el.show();\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n\n modal._clientLeft = $el[0].clientLeft; // Modal\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\n if (animate) {\n if ($backdropEl) {\n $backdropEl.removeClass('not-animated');\n $backdropEl.addClass('backdrop-in');\n }\n\n $el.animationEnd(function () {\n transitionEnd();\n });\n $el.transitionEnd(function () {\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\n $el.removeClass('modal-out').addClass('modal-in not-animated');\n modal.onOpen();\n modal.onOpened();\n }\n\n return modal;\n }\n }, {\n key: \"close\",\n value: function close(animateModal) {\n var modal = this;\n var $el = modal.$el;\n var $backdropEl = modal.$backdropEl;\n var animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;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\n return modal;\n } // backdrop\n\n\n if ($backdropEl) {\n var needToHideBackdrop = true;\n\n if (modal.type === 'popup') {\n modal.$el.prevAll('.popup.modal-in').each(function (index, popupEl) {\n var popupInstance = popupEl.f7Modal;\n if (!popupInstance) return;\n\n if (popupInstance.params.closeByBackdropClick && popupInstance.params.backdrop && popupInstance.backdropEl === modal.backdropEl) {\n needToHideBackdrop = false;\n }\n });\n }\n\n if (needToHideBackdrop) {\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n $backdropEl.removeClass('backdrop-in');\n }\n } // Modal\n\n\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\n if (animate) {\n $el.animationEnd(function () {\n transitionEnd();\n });\n $el.transitionEnd(function () {\n transitionEnd();\n });\n $el.removeClass('modal-in').addClass('modal-out'); // Emit close\n\n modal.onClose();\n } else {\n $el.addClass('not-animated').removeClass('modal-in').addClass('modal-out'); // Emit close\n\n modal.onClose();\n modal.onClosed();\n }\n\n if (modal.type === 'dialog') {\n clearDialogsQueue();\n }\n\n return modal;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var modal = this;\n if (modal.destroyed) return;\n modal.emit(\"local::beforeDestroy modalBeforeDestroy \".concat(modal.type, \"BeforeDestroy\"), modal);\n\n if (modal.$el) {\n modal.$el.trigger(\"modal:beforedestroy \".concat(modal.type.toLowerCase(), \":beforedestroy\"), modal);\n\n if (modal.$el.length && modal.$el[0].f7Modal) {\n delete modal.$el[0].f7Modal;\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(modal);\n modal.destroyed = true;\n }\n }]);\n\n return Modal;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Modal);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/modal/modal-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/modal/modal.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/modal/modal.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _modal_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\n/* harmony import */ var _custom_modal_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./custom-modal-class */ \"./node_modules/framework7/components/modal/custom-modal-class.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'modal',\n static: {\n Modal: _modal_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n CustomModal: _custom_modal_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.customModal = {\n create: function create(params) {\n return new _custom_modal_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, params);\n }\n };\n },\n params: {\n modal: {\n moveToRoot: true,\n queueDialogs: true\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/modal/modal.js?"); /***/ }), /***/ "./node_modules/framework7/components/navbar/navbar.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/navbar/navbar.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\nvar Navbar = {\n size: function size(el) {\n var app = this;\n\n if (app.theme !== 'ios' && !app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n\n if ($el.hasClass('navbar')) {\n $el = $el.children('.navbar-inner').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n return;\n }\n\n if ($el.hasClass('stacked') || $el.parents('.stacked').length > 0 || $el.parents('.tab:not(.tab-active)').length > 0 || $el.parents('.popup:not(.modal-in)').length > 0) {\n return;\n }\n\n if (app.theme !== 'ios' && app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n $el.addClass('navbar-inner-centered-title');\n }\n\n if (app.theme === 'ios' && !app.params.navbar.iosCenterTitle) {\n $el.addClass('navbar-inner-left-title');\n }\n\n var $viewEl = $el.parents('.view').eq(0);\n var left = app.rtl ? $el.children('.right') : $el.children('.left');\n var right = app.rtl ? $el.children('.left') : $el.children('.right');\n var title = $el.children('.title');\n var subnavbar = $el.children('.subnavbar');\n var noLeft = left.length === 0;\n var noRight = right.length === 0;\n var leftWidth = noLeft ? 0 : left.outerWidth(true);\n var rightWidth = noRight ? 0 : right.outerWidth(true);\n var titleWidth = title.outerWidth(true);\n var navbarStyles = $el.styles();\n var navbarWidth = $el[0].offsetWidth;\n var navbarInnerWidth = navbarWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10);\n var isPrevious = $el.hasClass('navbar-previous');\n var sliding = $el.hasClass('sliding');\n var router;\n var dynamicNavbar;\n var separateNavbar;\n var separateNavbarRightOffset = 0;\n var separateNavbarLeftOffset = 0;\n\n if ($viewEl.length > 0 && $viewEl[0].f7View) {\n router = $viewEl[0].f7View.router;\n dynamicNavbar = router && router.dynamicNavbar;\n separateNavbar = router && router.separateNavbar;\n\n if (!separateNavbar) {\n separateNavbarRightOffset = navbarWidth;\n separateNavbarLeftOffset = navbarWidth / 5;\n }\n }\n\n var currLeft;\n var diff;\n\n if (noRight) {\n currLeft = navbarInnerWidth - titleWidth;\n }\n\n if (noLeft) {\n currLeft = 0;\n }\n\n if (!noLeft && !noRight) {\n currLeft = (navbarInnerWidth - rightWidth - titleWidth + leftWidth) / 2;\n }\n\n var requiredLeft = (navbarInnerWidth - titleWidth) / 2;\n\n if (navbarInnerWidth - leftWidth - rightWidth > titleWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n\n if (requiredLeft + titleWidth > navbarInnerWidth - rightWidth) {\n requiredLeft = navbarInnerWidth - rightWidth - titleWidth;\n }\n\n diff = requiredLeft - currLeft;\n } else {\n diff = 0;\n } // RTL inverter\n\n\n var inverter = app.rtl ? -1 : 1;\n\n if (dynamicNavbar && app.theme === 'ios') {\n if (title.hasClass('sliding') || title.length > 0 && sliding) {\n var titleLeftOffset = -(currLeft + diff) * inverter + separateNavbarLeftOffset;\n var titleRightOffset = (navbarInnerWidth - currLeft - diff - titleWidth) * inverter - separateNavbarRightOffset;\n\n if (isPrevious) {\n if (router && router.params.iosAnimateNavbarBackIcon) {\n var activeNavbarBackLink = $el.parent().find('.navbar-current').children('.left.sliding').find('.back .icon ~ span');\n\n if (activeNavbarBackLink.length > 0) {\n titleLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n }\n\n title[0].f7NavbarLeftOffset = titleLeftOffset;\n title[0].f7NavbarRightOffset = titleRightOffset;\n }\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 + separateNavbarLeftOffset;\n left[0].f7NavbarRightOffset = (navbarInnerWidth - left[0].offsetWidth) / 2 - separateNavbarRightOffset;\n\n if (router && router.params.iosAnimateNavbarBackIcon && left.find('.back .icon').length > 0) {\n if (left.find('.back .icon ~ span').length) {\n var leftOffset = left[0].f7NavbarLeftOffset;\n var 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 = rightOffset - left.find('.back .icon')[0].offsetWidth;\n }\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 + separateNavbarLeftOffset;\n right[0].f7NavbarRightOffset = rightWidth - separateNavbarRightOffset;\n }\n }\n\n if (subnavbar.length && (subnavbar.hasClass('sliding') || sliding)) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth + separateNavbarLeftOffset;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset - separateNavbarRightOffset + separateNavbarLeftOffset;\n }\n } // Center title\n\n\n if (app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n var titleLeft = diff;\n if (app.rtl && noLeft && noRight && title.length > 0) titleLeft = -titleLeft;\n title.css({\n left: \"\".concat(titleLeft, \"px\")\n });\n }\n },\n hide: function hide(el) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.hasClass('navbar-inner')) $el = $el.parents('.navbar');\n if (!$el.length) return;\n if ($el.hasClass('navbar-hidden')) return;\n var className = \"navbar-hidden\".concat(animate ? ' navbar-transitioning' : '');\n var currentIsLarge = app.theme === 'ios' ? $el.find('.navbar-current .title-large').length : $el.find('.title-large').length;\n\n if (currentIsLarge) {\n className += ' navbar-large-hidden';\n }\n\n $el.transitionEnd(function () {\n $el.removeClass('navbar-transitioning');\n });\n $el.addClass(className);\n $el.trigger('navbar:hide');\n app.emit('navbarHide', $el[0]);\n },\n show: function show() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.navbar-hidden';\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.hasClass('navbar-inner')) $el = $el.parents('.navbar');\n if (!$el.length) return;\n if (!$el.hasClass('navbar-hidden')) return;\n\n if (animate) {\n $el.addClass('navbar-transitioning');\n $el.transitionEnd(function () {\n $el.removeClass('navbar-transitioning');\n });\n }\n\n $el.removeClass('navbar-hidden navbar-large-hidden');\n $el.trigger('navbar:show');\n app.emit('navbarShow', $el[0]);\n },\n getElByPage: function getElByPage(page) {\n var $pageEl;\n var $navbarInnerEl;\n var pageData;\n\n if (page.$navbarEl || page.$el) {\n pageData = page;\n $pageEl = page.$el;\n } else {\n $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(page);\n if ($pageEl.length > 0) pageData = $pageEl[0].f7Page;\n }\n\n if (pageData && pageData.$navbarEl && pageData.$navbarEl.length > 0) {\n $navbarInnerEl = pageData.$navbarEl;\n } else if ($pageEl) {\n $navbarInnerEl = $pageEl.children('.navbar').children('.navbar-inner');\n }\n\n if (!$navbarInnerEl || $navbarInnerEl && $navbarInnerEl.length === 0) return undefined;\n return $navbarInnerEl[0];\n },\n getPageByEl: function getPageByEl(navbarInnerEl) {\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner');\n if ($navbarInnerEl.length > 1) return undefined;\n }\n\n if ($navbarInnerEl.parents('.page').length) {\n return $navbarInnerEl.parents('.page')[0];\n }\n\n var pageEl;\n $navbarInnerEl.parents('.view').find('.page').each(function (index, el) {\n if (el && el.f7Page && el.f7Page.navbarEl && $navbarInnerEl[0] === el.f7Page.navbarEl) {\n pageEl = el;\n }\n });\n return pageEl;\n },\n collapseLargeTitle: function collapseLargeTitle(navbarInnerEl) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner-large');\n\n if ($navbarInnerEl.length > 1) {\n $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.navbar-inner-large.navbar-current');\n }\n\n if ($navbarInnerEl.length > 1 || !$navbarInnerEl.length) {\n return;\n }\n }\n\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getPageByEl($navbarInnerEl));\n $navbarInnerEl.addClass('navbar-inner-large-collapsed');\n $pageEl.eq(0).addClass('page-with-navbar-large-collapsed').trigger('page:navbarlargecollapsed');\n app.emit('pageNavbarLargeCollapsed', $pageEl[0]);\n var $navbarEl = $navbarInnerEl.parents('.navbar');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl.addClass('navbar-large-collapsed');\n }\n\n $navbarEl.trigger('navbar:collapse');\n app.emit('navbarCollapse', $navbarEl[0]);\n },\n expandLargeTitle: function expandLargeTitle(navbarInnerEl) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner-large');\n\n if ($navbarInnerEl.length > 1) {\n $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.navbar-inner-large.navbar-current');\n }\n\n if ($navbarInnerEl.length > 1 || !$navbarInnerEl.length) {\n return;\n }\n }\n\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getPageByEl($navbarInnerEl));\n $navbarInnerEl.removeClass('navbar-inner-large-collapsed');\n $pageEl.eq(0).removeClass('page-with-navbar-large-collapsed').trigger('page:navbarlargeexpanded');\n app.emit('pageNavbarLargeExpanded', $pageEl[0]);\n var $navbarEl = $navbarInnerEl.parents('.navbar');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl.removeClass('navbar-large-collapsed');\n }\n\n $navbarEl.trigger('navbar:expand');\n app.emit('navbarExpand', $navbarEl[0]);\n },\n toggleLargeTitle: function toggleLargeTitle(navbarInnerEl) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner-large');\n\n if ($navbarInnerEl.length > 1) {\n $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.navbar-inner-large.navbar-current');\n }\n\n if ($navbarInnerEl.length > 1 || !$navbarInnerEl.length) {\n return;\n }\n }\n\n if ($navbarInnerEl.hasClass('navbar-inner-large-collapsed')) {\n app.navbar.expandLargeTitle($navbarInnerEl);\n } else {\n app.navbar.collapseLargeTitle($navbarInnerEl);\n }\n },\n initNavbarOnScroll: function initNavbarOnScroll(pageEl, navbarInnerEl, needHide, needCollapse) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n var $navbarEl = app.theme === 'md' || app.theme === 'aurora' ? $navbarInnerEl.parents('.navbar') : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl || app.navbar.getElByPage(pageEl)).closest('.navbar');\n var isLarge = $navbarInnerEl.find('.title-large').length || $navbarInnerEl.hasClass('.navbar-inner-large');\n var navbarHideHeight = 44;\n var snapPageScrollToLargeTitle = app.params.navbar.snapPageScrollToLargeTitle;\n var previousScrollTop;\n var currentScrollTop;\n var scrollHeight;\n var offsetHeight;\n var reachEnd;\n var action;\n var navbarHidden;\n var navbarCollapsed;\n var navbarTitleLargeHeight;\n\n if (needCollapse || needHide && isLarge) {\n navbarTitleLargeHeight = $navbarInnerEl.css('--f7-navbar-large-title-height');\n\n if (navbarTitleLargeHeight && navbarTitleLargeHeight.indexOf('px') >= 0) {\n navbarTitleLargeHeight = parseInt(navbarTitleLargeHeight, 10);\n\n if (Number.isNaN(navbarTitleLargeHeight)) {\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;else if (app.theme === 'md') navbarTitleLargeHeight = 48;else if (app.theme === 'aurora') navbarTitleLargeHeight = 38;\n }\n } else {\n // eslint-disable-next-line\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;else if (app.theme === 'md') navbarTitleLargeHeight = 48;else if (app.theme === 'aurora') navbarTitleLargeHeight = 38;\n }\n }\n\n if (needHide && isLarge) {\n navbarHideHeight += navbarTitleLargeHeight;\n }\n\n var scrollChanged;\n var scrollContent;\n var scrollTimeoutId;\n var touchEndTimeoutId;\n var touchSnapTimeout = 70;\n var desktopSnapTimeout = 300;\n\n function snapLargeNavbar() {\n var inSearchbarExpanded = $navbarInnerEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n if (!scrollContent || currentScrollTop < 0) return;\n\n if (currentScrollTop >= navbarTitleLargeHeight / 2 && currentScrollTop < navbarTitleLargeHeight) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(scrollContent).scrollTop(navbarTitleLargeHeight, 100);\n } else if (currentScrollTop < navbarTitleLargeHeight) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(scrollContent).scrollTop(0, 200);\n }\n }\n\n function handleLargeNavbarCollapse() {\n var collapseProgress = Math.min(Math.max(currentScrollTop / navbarTitleLargeHeight, 0), 1);\n var inSearchbarExpanded = $navbarInnerEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n navbarCollapsed = $navbarInnerEl.hasClass('navbar-inner-large-collapsed');\n\n if (collapseProgress === 0 && navbarCollapsed) {\n app.navbar.expandLargeTitle($navbarInnerEl[0]);\n $navbarInnerEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $pageEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $navbarInnerEl[0].style.overflow = '';\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n }\n } else if (collapseProgress === 1 && !navbarCollapsed) {\n app.navbar.collapseLargeTitle($navbarInnerEl[0]);\n $navbarInnerEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $navbarInnerEl[0].style.overflow = '';\n $pageEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n }\n } else if (collapseProgress === 1 && navbarCollapsed || collapseProgress === 0 && !navbarCollapsed) {\n $navbarInnerEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $navbarInnerEl[0].style.overflow = '';\n $pageEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n }\n } else {\n $navbarInnerEl[0].style.setProperty('--f7-navbar-large-collapse-progress', collapseProgress);\n $navbarInnerEl[0].style.overflow = 'visible';\n $pageEl[0].style.setProperty('--f7-navbar-large-collapse-progress', collapseProgress);\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.setProperty('--f7-navbar-large-collapse-progress', collapseProgress);\n }\n }\n\n if (snapPageScrollToLargeTitle) {\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n clearTimeout(scrollTimeoutId);\n scrollTimeoutId = setTimeout(function () {\n snapLargeNavbar();\n }, desktopSnapTimeout);\n } else if (touchEndTimeoutId) {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(function () {\n snapLargeNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }, touchSnapTimeout);\n }\n }\n }\n\n function handleTitleHideShow() {\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n navbarHidden = $navbarEl.hasClass('navbar-hidden');\n\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);\n navbarHidden = false;\n } else if (action === 'hide' && !navbarHidden) {\n app.navbar.hide($navbarEl);\n navbarHidden = true;\n }\n\n previousScrollTop = currentScrollTop;\n }\n\n function handleScroll(e) {\n scrollContent = this;\n\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n\n currentScrollTop = scrollContent.scrollTop;\n scrollChanged = currentScrollTop;\n\n if (needCollapse) {\n handleLargeNavbarCollapse();\n }\n\n if ($pageEl.hasClass('page-previous')) return;\n\n if (needHide) {\n handleTitleHideShow();\n }\n }\n\n function handeTouchStart() {\n scrollChanged = false;\n }\n\n function handleTouchEnd() {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(function () {\n if (scrollChanged !== false) {\n snapLargeNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }\n }, touchSnapTimeout);\n }\n\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && needCollapse && snapPageScrollToLargeTitle) {\n app.on('touchstart:passive', handeTouchStart);\n app.on('touchend:passive', handleTouchEnd);\n }\n\n if (needCollapse) {\n $pageEl.find('.page-content').each(function (pageContentIndex, pageContentEl) {\n if (pageContentEl.scrollTop > 0) handleScroll.call(pageContentEl);\n });\n }\n\n $pageEl[0].f7DetachNavbarScrollHandlers = function f7DetachNavbarScrollHandlers() {\n delete $pageEl[0].f7DetachNavbarScrollHandlers;\n $pageEl.off('scroll', '.page-content', handleScroll, true);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && needCollapse && snapPageScrollToLargeTitle) {\n app.off('touchstart:passive', handeTouchStart);\n app.off('touchend:passive', handleTouchEnd);\n }\n };\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'navbar',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n navbar: {\n size: Navbar.size.bind(app),\n hide: Navbar.hide.bind(app),\n show: Navbar.show.bind(app),\n getElByPage: Navbar.getElByPage.bind(app),\n getPageByEl: Navbar.getPageByEl.bind(app),\n collapseLargeTitle: Navbar.collapseLargeTitle.bind(app),\n expandLargeTitle: Navbar.expandLargeTitle.bind(app),\n toggleLargeTitle: Navbar.toggleLargeTitle.bind(app),\n initNavbarOnScroll: Navbar.initNavbarOnScroll.bind(app)\n }\n });\n },\n params: {\n navbar: {\n scrollTopOnTitleClick: true,\n iosCenterTitle: true,\n mdCenterTitle: false,\n auroraCenterTitle: true,\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true,\n collapseLargeTitleOnScroll: true,\n snapPageScrollToLargeTitle: true\n }\n },\n on: {\n 'panelBreakpoint panelResize resize viewMasterDetailBreakpoint': function onResize() {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.navbar').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n if (page.$el[0].f7DetachNavbarScrollHandlers) {\n page.$el[0].f7DetachNavbarScrollHandlers();\n }\n },\n pageBeforeIn: function pageBeforeIn(page) {\n var app = this;\n if (app.theme !== 'ios') return;\n var $navbarEl;\n var view = page.$el.parents('.view')[0].f7View;\n var navbarInnerEl = app.navbar.getElByPage(page);\n\n if (!navbarInnerEl) {\n $navbarEl = page.$el.parents('.view').children('.navbar');\n } else {\n $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).parents('.navbar');\n }\n\n if (page.$el.hasClass('no-navbar') || view.router.dynamicNavbar && !navbarInnerEl) {\n var animate = !!(page.pageFrom && page.router.history.length > 0);\n app.navbar.hide($navbarEl, animate);\n } else {\n app.navbar.show($navbarEl);\n }\n },\n pageReinit: function pageReinit(page) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage(page));\n if (!$navbarInnerEl || $navbarInnerEl.length === 0) return;\n app.navbar.size($navbarInnerEl);\n },\n pageInit: function pageInit(page) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage(page));\n if (!$navbarInnerEl || $navbarInnerEl.length === 0) return; // Size\n\n app.navbar.size($navbarInnerEl); // Need Collapse On Scroll\n\n var needCollapseOnScrollHandler;\n\n if ($navbarInnerEl.children('.title-large').length > 0) {\n $navbarInnerEl.addClass('navbar-inner-large');\n }\n\n if ($navbarInnerEl.hasClass('navbar-inner-large')) {\n if (app.params.navbar.collapseLargeTitleOnScroll) needCollapseOnScrollHandler = true;\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarInnerEl.parents('.navbar').addClass('navbar-large');\n }\n\n page.$el.addClass('page-with-navbar-large');\n } // Need Hide On Scroll\n\n\n var needHideOnScrollHandler;\n\n if (app.params.navbar.hideOnPageScroll || page.$el.find('.hide-navbar-on-scroll').length || page.$el.hasClass('hide-navbar-on-scroll') || page.$el.find('.hide-bars-on-scroll').length || page.$el.hasClass('hide-bars-on-scroll')) {\n if (page.$el.find('.keep-navbar-on-scroll').length || page.$el.hasClass('keep-navbar-on-scroll') || page.$el.find('.keep-bars-on-scroll').length || page.$el.hasClass('keep-bars-on-scroll')) {\n needHideOnScrollHandler = false;\n } else {\n needHideOnScrollHandler = true;\n }\n }\n\n if (needCollapseOnScrollHandler || needHideOnScrollHandler) {\n app.navbar.initNavbarOnScroll(page.el, $navbarInnerEl[0], needHideOnScrollHandler, needCollapseOnScrollHandler);\n }\n },\n modalOpen: function modalOpen(modal) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n modal.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n panelOpen: function panelOpen(panel) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n panel.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n panelSwipeOpen: function panelSwipeOpen(panel) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n panel.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n tabShow: function tabShow(tabEl) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n }\n },\n clicks: {\n '.navbar .title': function onTitleClick($clickedEl) {\n var app = this;\n if (!app.params.navbar.scrollTopOnTitleClick) return;\n\n if ($clickedEl.closest('a').length > 0) {\n return;\n }\n\n var pageContent; // Find active page\n\n var navbar = $clickedEl.parents('.navbar'); // Static Layout\n\n pageContent = navbar.parents('.page-content');\n\n if (pageContent.length === 0) {\n // Fixed Layout\n if (navbar.parents('.page').length > 0) {\n pageContent = navbar.parents('.page').find('.page-content');\n } // Through Layout\n\n\n if (pageContent.length === 0) {\n if (navbar.nextAll('.page-current:not(.stacked)').length > 0) {\n pageContent = navbar.nextAll('.page-current:not(.stacked)').find('.page-content');\n }\n }\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\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n }\n },\n vnode: {\n 'navbar-inner': {\n postpatch: function postpatch(vnode) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n app.navbar.size(vnode.elm);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/navbar/navbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/notification/notification-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/notification/notification-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Notification = /*#__PURE__*/function (_Modal) {\n _inherits(Notification, _Modal);\n\n var _super = _createSuper(Notification);\n\n function Notification(app, params) {\n var _this;\n\n _classCallCheck(this, Notification);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n on: {}\n }, app.params.notification, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var notification = _assertThisInitialized(_this);\n\n notification.app = app;\n notification.params = extendedParams;\n var _notification$params = notification.params,\n icon = _notification$params.icon,\n title = _notification$params.title,\n titleRightText = _notification$params.titleRightText,\n subtitle = _notification$params.subtitle,\n text = _notification$params.text,\n closeButton = _notification$params.closeButton,\n closeTimeout = _notification$params.closeTimeout,\n cssClass = _notification$params.cssClass,\n closeOnClick = _notification$params.closeOnClick;\n var $el;\n\n if (!notification.params.el) {\n // Find Element\n var notificationHtml = notification.render({\n icon: icon,\n title: title,\n titleRightText: titleRightText,\n subtitle: subtitle,\n text: text,\n closeButton: closeButton,\n cssClass: cssClass\n });\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(notificationHtml);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(notification.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, notification.destroy());\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(notification, {\n $el: $el,\n el: $el[0],\n type: 'notification'\n });\n $el[0].f7Modal = notification;\n\n if (closeButton) {\n $el.find('.notification-close-button').on('click', function () {\n notification.close();\n });\n }\n\n $el.on('click', function (e) {\n if (closeButton && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.notification-close-button').length) {\n return;\n }\n\n notification.emit('local::click notificationClick', notification);\n if (closeOnClick) notification.close();\n });\n notification.on('beforeDestroy', function () {\n $el.off('click');\n });\n /* Touch Events */\n\n var isTouched;\n var isMoved;\n var isScrolling;\n var touchesDiff;\n var touchStartTime;\n var notificationHeight;\n var touchesStart = {};\n\n function handleTouchStart(e) {\n if (isTouched) return;\n isTouched = true;\n isMoved = false;\n isScrolling = undefined;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\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 }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) < Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n\n if (!isMoved) {\n notification.$el.removeClass('notification-transitioning');\n notification.$el.transition(0);\n notificationHeight = notification.$el[0].offsetHeight / 2;\n }\n\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n var newTranslate = touchesDiff;\n\n if (touchesDiff > 0) {\n newTranslate = Math.pow(touchesDiff, 0.8);\n }\n\n notification.$el.transform(\"translate3d(0, \".concat(newTranslate, \"px, 0)\"));\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n\n if (touchesDiff === 0) {\n return;\n }\n\n var timeDiff = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now() - touchStartTime;\n notification.$el.transition('');\n notification.$el.addClass('notification-transitioning');\n notification.$el.transform('');\n\n if (touchesDiff < -10 && timeDiff < 300 || -touchesDiff >= notificationHeight / 1) {\n notification.close();\n }\n }\n\n function attachTouchEvents() {\n if (true) {\n notification.$el.on(app.touchEvents.start, handleTouchStart, {\n passive: true\n });\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n }\n\n function detachTouchEvents() {\n if (\"development\".TARGET !== 'desktop') {\n notification.$el.off(app.touchEvents.start, handleTouchStart, {\n passive: true\n });\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n }\n\n var timeoutId;\n\n function closeOnTimeout() {\n timeoutId = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (isTouched && isMoved) {\n closeOnTimeout();\n return;\n }\n\n notification.close();\n }, closeTimeout);\n }\n\n notification.on('open', function () {\n if (notification.params.swipeToClose) {\n attachTouchEvents();\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.notification.modal-in').each(function (index, openedEl) {\n var notificationInstance = app.notification.get(openedEl);\n\n if (openedEl !== notification.el && notificationInstance) {\n notificationInstance.close();\n }\n });\n\n if (closeTimeout) {\n closeOnTimeout();\n }\n });\n notification.on('close beforeDestroy', function () {\n if (notification.params.swipeToClose) {\n detachTouchEvents();\n }\n\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].clearTimeout(timeoutId);\n });\n return _possibleConstructorReturn(_this, notification);\n }\n\n _createClass(Notification, [{\n key: \"render\",\n value: function render() {\n var notification = this;\n if (notification.params.render) return notification.params.render.call(notification, notification);\n var _notification$params2 = notification.params,\n icon = _notification$params2.icon,\n title = _notification$params2.title,\n titleRightText = _notification$params2.titleRightText,\n subtitle = _notification$params2.subtitle,\n text = _notification$params2.text,\n closeButton = _notification$params2.closeButton,\n cssClass = _notification$params2.cssClass;\n return \"\\n
          \\n
          \\n \").concat(icon ? \"
          \".concat(icon, \"
          \") : '', \"\\n \").concat(title ? \"
          \".concat(title, \"
          \") : '', \"\\n \").concat(titleRightText ? \"
          \".concat(titleRightText, \"
          \") : '', \"\\n \").concat(closeButton ? '' : '', \"\\n
          \\n
          \\n \").concat(subtitle ? \"
          \".concat(subtitle, \"
          \") : '', \"\\n \").concat(text ? \"
          \".concat(text, \"
          \") : '', \"\\n
          \\n
          \\n \").trim();\n }\n }]);\n\n return Notification;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Notification);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/notification/notification-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/notification/notification.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/notification/notification.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _notification_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./notification-class */ \"./node_modules/framework7/components/notification/notification-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'notification',\n static: {\n Notification: _notification_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.notification = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n app: app,\n constructor: _notification_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n defaultSelector: '.notification.modal-in'\n }));\n },\n params: {\n notification: {\n icon: null,\n title: null,\n titleRightText: null,\n subtitle: null,\n text: null,\n closeButton: false,\n closeTimeout: null,\n closeOnClick: false,\n swipeToClose: true,\n cssClass: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/notification/notification.js?"); /***/ }), /***/ "./node_modules/framework7/components/panel/panel-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/panel/panel-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _swipe_panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./swipe-panel */ \"./node_modules/framework7/components/panel/swipe-panel.js\");\n/* harmony import */ var _resizable_panel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resizable-panel */ \"./node_modules/framework7/components/panel/resizable-panel.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar Panel = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Panel, _Framework7Class);\n\n var _super = _createSuper(Panel);\n\n function Panel(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Panel);\n\n _this = _super.call(this, params, [app]);\n\n var panel = _assertThisInitialized(_this);\n\n var el = params.el;\n\n if (!el && params.content) {\n el = params.content;\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, panel);\n if ($el[0].f7Panel) return _possibleConstructorReturn(_this, $el[0].f7Panel);\n $el[0].f7Panel = panel;\n var opened = params.opened,\n side = params.side,\n effect = params.effect;\n if (typeof opened === 'undefined') opened = $el.hasClass('panel-active');\n if (typeof side === 'undefined') side = $el.hasClass('panel-left') ? 'left' : 'right';\n if (typeof effect === 'undefined') effect = $el.hasClass('panel-cover') ? 'cover' : 'reveal';\n\n if (!app.panel[side]) {\n app.panel[side] = panel;\n } else {\n throw new Error(\"Framework7: Can't create panel; app already has a \".concat(side, \" panel!\"));\n }\n\n var $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $backdropEl.insertBefore($el);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(panel, {\n app: app,\n side: side,\n effect: effect,\n $el: $el,\n el: $el[0],\n opened: opened,\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl[0],\n params: params\n }); // Install Modules\n\n panel.useModules(); // Init\n\n panel.init();\n return _possibleConstructorReturn(_this, panel);\n }\n\n _createClass(Panel, [{\n key: \"getViewEl\",\n value: function getViewEl() {\n var panel = this;\n var app = panel.app;\n var viewEl;\n\n if (app.root.children('.views').length > 0) {\n viewEl = app.root.children('.views')[0];\n } else {\n viewEl = app.root.children('.view')[0];\n }\n\n return viewEl;\n }\n }, {\n key: \"setBreakpoint\",\n value: function setBreakpoint() {\n var emitEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n var app = panel.app;\n var side = panel.side,\n $el = panel.$el;\n var $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n var breakpoint = app.params.panel[\"\".concat(side, \"Breakpoint\")];\n var wasVisible = $el.hasClass('panel-visible-by-breakpoint');\n\n if (app.width >= breakpoint) {\n if (!wasVisible) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-panel-\".concat(side, \"-reveal with-panel-\").concat(side, \"-cover with-panel\"));\n $el.css('display', '').addClass('panel-visible-by-breakpoint').removeClass('panel-active');\n panel.onOpen();\n panel.onOpened();\n $viewEl.css(_defineProperty({}, \"margin-\".concat(side), \"\".concat($el.width(), \"px\")));\n app.allowPanelOpen = true;\n\n if (emitEvents) {\n panel.emit('local::breakpoint panelBreakpoint');\n panel.$el.trigger('panel:breakpoint', panel);\n }\n } else {\n $viewEl.css(_defineProperty({}, \"margin-\".concat(side), \"\".concat($el.width(), \"px\")));\n }\n } else if (wasVisible) {\n $el.css('display', '').removeClass('panel-visible-by-breakpoint panel-active');\n panel.onClose();\n panel.onClosed();\n $viewEl.css(_defineProperty({}, \"margin-\".concat(side), ''));\n\n if (emitEvents) {\n panel.emit('local::breakpoint panelBreakpoint');\n panel.$el.trigger('panel:breakpoint', panel);\n }\n }\n }\n }, {\n key: \"initBreakpoints\",\n value: function initBreakpoints() {\n var panel = this;\n var app = panel.app;\n\n panel.resizeHandler = function resizeHandler() {\n panel.setBreakpoint();\n };\n\n if (app.params.panel[\"\".concat(panel.side, \"Breakpoint\")]) {\n app.on('resize', panel.resizeHandler);\n }\n\n panel.setBreakpoint();\n return panel;\n }\n }, {\n key: \"initSwipePanel\",\n value: function initSwipePanel() {\n if (true) {\n Object(_swipe_panel__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this);\n }\n }\n }, {\n key: \"initResizablePanel\",\n value: function initResizablePanel() {\n Object(_resizable_panel__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this);\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n if (panel.opened) panel.close(animate);else panel.open(animate);\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var panel = this;\n panel.opened = true;\n panel.$el.trigger('panel:beforeopen', panel);\n panel.emit('local::beforeOpen panelBeforeOpen', panel);\n panel.$el.trigger('panel:open', panel);\n panel.emit('local::open panelOpen', panel);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var panel = this;\n var app = panel.app;\n app.panel.allowOpen = true;\n panel.$el.trigger('panel:opened', panel);\n panel.emit('local::opened panelOpened', panel);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var panel = this;\n panel.opened = false;\n panel.$el.addClass('panel-closing');\n panel.$el.trigger('panel:beforeclose', panel);\n panel.emit('local::beforeClose panelBeforeClose', panel);\n panel.$el.trigger('panel:close', panel);\n panel.emit('local::close panelClose', panel);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var panel = this;\n var app = panel.app;\n app.panel.allowOpen = true;\n panel.$el.removeClass('panel-closing');\n panel.$el.trigger('panel:closed', panel);\n panel.emit('local::closed panelClosed', panel);\n }\n }, {\n key: \"open\",\n value: function open() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n var app = panel.app;\n if (!app.panel.allowOpen) return false;\n var side = panel.side,\n effect = panel.effect,\n $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n opened = panel.opened;\n var $panelParentEl = $el.parent();\n var wasInDom = $el.parents(document).length > 0;\n\n if (!$panelParentEl.is(app.root) || $el.prevAll('.views, .view').length) {\n var $insertBeforeEl = app.root.children('.panel, .views, .view').eq(0);\n var $insertAfterEl = app.root.children('.statusbar').eq(0);\n\n if ($insertBeforeEl.length) {\n $el.insertBefore($insertBeforeEl);\n } else if ($insertAfterEl.length) {\n $el.insertAfter($insertBeforeEl);\n } else {\n app.root.prepend($el);\n }\n\n if ($backdropEl && $backdropEl.length && (!$backdropEl.parent().is(app.root) && $backdropEl.nextAll('.panel').length === 0 || $backdropEl.parent().is(app.root) && $backdropEl.nextAll('.panel').length === 0)) {\n $backdropEl.insertBefore($el);\n }\n\n panel.once('panelClosed', function () {\n if (wasInDom) {\n $panelParentEl.append($el);\n } else {\n $el.remove();\n }\n });\n } // Ignore if opened\n\n\n if (opened || $el.hasClass('panel-visible-by-breakpoint') || $el.hasClass('panel-active')) return false; // Close if some panel is opened\n\n app.panel.close(side === 'left' ? 'right' : 'left', animate);\n app.panel.allowOpen = false;\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n $el.css({\n display: 'block'\n }).addClass('panel-active');\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n $backdropEl.css({\n display: 'block'\n });\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n // panel._clientLeft = $el[0].clientLeft;\n // Transition End;\n\n var transitionEndTarget = effect === 'reveal' ? $el.nextAll('.view, .views').eq(0) : $el;\n\n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).is(transitionEndTarget)) {\n if ($el.hasClass('panel-active')) {\n panel.onOpened();\n $backdropEl.css({\n display: ''\n });\n } else {\n panel.onClosed();\n $backdropEl.css({\n display: ''\n });\n }\n } else panelTransitionEnd();\n });\n }\n\n if (animate) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass(\"with-panel with-panel-\".concat(side, \"-\").concat(effect));\n panel.onOpen();\n panelTransitionEnd();\n });\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass(\"with-panel with-panel-\".concat(side, \"-\").concat(effect));\n panel.onOpen();\n panel.onOpened();\n $backdropEl.css({\n display: ''\n });\n }\n\n return true;\n }\n }, {\n key: \"close\",\n value: function close() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n var app = panel.app;\n var side = panel.side,\n effect = panel.effect,\n $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n opened = panel.opened;\n if (!opened || $el.hasClass('panel-visible-by-breakpoint') || !$el.hasClass('panel-active')) return false;\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n $el.removeClass('panel-active');\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n var transitionEndTarget = effect === 'reveal' ? $el.nextAll('.view, .views').eq(0) : $el;\n panel.onClose();\n app.panel.allowOpen = false;\n\n if (animate) {\n transitionEndTarget.transitionEnd(function () {\n if ($el.hasClass('panel-active')) return;\n $el.css({\n display: ''\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-panel-transitioning');\n panel.onClosed();\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-panel with-panel-\".concat(side, \"-\").concat(effect)).addClass('with-panel-transitioning');\n } else {\n $el.css({\n display: ''\n });\n $el.removeClass('not-animated');\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-panel with-panel-transitioning with-panel-\".concat(side, \"-\").concat(effect));\n panel.onClosed();\n }\n\n return true;\n }\n }, {\n key: \"init\",\n value: function init() {\n var panel = this;\n var app = panel.app;\n\n if (app.params.panel[\"\".concat(panel.side, \"Breakpoint\")]) {\n panel.initBreakpoints();\n }\n\n if (\"development\".TARGET !== 'desktop') {\n if (app.params.panel.swipe === panel.side || app.params.panel.swipe === 'both' || app.params.panel.swipe && app.params.panel.swipe !== panel.side && app.params.panel.swipeCloseOpposite) {\n panel.initSwipePanel();\n }\n }\n\n if (panel.params.resizable || panel.$el.hasClass('panel-resizable')) {\n panel.initResizablePanel();\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var panel = this;\n var app = panel.app;\n\n if (!panel.$el) {\n // Panel already destroyed\n return;\n }\n\n panel.emit('local::beforeDestroy panelBeforeDestroy', panel);\n panel.$el.trigger('panel:beforedestroy', panel);\n\n if (panel.resizeHandler) {\n app.off('resize', panel.resizeHandler);\n }\n\n if (panel.$el.hasClass('panel-visible-by-breakpoint')) {\n var $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n panel.$el.css('display', '').removeClass('panel-visible-by-breakpoint panel-active');\n $viewEl.css(_defineProperty({}, \"margin-\".concat(panel.side), ''));\n panel.emit('local::breakpoint panelBreakpoint');\n panel.$el.trigger('panel:breakpoint', panel);\n }\n\n panel.$el.trigger('panel:destroy', panel);\n panel.emit('local::destroy panelDestroy');\n delete app.panel[panel.side];\n\n if (panel.el) {\n panel.el.f7Panel = null;\n delete panel.el.f7Panel;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(panel);\n panel = null;\n }\n }]);\n\n return Panel;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Panel);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/panel-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/panel/panel.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/panel/panel.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _panel_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel-class */ \"./node_modules/framework7/components/panel/panel-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'panel',\n params: {\n panel: {\n leftBreakpoint: 0,\n rightBreakpoint: 0,\n swipe: undefined,\n // or 'left' or 'right' or 'both'\n swipeActiveArea: 0,\n swipeCloseActiveAreaSide: 0,\n swipeCloseOpposite: true,\n swipeOnlyClose: false,\n swipeNoFollow: false,\n swipeThreshold: 0,\n closeByBackdropClick: true\n }\n },\n static: {\n Panel: _panel_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n instance: {\n panel: {\n allowOpen: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app.panel, {\n disableResizable: function disableResizable() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var side;\n var panels = [];\n\n if (typeof panel === 'string') {\n if (panel === 'both') {\n side = 'both';\n panels = [app.panel.left, app.panel.right];\n } else {\n side = panel;\n panels.push(app.panel[side]);\n }\n } else {\n panels = [panel];\n }\n\n panels.forEach(function (panelInstance) {\n panelInstance.resizable = false;\n panelInstance.$el.removeClass('panel-resizable');\n });\n },\n enableResizable: function enableResizable() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var side;\n var panels = [];\n\n if (typeof panel === 'string') {\n if (panel === 'both') {\n side = 'both';\n panels = [app.panel.left, app.panel.right];\n } else {\n side = panel;\n panels.push(app.panel[side]);\n }\n } else {\n panels = [panel];\n }\n\n panels.forEach(function (panelInstance) {\n if (!panelInstance) return;\n\n if (!panelInstance.resizableInitialized) {\n panelInstance.initResizablePanel();\n } else {\n panelInstance.resizable = true;\n panelInstance.$el.addClass('panel-resizable');\n }\n });\n },\n disableSwipe: function disableSwipe() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var side;\n var panels = [];\n\n if (typeof panel === 'string') {\n if (panel === 'both') {\n side = 'both';\n panels = [app.panel.left, app.panel.right];\n } else {\n side = panel;\n panels.push(app.panel[side]);\n }\n } else {\n panels = [panel];\n }\n\n panels.forEach(function (panelInstance) {\n panelInstance.swipeable = false;\n });\n },\n enableSwipe: function enableSwipe() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var panels = [];\n var side;\n\n if (typeof panel === 'string') {\n side = panel;\n\n if (app.params.panel.swipe === 'left' && side === 'right' || app.params.panel.swipe === 'right' && side === 'left' || side === 'both') {\n side = 'both';\n app.params.panel.swipe = side;\n panels = [app.panel.left, app.panel.right];\n } else {\n app.params.panel.swipe = side;\n panels.push(app.panel[side]);\n }\n } else if (panel) {\n panels.push(panel);\n }\n\n panels.forEach(function (panelInstance) {\n if (!panelInstance) return;\n\n if (!panelInstance.swipeInitialized) {\n panelInstance.initSwipePanel();\n } else {\n panelInstance.swipeable = true;\n }\n });\n },\n create: function create(params) {\n return new _panel_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, params);\n },\n open: function open(side, animate) {\n var panelSide = side;\n\n if (!panelSide) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length > 1) {\n return false;\n }\n\n panelSide = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-left') ? 'left' : 'right';\n }\n\n if (!panelSide) return false;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide].open(animate);\n }\n\n var $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n }).open(animate);\n }\n\n return false;\n },\n close: function close(side, animate) {\n var $panelEl;\n var panelSide;\n\n if (panelSide) {\n panelSide = side;\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n } else {\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active');\n panelSide = $panelEl.hasClass('panel-left') ? 'left' : 'right';\n }\n\n if (!panelSide) return false;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide].close(animate);\n }\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n }).close(animate);\n }\n\n return false;\n },\n toggle: function toggle(side, animate) {\n var $panelEl;\n var panelSide = side;\n\n if (side) {\n panelSide = side;\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active').length) {\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active');\n panelSide = $panelEl.hasClass('panel-left') ? 'left' : 'right';\n } else {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length > 1) {\n return false;\n }\n\n panelSide = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-left') ? 'left' : 'right';\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n }\n\n if (!panelSide) return false;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide].toggle(animate);\n }\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n }).toggle(animate);\n }\n\n return false;\n },\n get: function get(side) {\n var panelSide = side;\n\n if (!panelSide) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length > 1) {\n return undefined;\n }\n\n panelSide = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-left') ? 'left' : 'right';\n }\n\n if (!panelSide) return undefined;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide];\n }\n\n var $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n });\n }\n\n return undefined;\n }\n });\n },\n on: {\n init: function init() {\n var app = this; // Create Panels\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').each(function (index, panelEl) {\n var side = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panelEl).hasClass('panel-left') ? 'left' : 'right';\n app.panel[side] = app.panel.create({\n el: panelEl,\n side: side\n });\n });\n }\n },\n clicks: {\n '.panel-open': function open(clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var side = 'left';\n\n if (data.panel === 'right' || Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length === 1 && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-right')) {\n side = 'right';\n }\n\n app.panel.open(side, data.animate);\n },\n '.panel-close': function close(clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var side = data.panel;\n app.panel.close(side, data.animate);\n },\n '.panel-toggle': function close(clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var side = data.panel;\n app.panel.toggle(side, data.animate);\n },\n '.panel-backdrop': function close() {\n var app = this;\n var $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel-active');\n var instance = $panelEl[0] && $panelEl[0].f7Panel;\n $panelEl.trigger('panel:backdrop-click');\n\n if (instance) {\n instance.emit('backdropClick', instance);\n }\n\n app.emit('panelBackdropClick', instance || $panelEl[0]);\n if (app.params.panel.closeByBackdropClick) app.panel.close();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/panel.js?"); /***/ }), /***/ "./node_modules/framework7/components/panel/resizable-panel.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/panel/resizable-panel.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\n\nfunction resizablePanel(panel) {\n var app = panel.app;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(panel, {\n resizable: true,\n resizableWidth: null,\n resizableInitialized: true\n });\n var $htmlEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html');\n var $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n side = panel.side,\n effect = panel.effect;\n if (!$el) return;\n var isTouched;\n var isMoved;\n var touchesStart = {};\n var touchesDiff;\n var panelWidth;\n var $viewEl;\n var panelMinWidth;\n var panelMaxWidth;\n var visibleByBreakpoint;\n\n function transformCSSWidth(v) {\n if (!v) return null;\n\n if (v.indexOf('%') >= 0 || v.indexOf('vw') >= 0) {\n return parseInt(v, 10) / 100 * app.width;\n }\n\n var newV = parseInt(v, 10);\n if (Number.isNaN(newV)) return null;\n return newV;\n }\n\n function isResizable() {\n return panel.resizable && $el.hasClass('panel-resizable');\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 panelMinWidth = transformCSSWidth($el.css('min-width'));\n panelMaxWidth = transformCSSWidth($el.css('max-width'));\n visibleByBreakpoint = $el.hasClass('panel-visible-by-breakpoint');\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n\n if (!isMoved) {\n panelWidth = $el[0].offsetWidth;\n $el.transition(0);\n $el.addClass('panel-resizing');\n $htmlEl.css('cursor', 'col-resize');\n\n if (effect === 'reveal' || visibleByBreakpoint) {\n $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n }\n\n if (effect === 'reveal' && !visibleByBreakpoint) {\n $backdropEl.transition(0);\n $viewEl.transition(0);\n }\n }\n\n isMoved = true;\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x;\n var newPanelWidth = side === 'left' ? panelWidth + touchesDiff : panelWidth - touchesDiff;\n\n if (panelMinWidth && !Number.isNaN(panelMinWidth)) {\n newPanelWidth = Math.max(newPanelWidth, panelMinWidth);\n }\n\n if (panelMaxWidth && !Number.isNaN(panelMaxWidth)) {\n newPanelWidth = Math.min(newPanelWidth, panelMaxWidth);\n }\n\n newPanelWidth = Math.min(Math.max(newPanelWidth, 0), app.width);\n panel.resizableWidth = newPanelWidth;\n $el[0].style.width = \"\".concat(newPanelWidth, \"px\");\n\n if (effect === 'reveal' && !visibleByBreakpoint) {\n if ($viewEl) {\n $viewEl.transform(\"translate3d(\".concat(side === 'left' ? newPanelWidth : -newPanelWidth, \"px, 0, 0)\"));\n }\n\n if ($backdropEl) {\n $backdropEl.transform(\"translate3d(\".concat(side === 'left' ? newPanelWidth : -newPanelWidth, \"px, 0, 0)\"));\n }\n } else if (visibleByBreakpoint && $viewEl) {\n $viewEl.css(\"margin-\".concat(side), \"\".concat(newPanelWidth, \"px\"));\n }\n\n $el.trigger('panel:resize', panel, newPanelWidth);\n panel.emit('local::resize panelResize', panel, newPanelWidth);\n }\n\n function handleTouchEnd() {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').css('cursor', '');\n\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n $htmlEl[0].style.setProperty(\"--f7-panel-\".concat(side, \"-width\"), \"\".concat(panel.resizableWidth, \"px\"));\n $el[0].style.width = '';\n\n if (effect === 'reveal' && !visibleByBreakpoint) {\n $viewEl.transform('');\n $backdropEl.transform('');\n }\n\n $el.removeClass('panel-resizing');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n if (visibleByBreakpoint) return;\n $el.transition('');\n\n if (effect === 'reveal') {\n $backdropEl.transition('');\n if ($viewEl) $viewEl.transition('');\n }\n });\n }\n\n function handleResize() {\n if (!panel.opened || !panel.resizableWidth) return;\n panelMinWidth = transformCSSWidth($el.css('min-width'));\n panelMaxWidth = transformCSSWidth($el.css('max-width'));\n\n if (panelMinWidth && !Number.isNaN(panelMinWidth) && panel.resizableWidth < panelMinWidth) {\n panel.resizableWidth = Math.max(panel.resizableWidth, panelMinWidth);\n }\n\n if (panelMaxWidth && !Number.isNaN(panelMaxWidth) && panel.resizableWidth > panelMaxWidth) {\n panel.resizableWidth = Math.min(panel.resizableWidth, panelMaxWidth);\n }\n\n panel.resizableWidth = Math.min(Math.max(panel.resizableWidth, 0), app.width);\n $htmlEl[0].style.setProperty(\"--f7-panel-\".concat(side, \"-width\"), \"\".concat(panel.resizableWidth, \"px\"));\n }\n\n if (panel.$el.find('.panel-resize-handler').length === 0) {\n panel.$el.append('
          ');\n }\n\n panel.$resizeHandlerEl = panel.$el.children('.panel-resize-handler');\n $el.addClass('panel-resizable'); // Add Events\n\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n panel.$el.on(app.touchEvents.start, '.panel-resize-handler', handleTouchStart, passive);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n panel.on('beforeOpen', handleResize);\n panel.once('panelDestroy', function () {\n $el.removeClass('panel-resizable');\n panel.$resizeHandlerEl.remove();\n panel.$el.off(app.touchEvents.start, '.panel-resize-handler', handleTouchStart, passive);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n panel.off('beforeOpen', handleResize);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (resizablePanel);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/resizable-panel.js?"); /***/ }), /***/ "./node_modules/framework7/components/panel/swipe-panel.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/panel/swipe-panel.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\nfunction swipePanel(panel) {\n var app = panel.app;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(panel, {\n swipeable: true,\n swipeInitialized: true\n });\n var params = app.params.panel;\n var $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n side = panel.side,\n effect = panel.effect;\n var otherPanel;\n var isTouched;\n var isMoved;\n var isScrolling;\n var touchesStart = {};\n var touchStartTime;\n var touchesDiff;\n var translate;\n var backdropOpacity;\n var panelWidth;\n var direction;\n var $viewEl;\n var touchMoves = 0;\n\n function handleTouchStart(e) {\n if (!panel.swipeable) return;\n if (!app.panel.allowOpen || !params.swipe && !params.swipeOnlyClose || isTouched) return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.modal-in:not(.toast):not(.notification), .photo-browser-in').length > 0) return;\n otherPanel = app.panel[side === 'left' ? 'right' : 'left'] || {};\n if (!panel.opened && otherPanel.opened) return;\n\n if (!(params.swipeCloseOpposite || params.swipeOnlyClose)) {\n if (otherPanel.opened) return;\n }\n\n if (e.target && e.target.nodeName.toLowerCase() === 'input' && e.target.type === 'range') return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.range-slider, .tabs-swipeable-wrap, .calendar-months, .no-swipe-panel, .card-opened').length > 0) 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\n if (params.swipeOnlyClose && !panel.opened) {\n return;\n }\n\n if (params.swipe !== 'both' && params.swipeCloseOpposite && params.swipe !== side && !panel.opened) {\n return;\n }\n\n if (params.swipeActiveArea && !panel.opened) {\n if (side === 'left') {\n if (touchesStart.x > params.swipeActiveArea) return;\n }\n\n if (side === 'right') {\n if (touchesStart.x < app.width - params.swipeActiveArea) return;\n }\n }\n\n if (params.swipeCloseActiveAreaSide && panel.opened) {\n if (side === 'left') {\n if (touchesStart.x < $el[0].offsetWidth - params.swipeCloseActiveAreaSide) return;\n }\n\n if (side === 'right') {\n if (touchesStart.x > app.width - $el[0].offsetWidth + params.swipeCloseActiveAreaSide) return;\n }\n }\n\n touchMoves = 0;\n $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n direction = undefined;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n touchMoves += 1;\n if (touchMoves < 2) return;\n\n if (e.f7PreventSwipePanel || app.preventSwipePanelBySwipeBack || app.preventSwipePanel) {\n isTouched = false;\n return;\n }\n\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n if (!direction) {\n if (pageX > touchesStart.x) {\n direction = 'to-right';\n } else {\n direction = 'to-left';\n }\n\n if (params.swipe === 'both') {\n if (params.swipeActiveArea > 0 && !panel.opened) {\n if (side === 'left' && touchesStart.x > params.swipeActiveArea) {\n isTouched = false;\n return;\n }\n\n if (side === 'right' && touchesStart.x < app.width - params.swipeActiveArea) {\n isTouched = false;\n return;\n }\n }\n }\n\n if ($el.hasClass('panel-visible-by-breakpoint')) {\n isTouched = false;\n return;\n }\n\n if (side === 'left' && direction === 'to-left' && !$el.hasClass('panel-active') || side === 'right' && direction === 'to-right' && !$el.hasClass('panel-active')) {\n isTouched = false;\n return;\n }\n }\n\n var threshold = panel.opened ? 0 : -params.swipeThreshold;\n if (side === 'right') threshold = -threshold;\n\n if (params.swipeNoFollow) {\n var touchesDiffNoFollow = pageX - touchesStart.x;\n var timeDiff = new Date().getTime() - touchStartTime;\n var needToSwitch;\n\n if (!panel.opened && (side === 'left' && touchesDiffNoFollow > -threshold || side === 'right' && -touchesDiffNoFollow > threshold)) {\n needToSwitch = true;\n }\n\n if (panel.opened && (side === 'left' && touchesDiffNoFollow < 0 || side === 'right' && touchesDiffNoFollow > 0)) {\n needToSwitch = true;\n }\n\n if (needToSwitch) {\n if (timeDiff < 300) {\n if (direction === 'to-left') {\n if (side === 'right') app.panel.open(side);\n if (side === 'left' && $el.hasClass('panel-active')) app.panel.close();\n }\n\n if (direction === 'to-right') {\n if (side === 'left') app.panel.open(side);\n if (side === 'right' && $el.hasClass('panel-active')) app.panel.close();\n }\n }\n\n isTouched = false;\n isMoved = false;\n }\n\n return;\n }\n\n if (!isMoved) {\n if (!panel.opened) {\n $el.css('display', 'block');\n $backdropEl.css('display', 'block');\n $el.trigger('panel:swipeopen', panel);\n panel.emit('local::swipeOpen panelSwipeOpen', panel);\n }\n\n panelWidth = $el[0].offsetWidth;\n $el.transition(0);\n }\n\n isMoved = true;\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x + threshold;\n\n if (side === 'right') {\n if (effect === 'cover') {\n translate = touchesDiff + (panel.opened ? 0 : panelWidth);\n if (translate < 0) translate = 0;\n\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n } else {\n translate = touchesDiff - (panel.opened ? panelWidth : 0);\n if (translate > 0) translate = 0;\n\n if (translate < -panelWidth) {\n translate = -panelWidth;\n }\n }\n } else {\n translate = touchesDiff + (panel.opened ? panelWidth : 0);\n if (translate < 0) translate = 0;\n\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n }\n\n if (effect === 'reveal') {\n $viewEl.transform(\"translate3d(\".concat(translate, \"px,0,0)\")).transition(0);\n $backdropEl.transform(\"translate3d(\".concat(translate, \"px,0,0)\")).transition(0);\n $el.trigger('panel:swipe', panel, Math.abs(translate / panelWidth));\n panel.emit('local::swipe panelSwipe', panel, Math.abs(translate / panelWidth));\n } else {\n if (side === 'left') translate -= panelWidth;\n $el.transform(\"translate3d(\".concat(translate, \"px,0,0)\")).transition(0);\n $backdropEl.transition(0);\n backdropOpacity = 1 - Math.abs(translate / panelWidth);\n $backdropEl.css({\n opacity: backdropOpacity\n });\n $el.trigger('panel:swipe', panel, Math.abs(translate / panelWidth));\n panel.emit('local::swipe panelSwipe', panel, Math.abs(translate / panelWidth));\n }\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n var timeDiff = new Date().getTime() - touchStartTime;\n var action;\n var edge = translate === 0 || Math.abs(translate) === panelWidth;\n var threshold = params.swipeThreshold || 0;\n\n if (!panel.opened) {\n if (Math.abs(touchesDiff) < threshold) {\n action = 'reset';\n } else if (effect === 'cover') {\n if (translate === 0) {\n action = 'swap'; // open\n } else if (timeDiff < 300 && Math.abs(translate) > 0) {\n action = 'swap'; // open\n } else if (timeDiff >= 300 && Math.abs(translate) < panelWidth / 2) {\n action = 'swap'; // open\n } else {\n action = 'reset'; // close\n }\n } else if (translate === 0) {\n action = 'reset';\n } else if (timeDiff < 300 && Math.abs(translate) > 0 || timeDiff >= 300 && Math.abs(translate) >= panelWidth / 2) {\n action = 'swap';\n } else {\n action = 'reset';\n }\n } else if (effect === 'cover') {\n if (translate === 0) {\n action = 'reset'; // open\n } else if (timeDiff < 300 && Math.abs(translate) > 0) {\n action = 'swap'; // open\n } else if (timeDiff >= 300 && Math.abs(translate) < panelWidth / 2) {\n action = 'reset'; // open\n } else {\n action = 'swap'; // close\n }\n } else if (translate === -panelWidth) {\n action = 'reset';\n } else if (timeDiff < 300 && Math.abs(translate) >= 0 || timeDiff >= 300 && Math.abs(translate) <= panelWidth / 2) {\n if (side === 'left' && translate === panelWidth) action = 'reset';else action = 'swap';\n } else {\n action = 'reset';\n }\n\n if (action === 'swap') {\n if (panel.opened) {\n panel.close(!edge);\n } else {\n panel.open(!edge);\n }\n }\n\n if (action === 'reset') {\n if (!panel.opened) {\n if (edge) {\n $el.css({\n display: ''\n });\n } else {\n var target = effect === 'reveal' ? $viewEl : $el;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-panel-transitioning');\n target.transitionEnd(function () {\n if ($el.hasClass('panel-active')) return;\n $el.css({\n display: ''\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-panel-transitioning');\n });\n }\n }\n }\n\n if (effect === 'reveal') {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $viewEl.transition('');\n $viewEl.transform('');\n });\n }\n\n $el.transition('').transform('');\n $backdropEl.css({\n display: ''\n }).transform('').transition('').css('opacity', '');\n } // Add Events\n\n\n app.on('touchstart:passive', handleTouchStart);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n panel.on('panelDestroy', function () {\n app.off('touchstart:passive', handleTouchStart);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (swipePanel);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/swipe-panel.js?"); /***/ }), /***/ "./node_modules/framework7/components/photo-browser/photo-browser-class.js": /*!*********************************************************************************!*\ !*** ./node_modules/framework7/components/photo-browser/photo-browser-class.js ***! \*********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint indent: [\"off\"] */\n\n\n\n\nvar PhotoBrowser = /*#__PURE__*/function (_Framework7Class) {\n _inherits(PhotoBrowser, _Framework7Class);\n\n var _super = _createSuper(PhotoBrowser);\n\n function PhotoBrowser(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PhotoBrowser);\n\n _this = _super.call(this, params, [app]);\n\n var pb = _assertThisInitialized(_this);\n\n pb.app = app;\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.photoBrowser); // Extend defaults with modules params\n\n pb.useModulesParams(defaults);\n pb.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(pb, {\n exposed: false,\n opened: false,\n activeIndex: pb.params.swiper.initialSlide,\n url: pb.params.url,\n view: pb.params.view || app.views.main,\n swipeToClose: {\n allow: true,\n isTouched: false,\n diff: undefined,\n start: undefined,\n current: undefined,\n started: false,\n activeSlide: undefined,\n timeStart: undefined\n }\n }); // Install Modules\n\n pb.useModules(); // Init\n\n pb.init();\n return _this;\n }\n\n _createClass(PhotoBrowser, [{\n key: \"onSlideChange\",\n value: function onSlideChange(swiper) {\n var pb = this;\n pb.activeIndex = swiper.activeIndex;\n var current = swiper.activeIndex + 1;\n var total = pb.params.virtualSlides ? pb.params.photos.length : swiper.slides.length;\n\n if (swiper.params.loop) {\n total -= 2;\n current -= swiper.loopedSlides;\n if (current < 1) current = total + current;\n if (current > total) current -= total;\n }\n\n var $activeSlideEl = pb.params.virtualSlides ? swiper.$wrapperEl.find(\".swiper-slide[data-swiper-slide-index=\\\"\".concat(swiper.activeIndex, \"\\\"]\")) : swiper.slides.eq(swiper.activeIndex);\n var $previousSlideEl = pb.params.virtualSlides ? swiper.$wrapperEl.find(\".swiper-slide[data-swiper-slide-index=\\\"\".concat(swiper.previousIndex, \"\\\"]\")) : swiper.slides.eq(swiper.previousIndex);\n var $currentEl = pb.$el.find('.photo-browser-current');\n var $totalEl = pb.$el.find('.photo-browser-total');\n\n if (pb.params.type === 'page' && pb.params.navbar && $currentEl.length === 0 && pb.app.theme === 'ios') {\n var navbarEl = pb.app.navbar.getElByPage(pb.$el);\n\n if (navbarEl) {\n $currentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarEl).find('.photo-browser-current');\n $totalEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarEl).find('.photo-browser-total');\n }\n }\n\n $currentEl.text(current);\n $totalEl.text(total); // Update captions\n\n if (pb.captions.length > 0) {\n var captionIndex = swiper.params.loop ? $activeSlideEl.attr('data-swiper-slide-index') : pb.activeIndex;\n pb.$captionsContainerEl.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active');\n pb.$captionsContainerEl.find(\"[data-caption-index=\\\"\".concat(captionIndex, \"\\\"]\")).addClass('photo-browser-caption-active');\n } // Stop Video\n\n\n var previousSlideVideo = $previousSlideEl.find('video');\n\n if (previousSlideVideo.length > 0) {\n if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause();\n }\n }\n }, {\n key: \"onTouchStart\",\n value: function onTouchStart() {\n var pb = this;\n var swipeToClose = pb.swipeToClose;\n if (!swipeToClose.allow) return;\n swipeToClose.isTouched = true;\n }\n }, {\n key: \"onTouchMove\",\n value: function onTouchMove(e) {\n var pb = this;\n var swipeToClose = pb.swipeToClose;\n if (!swipeToClose.isTouched) return;\n\n if (!swipeToClose.started) {\n swipeToClose.started = true;\n swipeToClose.start = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (pb.params.virtualSlides) {\n swipeToClose.activeSlide = pb.swiper.$wrapperEl.children('.swiper-slide-active');\n } else {\n swipeToClose.activeSlide = pb.swiper.slides.eq(pb.swiper.activeIndex);\n }\n\n swipeToClose.timeStart = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n }\n\n e.preventDefault();\n swipeToClose.current = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToClose.diff = swipeToClose.start - swipeToClose.current;\n var opacity = 1 - Math.abs(swipeToClose.diff) / 300;\n var color = pb.exposed || pb.params.theme === 'dark' ? 0 : 255;\n swipeToClose.activeSlide.transform(\"translate3d(0,\".concat(-swipeToClose.diff, \"px,0)\"));\n pb.swiper.$el.css('background-color', \"rgba(\".concat(color, \", \").concat(color, \", \").concat(color, \", \").concat(opacity, \")\")).transition(0);\n }\n }, {\n key: \"onTouchEnd\",\n value: function onTouchEnd() {\n var pb = this;\n var swipeToClose = pb.swipeToClose;\n swipeToClose.isTouched = false;\n\n if (!swipeToClose.started) {\n swipeToClose.started = false;\n return;\n }\n\n swipeToClose.started = false;\n swipeToClose.allow = false;\n var diff = Math.abs(swipeToClose.diff);\n var timeDiff = new Date().getTime() - swipeToClose.timeStart;\n\n if (timeDiff < 300 && diff > 20 || timeDiff >= 300 && diff > 100) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (pb.$el) {\n if (swipeToClose.diff < 0) pb.$el.addClass('swipe-close-to-bottom');else pb.$el.addClass('swipe-close-to-top');\n }\n\n pb.emit('local::swipeToClose', pb);\n pb.close();\n swipeToClose.allow = true;\n });\n return;\n }\n\n if (diff !== 0) {\n swipeToClose.activeSlide.addClass('photo-browser-transitioning').transitionEnd(function () {\n swipeToClose.allow = true;\n swipeToClose.activeSlide.removeClass('photo-browser-transitioning');\n });\n } else {\n swipeToClose.allow = true;\n }\n\n pb.swiper.$el.transition('').css('background-color', '');\n swipeToClose.activeSlide.transform('');\n } // Render Functions\n\n }, {\n key: \"renderNavbar\",\n value: function renderNavbar() {\n var pb = this;\n if (pb.params.renderNavbar) return pb.params.renderNavbar.call(pb);\n var iconsColor = pb.params.iconsColor;\n if (!pb.params.iconsColor && pb.params.theme === 'dark') iconsColor = 'white';\n var backLinkText = (pb.app.theme === 'ios' || pb.app.theme === 'aurora') && pb.params.backLinkText ? pb.params.backLinkText : '';\n var isPopup = pb.params.type !== 'page';\n var navbarHtml = \"\\n
          \\n
          \\n \\n
          \\n \\n \").concat(pb.params.navbarOfText, \"\\n \\n
          \\n
          \\n
          \\n
          \\n \").trim();\n return navbarHtml;\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var pb = this;\n if (pb.params.renderToolbar) return pb.params.renderToolbar.call(pb);\n var iconsColor = pb.params.iconsColor;\n if (!pb.params.iconsColor && pb.params.theme === 'dark') iconsColor = 'white';\n var toolbarHtml = \"\\n
          \\n
          \\n \\n \\n \\n \\n \\n \\n
          \\n
          \\n \").trim();\n return toolbarHtml;\n }\n }, {\n key: \"renderCaption\",\n value: function renderCaption(caption, index) {\n var pb = this;\n if (pb.params.renderCaption) return pb.params.renderCaption.call(pb, caption, index);\n var captionHtml = \"\\n
          \\n \").concat(caption, \"\\n
          \\n \").trim();\n return captionHtml;\n }\n }, {\n key: \"renderObject\",\n value: function renderObject(photo, index) {\n var pb = this;\n if (pb.params.renderObject) return pb.params.renderObject.call(pb, photo, index);\n var objHtml = \"\\n
          \").concat(photo.html ? photo.html : photo, \"
          \\n \");\n return objHtml;\n }\n }, {\n key: \"renderLazyPhoto\",\n value: function renderLazyPhoto(photo, index) {\n var pb = this;\n if (pb.params.renderLazyPhoto) return pb.params.renderLazyPhoto.call(pb, photo, index);\n var photoHtml = \"\\n
          \\n
          \").concat(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(pb.app.theme, \"PreloaderContent\")] || '', \"
          \\n \\n \\n \\n
          \\n \").trim();\n return photoHtml;\n }\n }, {\n key: \"renderPhoto\",\n value: function renderPhoto(photo, index) {\n var pb = this;\n if (pb.params.renderPhoto) return pb.params.renderPhoto.call(pb, photo, index);\n var photoHtml = \"\\n
          \\n \\n \\n \\n
          \\n \").trim();\n return photoHtml;\n }\n }, {\n key: \"render\",\n value: function render() {\n var pb = this;\n if (pb.params.render) return pb.params.render.call(pb, pb.params);\n var html = \"\\n
          \\n
          \\n
          \\n \").concat(pb.params.navbar ? pb.renderNavbar() : '', \"\\n \").concat(pb.params.toolbar ? pb.renderToolbar() : '', \"\\n
          \\n \").concat(pb.params.photos.map(function (photo, index) {\n if (photo.caption) return pb.renderCaption(photo.caption, index);\n return '';\n }).join(' '), \"\\n
          \\n
          \\n
          \\n \").concat(pb.params.virtualSlides ? '' : pb.params.photos.map(function (photo, index) {\n if (photo.html || (typeof photo === 'string' || photo instanceof String) && photo.indexOf('<') >= 0 && photo.indexOf('>') >= 0) {\n return pb.renderObject(photo, index);\n }\n\n if (pb.params.swiper.lazy === true || pb.params.swiper.lazy && pb.params.swiper.lazy.enabled) {\n return pb.renderLazyPhoto(photo, index);\n }\n\n return pb.renderPhoto(photo, index);\n }).join(' '), \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n \").trim();\n return html;\n }\n }, {\n key: \"renderStandalone\",\n value: function renderStandalone() {\n var pb = this;\n if (pb.params.renderStandalone) return pb.params.renderStandalone.call(pb);\n var standaloneHtml = \"
          \".concat(pb.render(), \"
          \");\n return standaloneHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage() {\n var pb = this;\n if (pb.params.renderPage) return pb.params.renderPage.call(pb);\n var pageHtml = pb.render();\n return pageHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var pb = this;\n if (pb.params.renderPopup) return pb.params.renderPopup.call(pb);\n var popupHtml = \"
          \".concat(pb.render(), \"
          \");\n return popupHtml;\n } // Callbacks\n\n }, {\n key: \"onOpen\",\n value: function onOpen(type, el) {\n var pb = this;\n var app = pb.app;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n $el[0].f7PhotoBrowser = pb;\n pb.$el = $el;\n pb.el = $el[0];\n pb.openedIn = type;\n pb.opened = true;\n pb.$swiperContainerEl = pb.$el.find('.photo-browser-swiper-container');\n pb.$swiperWrapperEl = pb.$el.find('.photo-browser-swiper-wrapper');\n pb.slides = pb.$el.find('.photo-browser-slide');\n pb.$captionsContainerEl = pb.$el.find('.photo-browser-captions');\n pb.captions = pb.$el.find('.photo-browser-caption'); // Init Swiper\n\n var swiperParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, pb.params.swiper, {\n initialSlide: pb.activeIndex,\n on: {\n tap: function tap(e) {\n pb.emit('local::tap', e);\n },\n click: function click(e) {\n if (pb.params.exposition) {\n pb.expositionToggle();\n }\n\n pb.emit('local::click', e);\n },\n doubleTap: function doubleTap(e) {\n pb.emit('local::doubleTap', e);\n },\n slideChange: function slideChange() {\n var swiper = this;\n pb.onSlideChange(swiper);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n pb.emit.apply(pb, ['local::slideChange'].concat(args));\n },\n transitionStart: function transitionStart() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n pb.emit.apply(pb, ['local::transitionStart'].concat(args));\n },\n transitionEnd: function transitionEnd() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n pb.emit.apply(pb, ['local::transitionEnd'].concat(args));\n },\n slideChangeTransitionStart: function slideChangeTransitionStart() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n pb.emit.apply(pb, ['local::slideChangeTransitionStart'].concat(args));\n },\n slideChangeTransitionEnd: function slideChangeTransitionEnd() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n pb.emit.apply(pb, ['local::slideChangeTransitionEnd'].concat(args));\n },\n lazyImageLoad: function lazyImageLoad() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n pb.emit.apply(pb, ['local::lazyImageLoad'].concat(args));\n },\n lazyImageReady: function lazyImageReady() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var slideEl = args[0];\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).removeClass('photo-browser-slide-lazy');\n pb.emit.apply(pb, ['local::lazyImageReady'].concat(args));\n }\n }\n });\n\n if (pb.params.swipeToClose && pb.params.type !== 'page') {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiperParams.on, {\n touchStart: function touchStart(e) {\n pb.onTouchStart(e);\n pb.emit('local::touchStart', e);\n },\n touchMoveOpposite: function touchMoveOpposite(e) {\n pb.onTouchMove(e);\n pb.emit('local::touchMoveOpposite', e);\n },\n touchEnd: function touchEnd(e) {\n pb.onTouchEnd(e);\n pb.emit('local::touchEnd', e);\n }\n });\n }\n\n if (pb.params.virtualSlides) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiperParams, {\n virtual: {\n slides: pb.params.photos,\n renderSlide: function renderSlide(photo, index) {\n if (photo.html || (typeof photo === 'string' || photo instanceof String) && photo.indexOf('<') >= 0 && photo.indexOf('>') >= 0) {\n return pb.renderObject(photo, index);\n }\n\n if (pb.params.swiper.lazy === true || pb.params.swiper.lazy && pb.params.swiper.lazy.enabled) {\n return pb.renderLazyPhoto(photo, index);\n }\n\n return pb.renderPhoto(photo, index);\n }\n }\n });\n }\n\n pb.swiper = app.swiper.create(pb.$swiperContainerEl, swiperParams);\n\n if (pb.activeIndex === 0) {\n pb.onSlideChange(pb.swiper);\n }\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:open');\n }\n\n pb.emit('local::open photoBrowserOpen', pb);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var pb = this;\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:opened');\n }\n\n pb.emit('local::opened photoBrowserOpened', pb);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var pb = this;\n if (pb.destroyed) return; // Destroy Swiper\n\n if (pb.swiper && pb.swiper.destroy) {\n pb.swiper.destroy(true, false);\n pb.swiper = null;\n delete pb.swiper;\n }\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:close');\n }\n\n pb.emit('local::close photoBrowserClose', pb);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var pb = this;\n if (pb.destroyed) return;\n pb.opened = false;\n pb.$el = null;\n pb.el = null;\n delete pb.$el;\n delete pb.el;\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:closed');\n }\n\n pb.emit('local::closed photoBrowserClosed', pb);\n } // Open\n\n }, {\n key: \"openPage\",\n value: function openPage() {\n var pb = this;\n if (pb.opened) return pb;\n var pageHtml = pb.renderPage();\n pb.view.router.navigate({\n url: pb.url,\n route: {\n content: pageHtml,\n path: pb.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n pb.view.$el.addClass(\"with-photo-browser-page with-photo-browser-page-\".concat(pb.params.theme));\n pb.onOpen('page', page.el);\n },\n pageAfterIn: function pageAfterIn(e, page) {\n pb.onOpened('page', page.el);\n },\n pageBeforeOut: function pageBeforeOut(e, page) {\n pb.view.$el.removeClass(\"with-photo-browser-page with-photo-browser-page-exposed with-photo-browser-page-\".concat(pb.params.theme));\n pb.onClose('page', page.el);\n },\n pageAfterOut: function pageAfterOut(e, page) {\n pb.onClosed('page', page.el);\n }\n }\n }\n });\n return pb;\n }\n }, {\n key: \"openStandalone\",\n value: function openStandalone() {\n var pb = this;\n if (pb.opened) return pb;\n var standaloneHtml = pb.renderStandalone();\n var popupParams = {\n backdrop: false,\n content: standaloneHtml,\n on: {\n popupOpen: function popupOpen(popup) {\n pb.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n pb.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n pb.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n pb.onClosed('popup', popup.el);\n }\n }\n };\n\n if (pb.params.routableModals) {\n pb.view.router.navigate({\n url: pb.url,\n route: {\n path: pb.url,\n popup: popupParams\n }\n });\n } else {\n pb.modal = pb.app.popup.create(popupParams).open();\n }\n\n return pb;\n }\n }, {\n key: \"openPopup\",\n value: function openPopup() {\n var pb = this;\n if (pb.opened) return pb;\n var popupHtml = pb.renderPopup();\n var popupParams = {\n content: popupHtml,\n on: {\n popupOpen: function popupOpen(popup) {\n pb.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n pb.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n pb.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n pb.onClosed('popup', popup.el);\n }\n }\n };\n\n if (pb.params.routableModals) {\n pb.view.router.navigate({\n url: pb.url,\n route: {\n path: pb.url,\n popup: popupParams\n }\n });\n } else {\n pb.modal = pb.app.popup.create(popupParams).open();\n }\n\n return pb;\n } // Exposition\n\n }, {\n key: \"expositionEnable\",\n value: function expositionEnable() {\n var pb = this;\n\n if (pb.params.type === 'page') {\n pb.view.$el.addClass('with-photo-browser-page-exposed');\n }\n\n if (pb.$el) pb.$el.addClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.$captionsContainerEl.addClass('photo-browser-captions-exposed');\n pb.exposed = true;\n return pb;\n }\n }, {\n key: \"expositionDisable\",\n value: function expositionDisable() {\n var pb = this;\n\n if (pb.params.type === 'page') {\n pb.view.$el.removeClass('with-photo-browser-page-exposed');\n }\n\n if (pb.$el) pb.$el.removeClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.$captionsContainerEl.removeClass('photo-browser-captions-exposed');\n pb.exposed = false;\n return pb;\n }\n }, {\n key: \"expositionToggle\",\n value: function expositionToggle() {\n var pb = this;\n\n if (pb.params.type === 'page') {\n pb.view.$el.toggleClass('with-photo-browser-page-exposed');\n }\n\n if (pb.$el) pb.$el.toggleClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.$captionsContainerEl.toggleClass('photo-browser-captions-exposed');\n pb.exposed = !pb.exposed;\n return pb;\n }\n }, {\n key: \"open\",\n value: function open(index) {\n var pb = this;\n var type = pb.params.type;\n\n if (pb.opened) {\n if (pb.swiper && typeof index !== 'undefined') {\n pb.swiper.slideTo(parseInt(index, 10));\n }\n\n return pb;\n }\n\n if (typeof index !== 'undefined') {\n pb.activeIndex = index;\n }\n\n if (type === 'standalone') {\n pb.openStandalone();\n }\n\n if (type === 'page') {\n pb.openPage();\n }\n\n if (type === 'popup') {\n pb.openPopup();\n }\n\n return pb;\n }\n }, {\n key: \"close\",\n value: function close() {\n var pb = this;\n if (!pb.opened) return pb;\n\n if (pb.params.routableModals || pb.openedIn === 'page') {\n if (pb.view) pb.view.router.back();\n } else {\n pb.modal.once('modalClosed', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (pb.destroyed) return;\n pb.modal.destroy();\n delete pb.modal;\n });\n });\n pb.modal.close();\n }\n\n return pb;\n } // eslint-disable-next-line\n\n }, {\n key: \"init\",\n value: function init() {}\n }, {\n key: \"destroy\",\n value: function destroy() {\n var pb = this;\n pb.emit('local::beforeDestroy photoBrowserBeforeDestroy', pb);\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:beforedestroy');\n pb.$el[0].f7PhotoBrowser = null;\n delete pb.$el[0].f7PhotoBrowser;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(pb);\n pb.destroyed = true;\n pb = null;\n }\n }]);\n\n return PhotoBrowser;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PhotoBrowser);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/photo-browser/photo-browser-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/photo-browser/photo-browser.js": /*!***************************************************************************!*\ !*** ./node_modules/framework7/components/photo-browser/photo-browser.js ***! \***************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _photo_browser_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./photo-browser-class */ \"./node_modules/framework7/components/photo-browser/photo-browser-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'photoBrowser',\n params: {\n photoBrowser: {\n photos: [],\n exposition: true,\n expositionHideCaptions: false,\n type: 'standalone',\n navbar: true,\n toolbar: true,\n theme: 'light',\n captionsTheme: undefined,\n iconsColor: undefined,\n swipeToClose: true,\n backLinkText: 'Close',\n navbarOfText: 'of',\n view: undefined,\n url: 'photos/',\n routableModals: true,\n virtualSlides: true,\n renderNavbar: undefined,\n renderToolbar: undefined,\n renderCaption: undefined,\n renderObject: undefined,\n renderLazyPhoto: undefined,\n renderPhoto: undefined,\n renderPage: undefined,\n renderPopup: undefined,\n renderStandalone: undefined,\n swiper: {\n initialSlide: 0,\n spaceBetween: 20,\n speed: 300,\n loop: false,\n preloadImages: true,\n navigation: {\n nextEl: '.photo-browser-next',\n prevEl: '.photo-browser-prev'\n },\n zoom: {\n enabled: true,\n maxRatio: 3,\n minRatio: 1\n },\n lazy: {\n enabled: true\n }\n }\n }\n },\n create: function create() {\n var app = this;\n app.photoBrowser = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.photo-browser',\n constructor: _photo_browser_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n app: app,\n domProp: 'f7PhotoBrowser'\n });\n },\n static: {\n PhotoBrowser: _photo_browser_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/photo-browser/photo-browser.js?"); /***/ }), /***/ "./node_modules/framework7/components/picker/picker-class.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/picker/picker-class.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _picker_column__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./picker-column */ \"./node_modules/framework7/components/picker/picker-column.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar Picker = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Picker, _Framework7Class);\n\n var _super = _createSuper(Picker);\n\n function Picker(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Picker);\n\n _this = _super.call(this, params, [app]);\n\n var picker = _assertThisInitialized(_this);\n\n picker.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, app.params.picker, params);\n var $containerEl;\n\n if (picker.params.containerEl) {\n $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(picker.params.containerEl);\n if ($containerEl.length === 0) return _possibleConstructorReturn(_this, picker);\n }\n\n var $inputEl;\n\n if (picker.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(picker.params.inputEl);\n }\n\n var view;\n\n if ($inputEl) {\n view = $inputEl.parents('.view').length && $inputEl.parents('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(picker, {\n app: app,\n $containerEl: $containerEl,\n containerEl: $containerEl && $containerEl[0],\n inline: $containerEl && $containerEl.length > 0,\n needsOriginFix: app.device.ios || ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].navigator.userAgent.toLowerCase().indexOf('safari') >= 0 && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].navigator.userAgent.toLowerCase().indexOf('chrome') < 0 && !app.device.android,\n cols: [],\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n initialized: false,\n opened: false,\n url: picker.params.url,\n view: view\n });\n\n function onResize() {\n picker.resizeCols();\n }\n\n function onInputClick() {\n picker.open();\n }\n\n function onInputFocus(e) {\n e.preventDefault();\n }\n\n function onHtmlClick(e) {\n if (picker.destroyed || !picker.params) return;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if (picker.isPopover()) return;\n if (!picker.opened || picker.closing) return;\n if ($targetEl.closest('[class*=\"backdrop\"]').length) return;\n\n if ($inputEl && $inputEl.length > 0) {\n if ($targetEl[0] !== $inputEl[0] && $targetEl.closest('.sheet-modal').length === 0) {\n picker.close();\n }\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sheet-modal').length === 0) {\n picker.close();\n }\n } // Events\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(picker, {\n attachResizeEvent: function attachResizeEvent() {\n app.on('resize', onResize);\n },\n detachResizeEvent: function detachResizeEvent() {\n app.off('resize', onResize);\n },\n attachInputEvents: function attachInputEvents() {\n picker.$inputEl.on('click', onInputClick);\n\n if (picker.params.inputReadOnly) {\n picker.$inputEl.on('focus mousedown', onInputFocus);\n }\n },\n detachInputEvents: function detachInputEvents() {\n picker.$inputEl.off('click', onInputClick);\n\n if (picker.params.inputReadOnly) {\n picker.$inputEl.off('focus mousedown', onInputFocus);\n }\n },\n attachHtmlEvents: function attachHtmlEvents() {\n app.on('click', onHtmlClick);\n },\n detachHtmlEvents: function detachHtmlEvents() {\n app.off('click', onHtmlClick);\n }\n });\n picker.init();\n return _possibleConstructorReturn(_this, picker);\n }\n\n _createClass(Picker, [{\n key: \"initInput\",\n value: function initInput() {\n var picker = this;\n if (!picker.$inputEl) return;\n if (picker.params.inputReadOnly) picker.$inputEl.prop('readOnly', true);\n }\n }, {\n key: \"resizeCols\",\n value: function resizeCols() {\n var picker = this;\n if (!picker.opened) return;\n\n for (var i = 0; i < picker.cols.length; i += 1) {\n if (!picker.cols[i].divider) {\n picker.cols[i].calcSize();\n picker.cols[i].setValue(picker.cols[i].value, 0, false);\n }\n }\n }\n }, {\n key: \"isPopover\",\n value: function isPopover() {\n var picker = this;\n var app = picker.app,\n modal = picker.modal,\n params = picker.params;\n if (params.openIn === 'sheet') return false;\n if (modal && modal.type !== 'popover') return false;\n\n if (!picker.inline && picker.inputEl) {\n if (params.openIn === 'popover') return true;\n\n if (app.device.ios) {\n return !!app.device.ipad;\n }\n\n if (app.width >= 768) {\n return true;\n }\n\n if (app.device.desktop && app.theme === 'aurora') {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue() {\n var picker = this;\n var value = picker.value,\n displayValue = picker.displayValue;\n\n if (picker.params.formatValue) {\n return picker.params.formatValue.call(picker, value, displayValue);\n }\n\n return value.join(' ');\n }\n }, {\n key: \"setValue\",\n value: function setValue(values, transition) {\n var picker = this;\n var valueIndex = 0;\n\n if (picker.cols.length === 0) {\n picker.value = values;\n picker.updateValue(values);\n return;\n }\n\n for (var i = 0; i < picker.cols.length; i += 1) {\n if (picker.cols[i] && !picker.cols[i].divider) {\n picker.cols[i].setValue(values[valueIndex], transition);\n valueIndex += 1;\n }\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var picker = this;\n return picker.value;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue(forceValues) {\n var picker = this;\n var newValue = forceValues || [];\n var newDisplayValue = [];\n var column;\n\n if (picker.cols.length === 0) {\n var noDividerColumns = picker.params.cols.filter(function (c) {\n return !c.divider;\n });\n\n for (var i = 0; i < noDividerColumns.length; i += 1) {\n column = noDividerColumns[i];\n\n if (column.displayValues !== undefined && column.values !== undefined && column.values.indexOf(newValue[i]) !== -1) {\n newDisplayValue.push(column.displayValues[column.values.indexOf(newValue[i])]);\n } else {\n newDisplayValue.push(newValue[i]);\n }\n }\n } else {\n for (var _i = 0; _i < picker.cols.length; _i += 1) {\n if (!picker.cols[_i].divider) {\n newValue.push(picker.cols[_i].value);\n newDisplayValue.push(picker.cols[_i].displayValue);\n }\n }\n }\n\n if (newValue.indexOf(undefined) >= 0) {\n return;\n }\n\n picker.value = newValue;\n picker.displayValue = newDisplayValue;\n picker.emit('local::change pickerChange', picker, picker.value, picker.displayValue);\n\n if (picker.inputEl) {\n picker.$inputEl.val(picker.formatValue());\n picker.$inputEl.trigger('change');\n }\n }\n }, {\n key: \"initColumn\",\n value: function initColumn(colEl, updateItems) {\n var picker = this;\n _picker_column__WEBPACK_IMPORTED_MODULE_4__[\"default\"].call(picker, colEl, updateItems);\n } // eslint-disable-next-line\n\n }, {\n key: \"destroyColumn\",\n value: function destroyColumn(colEl) {\n var picker = this;\n var $colEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(colEl);\n var index = $colEl.index();\n\n if (picker.cols[index] && picker.cols[index].destroy) {\n picker.cols[index].destroy();\n }\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var picker = this;\n if (picker.params.renderToolbar) return picker.params.renderToolbar.call(picker, picker);\n return \"\\n \\n \").trim();\n } // eslint-disable-next-line\n\n }, {\n key: \"renderColumn\",\n value: function renderColumn(col, onlyItems) {\n var colClasses = \"picker-column \".concat(col.textAlign ? \"picker-column-\".concat(col.textAlign) : '', \" \").concat(col.cssClass || '');\n var columnHtml;\n var columnItemsHtml;\n\n if (col.divider) {\n columnHtml = \"\\n
          \").concat(col.content, \"
          \\n \");\n } else {\n columnItemsHtml = col.values.map(function (value, index) {\n return \"\\n
          \\n \").concat(col.displayValues ? col.displayValues[index] : value, \"\\n
          \\n \");\n }).join('');\n columnHtml = \"\\n
          \\n
          \").concat(columnItemsHtml, \"
          \\n
          \\n \");\n }\n\n return onlyItems ? columnItemsHtml.trim() : columnHtml.trim();\n }\n }, {\n key: \"renderInline\",\n value: function renderInline() {\n var picker = this;\n var _picker$params = picker.params,\n rotateEffect = _picker$params.rotateEffect,\n cssClass = _picker$params.cssClass,\n toolbar = _picker$params.toolbar;\n var inlineHtml = \"\\n
          \\n \").concat(toolbar ? picker.renderToolbar() : '', \"\\n
          \\n \").concat(picker.cols.map(function (col) {\n return picker.renderColumn(col);\n }).join(''), \"\\n
          \\n
          \\n
          \\n \").trim();\n return inlineHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var picker = this;\n var _picker$params2 = picker.params,\n rotateEffect = _picker$params2.rotateEffect,\n cssClass = _picker$params2.cssClass,\n toolbar = _picker$params2.toolbar;\n var sheetHtml = \"\\n
          \\n \").concat(toolbar ? picker.renderToolbar() : '', \"\\n
          \\n \").concat(picker.cols.map(function (col) {\n return picker.renderColumn(col);\n }).join(''), \"\\n
          \\n
          \\n
          \\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var picker = this;\n var _picker$params3 = picker.params,\n rotateEffect = _picker$params3.rotateEffect,\n cssClass = _picker$params3.cssClass,\n toolbar = _picker$params3.toolbar;\n var popoverHtml = \"\\n
          \\n
          \\n
          \\n \").concat(toolbar ? picker.renderToolbar() : '', \"\\n
          \\n \").concat(picker.cols.map(function (col) {\n return picker.renderColumn(col);\n }).join(''), \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n \").trim();\n return popoverHtml;\n }\n }, {\n key: \"render\",\n value: function render() {\n var picker = this;\n if (picker.params.render) return picker.params.render.call(picker);\n\n if (!picker.inline) {\n if (picker.isPopover()) return picker.renderPopover();\n return picker.renderSheet();\n }\n\n return picker.renderInline();\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var picker = this;\n var initialized = picker.initialized,\n $el = picker.$el,\n app = picker.app,\n $inputEl = picker.$inputEl,\n inline = picker.inline,\n value = picker.value,\n params = picker.params;\n picker.opened = true;\n picker.closing = false;\n picker.opening = true; // Init main events\n\n picker.attachResizeEvent(); // Init cols\n\n $el.find('.picker-column').each(function (index, colEl) {\n var updateItems = true;\n\n if (!initialized && params.value || initialized && value) {\n updateItems = false;\n }\n\n picker.initColumn(colEl, updateItems);\n }); // Set value\n\n if (!initialized) {\n if (value) picker.setValue(value, 0);else if (params.value) {\n picker.setValue(params.value, 0);\n }\n } else if (value) {\n picker.setValue(value, 0);\n } // Extra focus\n\n\n if (!inline && $inputEl && $inputEl.length && app.theme === 'md') {\n $inputEl.trigger('focus');\n }\n\n picker.initialized = true; // Trigger events\n\n if ($el) {\n $el.trigger('picker:open', picker);\n }\n\n if ($inputEl) {\n $inputEl.trigger('picker:open', picker);\n }\n\n picker.emit('local::open pickerOpen', picker);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var picker = this;\n picker.opening = false;\n\n if (picker.$el) {\n picker.$el.trigger('picker:opened', picker);\n }\n\n if (picker.$inputEl) {\n picker.$inputEl.trigger('picker:opened', picker);\n }\n\n picker.emit('local::opened pickerOpened', picker);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var picker = this;\n var app = picker.app;\n picker.opening = false;\n picker.closing = true; // Detach events\n\n picker.detachResizeEvent();\n picker.cols.forEach(function (col) {\n if (col.destroy) col.destroy();\n });\n\n if (picker.$inputEl && app.theme === 'md') {\n picker.$inputEl.trigger('blur');\n }\n\n if (picker.$el) {\n picker.$el.trigger('picker:close', picker);\n }\n\n if (picker.$inputEl) {\n picker.$inputEl.trigger('picker:close', picker);\n }\n\n picker.emit('local::close pickerClose', picker);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var picker = this;\n picker.opened = false;\n picker.closing = false;\n\n if (!picker.inline) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (picker.modal && picker.modal.el && picker.modal.destroy) {\n if (!picker.params.routableModals) {\n picker.modal.destroy();\n }\n }\n\n delete picker.modal;\n });\n }\n\n if (picker.$el) {\n picker.$el.trigger('picker:closed', picker);\n }\n\n if (picker.$inputEl) {\n picker.$inputEl.trigger('picker:closed', picker);\n }\n\n picker.emit('local::closed pickerClosed', picker);\n }\n }, {\n key: \"open\",\n value: function open() {\n var picker = this;\n var app = picker.app,\n opened = picker.opened,\n inline = picker.inline,\n $inputEl = picker.$inputEl;\n if (opened) return;\n\n if (picker.cols.length === 0 && picker.params.cols.length) {\n picker.params.cols.forEach(function (col) {\n picker.cols.push(col);\n });\n }\n\n if (inline) {\n picker.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(picker.render());\n picker.$el[0].f7Picker = picker;\n picker.$containerEl.append(picker.$el);\n picker.onOpen();\n picker.onOpened();\n return;\n }\n\n var isPopover = picker.isPopover();\n var modalType = isPopover ? 'popover' : 'sheet';\n var modalParams = {\n targetEl: $inputEl,\n scrollToEl: picker.params.scrollToInput ? $inputEl : undefined,\n content: picker.render(),\n backdrop: isPopover,\n on: {\n open: function open() {\n var modal = this;\n picker.modal = modal;\n picker.$el = isPopover ? modal.$el.find('.picker') : modal.$el;\n picker.$el[0].f7Picker = picker;\n picker.onOpen();\n },\n opened: function opened() {\n picker.onOpened();\n },\n close: function close() {\n picker.onClose();\n },\n closed: function closed() {\n picker.onClosed();\n }\n }\n };\n\n if (picker.params.routableModals) {\n picker.view.router.navigate({\n url: picker.url,\n route: _defineProperty({\n path: picker.url\n }, modalType, modalParams)\n });\n } else {\n picker.modal = app[modalType].create(modalParams);\n picker.modal.open();\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n var picker = this;\n var opened = picker.opened,\n inline = picker.inline;\n if (!opened) return;\n\n if (inline) {\n picker.onClose();\n picker.onClosed();\n return;\n }\n\n if (picker.params.routableModals) {\n picker.view.router.back();\n } else {\n picker.modal.close();\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var picker = this;\n picker.initInput();\n\n if (picker.inline) {\n picker.open();\n picker.emit('local::init pickerInit', picker);\n return;\n }\n\n if (!picker.initialized && picker.params.value) {\n picker.setValue(picker.params.value);\n } // Attach input Events\n\n\n if (picker.$inputEl) {\n picker.attachInputEvents();\n }\n\n if (picker.params.closeByOutsideClick) {\n picker.attachHtmlEvents();\n }\n\n picker.emit('local::init pickerInit', picker);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var picker = this;\n if (picker.destroyed) return;\n var $el = picker.$el;\n picker.emit('local::beforeDestroy pickerBeforeDestroy', picker);\n if ($el) $el.trigger('picker:beforedestroy', picker);\n picker.close(); // Detach Events\n\n if (picker.$inputEl) {\n picker.detachInputEvents();\n }\n\n if (picker.params.closeByOutsideClick) {\n picker.detachHtmlEvents();\n }\n\n if ($el && $el.length) delete picker.$el[0].f7Picker;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(picker);\n picker.destroyed = true;\n }\n }]);\n\n return Picker;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Picker);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/picker/picker-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/picker/picker-column.js": /*!********************************************************************!*\ !*** ./node_modules/framework7/components/picker/picker-column.js ***! \********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (colEl, updateItems) {\n var picker = this;\n var app = picker.app;\n var $colEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(colEl);\n var colIndex = $colEl.index();\n var col = picker.cols[colIndex];\n if (col.divider) return;\n col.$el = $colEl;\n col.el = $colEl[0];\n col.$itemsEl = col.$el.find('.picker-items');\n col.items = col.$itemsEl.find('.picker-item');\n var itemHeight;\n var itemsHeight;\n var minTranslate;\n var maxTranslate;\n var animationFrameId;\n\n function updateDuringScroll() {\n animationFrameId = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].requestAnimationFrame(function () {\n col.updateItems(undefined, undefined, 0);\n updateDuringScroll();\n });\n }\n\n col.replaceValues = function replaceColValues(values, displayValues) {\n col.detachEvents();\n col.values = values;\n col.displayValues = displayValues;\n col.$itemsEl.html(picker.renderColumn(col, true));\n col.items = col.$itemsEl.find('.picker-item');\n col.calcSize();\n col.setValue(col.values[0], 0, true);\n col.attachEvents();\n };\n\n col.calcSize = function calcColSize() {\n if (picker.params.rotateEffect) {\n col.$el.removeClass('picker-column-absolute');\n if (!col.width) col.$el.css({\n width: ''\n });\n }\n\n var colWidth = 0;\n var colHeight = col.$el[0].offsetHeight;\n itemHeight = col.items[0].offsetHeight;\n itemsHeight = itemHeight * col.items.length;\n minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2;\n maxTranslate = colHeight / 2 - itemHeight / 2;\n\n if (col.width) {\n colWidth = col.width;\n if (parseInt(colWidth, 10) === colWidth) colWidth += 'px';\n col.$el.css({\n width: colWidth\n });\n }\n\n if (picker.params.rotateEffect) {\n if (!col.width) {\n col.items.each(function (index, itemEl) {\n var item = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).children('span');\n colWidth = Math.max(colWidth, item[0].offsetWidth);\n });\n col.$el.css({\n width: \"\".concat(colWidth + 2, \"px\")\n });\n }\n\n col.$el.addClass('picker-column-absolute');\n }\n };\n\n col.setValue = function setColValue(newValue) {\n var transition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var valueCallbacks = arguments.length > 2 ? arguments[2] : undefined;\n var newActiveIndex = col.$itemsEl.find(\".picker-item[data-picker-value=\\\"\".concat(newValue, \"\\\"]\")).index();\n\n if (typeof newActiveIndex === 'undefined' || newActiveIndex === -1) {\n return;\n }\n\n var newTranslate = -newActiveIndex * itemHeight + maxTranslate; // Update wrapper\n\n col.$itemsEl.transition(transition);\n col.$itemsEl.transform(\"translate3d(0,\".concat(newTranslate, \"px,0)\")); // Watch items\n\n if (picker.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n col.$itemsEl.transitionEnd(function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n });\n updateDuringScroll();\n } // Update items\n\n\n col.updateItems(newActiveIndex, newTranslate, transition, valueCallbacks);\n };\n\n col.updateItems = function updateColItems(activeIndex, translate, transition, valueCallbacks) {\n if (typeof translate === 'undefined') {\n // eslint-disable-next-line\n translate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n } // eslint-disable-next-line\n\n\n if (typeof activeIndex === 'undefined') activeIndex = -Math.round((translate - maxTranslate) / itemHeight); // eslint-disable-next-line\n\n if (activeIndex < 0) activeIndex = 0; // eslint-disable-next-line\n\n if (activeIndex >= col.items.length) activeIndex = col.items.length - 1;\n var previousActiveIndex = col.activeIndex;\n col.activeIndex = activeIndex;\n col.$itemsEl.find('.picker-item-selected').removeClass('picker-item-selected');\n col.items.transition(transition);\n var selectedItem = col.items.eq(activeIndex).addClass('picker-item-selected').transform(''); // Set 3D rotate effect\n\n if (picker.params.rotateEffect) {\n col.items.each(function (index, itemEl) {\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl);\n var itemOffsetTop = $itemEl.index() * itemHeight;\n var translateOffset = maxTranslate - translate;\n var itemOffset = itemOffsetTop - translateOffset;\n var percentage = itemOffset / itemHeight;\n var itemsFit = Math.ceil(col.height / itemHeight / 2) + 1;\n var angle = -18 * percentage;\n if (angle > 180) angle = 180;\n if (angle < -180) angle = -180;\n\n if (Math.abs(percentage) > itemsFit) {\n $itemEl.addClass('picker-item-far');\n } else {\n $itemEl.removeClass('picker-item-far');\n }\n\n $itemEl.transform(\"translate3d(0, \".concat(-translate + maxTranslate, \"px, \").concat(picker.needsOriginFix ? -110 : 0, \"px) rotateX(\").concat(angle, \"deg)\"));\n });\n }\n\n if (valueCallbacks || typeof valueCallbacks === 'undefined') {\n // Update values\n col.value = selectedItem.attr('data-picker-value');\n col.displayValue = col.displayValues ? col.displayValues[activeIndex] : col.value; // On change callback\n\n if (previousActiveIndex !== activeIndex) {\n if (col.onChange) {\n col.onChange(picker, col.value, col.displayValue);\n }\n\n picker.updateValue();\n }\n }\n };\n\n var allowItemClick = true;\n var isTouched;\n var isMoved;\n var touchStartY;\n var touchCurrentY;\n var touchStartTime;\n var touchEndTime;\n var startTranslate;\n var returnTo;\n var currentTranslate;\n var prevTranslate;\n var velocityTranslate;\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n e.preventDefault();\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n touchStartTime = new Date().getTime();\n allowItemClick = true;\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n currentTranslate = startTranslate;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n e.preventDefault();\n allowItemClick = false;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!isMoved) {\n // First move\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n isMoved = true;\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n currentTranslate = startTranslate;\n col.$itemsEl.transition(0);\n }\n\n var diff = touchCurrentY - touchStartY;\n currentTranslate = startTranslate + diff;\n returnTo = undefined; // Normalize translate\n\n if (currentTranslate < minTranslate) {\n currentTranslate = minTranslate - Math.pow(minTranslate - currentTranslate, 0.8);\n returnTo = 'min';\n }\n\n if (currentTranslate > maxTranslate) {\n currentTranslate = maxTranslate + Math.pow(currentTranslate - maxTranslate, 0.8);\n returnTo = 'max';\n } // Transform wrapper\n\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(currentTranslate, \"px,0)\")); // Update items\n\n col.updateItems(undefined, currentTranslate, 0, picker.params.updateValuesOnTouchmove); // Calc velocity\n\n velocityTranslate = currentTranslate - prevTranslate || currentTranslate;\n prevTranslate = currentTranslate;\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n col.$itemsEl.transition('');\n\n if (returnTo) {\n if (returnTo === 'min') {\n col.$itemsEl.transform(\"translate3d(0,\".concat(minTranslate, \"px,0)\"));\n } else {\n col.$itemsEl.transform(\"translate3d(0,\".concat(maxTranslate, \"px,0)\"));\n }\n }\n\n touchEndTime = new Date().getTime();\n var newTranslate;\n\n if (touchEndTime - touchStartTime > 300) {\n newTranslate = currentTranslate;\n } else {\n newTranslate = currentTranslate + velocityTranslate * picker.params.momentumRatio;\n }\n\n newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); // Active Index\n\n var activeIndex = Math.round(Math.abs((newTranslate - maxTranslate) / itemHeight)); // Normalize translate\n\n if (!picker.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; // Transform wrapper\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(parseInt(newTranslate, 10), \"px,0)\")); // Update items\n\n col.updateItems(activeIndex, newTranslate, '', true); // Watch items\n\n if (picker.params.updateValuesOnMomentum) {\n updateDuringScroll();\n col.$itemsEl.transitionEnd(function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n });\n } // Allow click\n\n\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n\n var mousewheelTimeout;\n\n function handleMouseWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n if (Math.abs(deltaX) > Math.abs(deltaY)) return;\n clearTimeout(mousewheelTimeout);\n e.preventDefault();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n col.$itemsEl.transition(0);\n currentTranslate = startTranslate - deltaY;\n returnTo = undefined; // Normalize translate\n\n if (currentTranslate < minTranslate) {\n currentTranslate = minTranslate;\n returnTo = 'min';\n }\n\n if (currentTranslate > maxTranslate) {\n currentTranslate = maxTranslate;\n returnTo = 'max';\n } // Transform wrapper\n\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(currentTranslate, \"px,0)\")); // Update items\n\n col.updateItems(undefined, currentTranslate, 0, picker.params.updateValuesOnMousewheel); // On end\n\n mousewheelTimeout = setTimeout(function () {\n col.$itemsEl.transition('');\n\n if (returnTo) {\n if (returnTo === 'min') {\n col.$itemsEl.transform(\"translate3d(0,\".concat(minTranslate, \"px,0)\"));\n } else {\n col.$itemsEl.transform(\"translate3d(0,\".concat(maxTranslate, \"px,0)\"));\n }\n }\n\n touchEndTime = new Date().getTime();\n var newTranslate = currentTranslate;\n newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); // Active Index\n\n var activeIndex = Math.round(Math.abs((newTranslate - maxTranslate) / itemHeight)); // Normalize translate\n\n if (!picker.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; // Transform wrapper\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(parseInt(newTranslate, 10), \"px,0)\")); // Update items\n\n col.updateItems(activeIndex, newTranslate, '', true);\n }, 200);\n }\n\n function handleClick() {\n if (!allowItemClick) return;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n var value = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).attr('data-picker-value');\n col.setValue(value);\n }\n\n var activeListener = app.support.passiveListener ? {\n passive: false,\n capture: false\n } : false;\n\n col.attachEvents = function attachColEvents() {\n col.$el.on(app.touchEvents.start, handleTouchStart, activeListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n\n if (picker.params.mousewheel) {\n col.$el.on('wheel', handleMouseWheel);\n }\n\n col.items.on('click', handleClick);\n };\n\n col.detachEvents = function detachColEvents() {\n col.$el.off(app.touchEvents.start, handleTouchStart, activeListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n\n if (picker.params.mousewheel) {\n col.$el.off('wheel', handleMouseWheel);\n }\n\n col.items.off('click', handleClick);\n };\n\n col.init = function initCol() {\n col.calcSize();\n col.$itemsEl.transform(\"translate3d(0,\".concat(maxTranslate, \"px,0)\")).transition(0);\n if (colIndex === 0) col.$el.addClass('picker-column-first');\n if (colIndex === picker.cols.length - 1) col.$el.addClass('picker-column-last'); // Update items on init\n\n if (updateItems) col.updateItems(0, maxTranslate, 0);\n col.attachEvents();\n };\n\n col.destroy = function destroyCol() {\n col.detachEvents();\n };\n\n col.init();\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/picker/picker-column.js?"); /***/ }), /***/ "./node_modules/framework7/components/picker/picker.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/picker/picker.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _picker_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./picker-class */ \"./node_modules/framework7/components/picker/picker-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'picker',\n static: {\n Picker: _picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.picker = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.picker',\n constructor: _picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Picker'\n });\n\n app.picker.close = function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.picker';\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n var picker = $el[0].f7Picker;\n if (!picker || picker && !picker.opened) return;\n picker.close();\n };\n },\n params: {\n picker: {\n // Picker settings\n updateValuesOnMomentum: false,\n updateValuesOnTouchmove: true,\n updateValuesOnMousewheel: true,\n mousewheel: true,\n rotateEffect: false,\n momentumRatio: 7,\n freeMode: false,\n cols: [],\n // Common opener settings\n containerEl: null,\n openIn: 'auto',\n // or 'popover' or 'sheet'\n formatValue: null,\n inputEl: null,\n inputReadOnly: true,\n closeByOutsideClick: true,\n scrollToInput: true,\n toolbar: true,\n toolbarCloseText: 'Done',\n cssClass: null,\n routableModals: true,\n view: null,\n url: 'select/',\n // Render functions\n renderToolbar: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/picker/picker.js?"); /***/ }), /***/ "./node_modules/framework7/components/popover/popover-class.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/popover/popover-class.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Popover = /*#__PURE__*/function (_Modal) {\n _inherits(Popover, _Modal);\n\n var _super = _createSuper(Popover);\n\n function Popover(app, params) {\n var _this;\n\n _classCallCheck(this, Popover);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.popover, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var popover = _assertThisInitialized(_this);\n\n popover.params = extendedParams; // Find Element\n\n var $el;\n\n if (!popover.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n } // Find Target\n\n\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.targetEl).eq(0);\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, popover.destroy());\n } // Backdrop\n\n\n var $backdropEl;\n\n if (popover.params.backdrop && popover.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.backdropEl);\n } else if (popover.params.backdrop) {\n $backdropEl = app.root.children('.popover-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n app.root.append($backdropEl);\n }\n } // Find Angle\n\n\n var $angleEl;\n\n if ($el.find('.popover-angle').length === 0) {\n $angleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $el.prepend($angleEl);\n } else {\n $angleEl = $el.find('.popover-angle');\n } // Open\n\n\n var originalOpen = popover.open;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(popover, {\n app: app,\n $el: $el,\n el: $el[0],\n $targetEl: $targetEl,\n targetEl: $targetEl[0],\n $angleEl: $angleEl,\n angleEl: $angleEl[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'popover',\n open: function open() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var targetEl = args[0],\n animate = args[1];\n\n if (typeof args[0] === 'boolean') {\n animate = args[0];\n targetEl = args[1];\n }\n\n if (targetEl) {\n popover.$targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl);\n popover.targetEl = popover.$targetEl[0];\n }\n\n return originalOpen.call(popover, animate);\n }\n });\n\n function handleResize() {\n popover.resize();\n }\n\n popover.on('popoverOpen', function () {\n popover.resize();\n app.on('resize', handleResize);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(window).on('keyboardDidShow keyboardDidHide', handleResize);\n popover.on('popoverClose popoverBeforeDestroy', function () {\n app.off('resize', handleResize);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(window).off('keyboardDidShow keyboardDidHide', handleResize);\n });\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(popover.el).length === 0) {\n if (popover.params.closeByBackdropClick && popover.params.backdrop && popover.backdropEl && popover.backdropEl === target) {\n popover.close();\n } else if (popover.params.closeByOutsideClick) {\n popover.close();\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && popover.params.closeOnEscape) {\n popover.close();\n }\n }\n\n if (popover.params.closeOnEscape) {\n popover.on('popoverOpen', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n });\n popover.on('popoverClose', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n });\n }\n\n popover.on('popoverOpened', function () {\n if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n popover.on('popoverClose', function () {\n if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n $el[0].f7Modal = popover;\n return _possibleConstructorReturn(_this, popover);\n }\n\n _createClass(Popover, [{\n key: \"resize\",\n value: function resize() {\n var popover = this;\n var app = popover.app,\n $el = popover.$el,\n $targetEl = popover.$targetEl,\n $angleEl = popover.$angleEl;\n var _popover$params = popover.params,\n targetX = _popover$params.targetX,\n targetY = _popover$params.targetY;\n $el.css({\n left: '',\n top: ''\n });\n var _ref = [$el.width(), $el.height()],\n width = _ref[0],\n height = _ref[1];\n var angleSize = 0;\n var angleLeft;\n var angleTop;\n\n if (app.theme === 'ios' || app.theme === 'aurora') {\n $angleEl.removeClass('on-left on-right on-top on-bottom').css({\n left: '',\n top: ''\n });\n angleSize = $angleEl.width() / 2;\n } else {\n $el.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle').css({\n left: '',\n top: ''\n });\n }\n\n var targetWidth;\n var targetHeight;\n var targetOffsetLeft;\n var targetOffsetTop;\n var safeAreaTop = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').css('--f7-safe-area-top'), 10);\n if (Number.isNaN(safeAreaTop)) safeAreaTop = 0;\n\n if ($targetEl && $targetEl.length > 0) {\n targetWidth = $targetEl.outerWidth();\n targetHeight = $targetEl.outerHeight();\n var targetOffset = $targetEl.offset();\n targetOffsetLeft = targetOffset.left - app.left;\n targetOffsetTop = targetOffset.top - app.top;\n var targetParentPage = $targetEl.parents('.page');\n\n if (targetParentPage.length > 0) {\n targetOffsetTop -= targetParentPage[0].scrollTop;\n }\n } else if (typeof targetX !== 'undefined' && targetY !== 'undefined') {\n targetOffsetLeft = targetX;\n targetOffsetTop = targetY;\n targetWidth = popover.params.targetWidth || 0;\n targetHeight = popover.params.targetHeight || 0;\n }\n\n var left = 0,\n top = 0,\n diff = 0; // Top Position\n\n var position = app.theme === 'md' ? 'bottom' : 'top';\n\n if (app.theme === 'md') {\n if (height < app.height - targetOffsetTop - targetHeight) {\n // On bottom\n position = 'bottom';\n top = targetOffsetTop + targetHeight;\n } else if (height < targetOffsetTop - safeAreaTop) {\n // On top\n top = targetOffsetTop - height;\n position = 'top';\n } else {\n // On middle\n position = 'middle';\n top = targetHeight / 2 + targetOffsetTop - height / 2;\n }\n\n top = Math.max(8, Math.min(top, app.height - height - 8)); // Horizontal Position\n\n var hPosition;\n\n if (targetOffsetLeft < app.width / 2) {\n hPosition = 'right';\n left = position === 'middle' ? targetOffsetLeft + targetWidth : targetOffsetLeft;\n } else {\n hPosition = 'left';\n left = position === 'middle' ? targetOffsetLeft - width : targetOffsetLeft + targetWidth - width;\n }\n\n left = Math.max(8, Math.min(left, app.width - width - 8));\n $el.addClass(\"popover-on-\".concat(position, \" popover-on-\").concat(hPosition));\n } else {\n // ios and aurora\n if (height + angleSize < targetOffsetTop - safeAreaTop) {\n // On top\n top = targetOffsetTop - height - angleSize;\n } else if (height + angleSize < app.height - targetOffsetTop - targetHeight) {\n // On bottom\n position = 'bottom';\n top = targetOffsetTop + targetHeight + angleSize;\n } else {\n // On middle\n position = 'middle';\n top = targetHeight / 2 + targetOffsetTop - height / 2;\n diff = top;\n top = Math.max(5, Math.min(top, app.height - height - 5));\n diff -= top;\n } // Horizontal Position\n\n\n if (position === 'top' || position === 'bottom') {\n left = targetWidth / 2 + targetOffsetLeft - width / 2;\n diff = left;\n left = Math.max(5, Math.min(left, app.width - width - 5));\n\n if (position === 'top') {\n $angleEl.addClass('on-bottom');\n }\n\n if (position === 'bottom') {\n $angleEl.addClass('on-top');\n }\n\n diff -= left;\n angleLeft = width / 2 - angleSize + diff;\n angleLeft = Math.max(Math.min(angleLeft, width - angleSize * 2 - 13), 13);\n $angleEl.css({\n left: \"\".concat(angleLeft, \"px\")\n });\n } else if (position === 'middle') {\n left = targetOffsetLeft - width - angleSize;\n $angleEl.addClass('on-right');\n\n if (left < 5 || left + width > app.width) {\n if (left < 5) left = targetOffsetLeft + targetWidth + angleSize;\n if (left + width > app.width) left = app.width - width - 5;\n $angleEl.removeClass('on-right').addClass('on-left');\n }\n\n angleTop = height / 2 - angleSize + diff;\n angleTop = Math.max(Math.min(angleTop, height - angleSize * 2 - 13), 13);\n $angleEl.css({\n top: \"\".concat(angleTop, \"px\")\n });\n }\n } // Apply Styles\n\n\n $el.css({\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\")\n });\n }\n }]);\n\n return Popover;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popover);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popover/popover-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/popover/popover.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/popover/popover.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _popover_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popover-class */ \"./node_modules/framework7/components/popover/popover-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'popover',\n params: {\n popover: {\n backdrop: true,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeByOutsideClick: true,\n closeOnEscape: false\n }\n },\n static: {\n Popover: _popover_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.popover = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n app: app,\n constructor: _popover_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n defaultSelector: '.popover.modal-in'\n }), {\n open: function open(popoverEl, targetEl, animate) {\n var $popoverEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popoverEl);\n var popover = $popoverEl[0].f7Modal;\n if (!popover) popover = new _popover_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, {\n el: $popoverEl,\n targetEl: targetEl\n });\n return popover.open(targetEl, animate);\n }\n });\n },\n clicks: {\n '.popover-open': function openPopover($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popover.open(data.popover, $clickedEl, data.animate);\n },\n '.popover-close': function closePopover($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popover.close(data.popover, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popover/popover.js?"); /***/ }), /***/ "./node_modules/framework7/components/popup/popup-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/popup/popup-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Popup = /*#__PURE__*/function (_Modal) {\n _inherits(Popup, _Modal);\n\n var _super = _createSuper(Popup);\n\n function Popup(app, params) {\n var _this;\n\n _classCallCheck(this, Popup);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.popup, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var popup = _assertThisInitialized(_this);\n\n popup.params = extendedParams; // Find Element\n\n var $el;\n\n if (!popup.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popup.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popup.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, popup.destroy());\n }\n\n var $backdropEl;\n\n if (popup.params.backdrop && popup.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popup.params.backdropEl);\n } else if (popup.params.backdrop) {\n $backdropEl = app.root.children('.popup-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n app.root.append($backdropEl);\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(popup, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'popup'\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(popup.el).length === 0) {\n if (popup.params && popup.params.closeByBackdropClick && popup.params.backdrop && popup.backdropEl && popup.backdropEl === target) {\n var needToClose = true;\n popup.$el.nextAll('.popup.modal-in').each(function (index, popupEl) {\n var popupInstance = popupEl.f7Modal;\n if (!popupInstance) return;\n\n if (popupInstance.params.closeByBackdropClick && popupInstance.params.backdrop && popupInstance.backdropEl === popup.backdropEl) {\n needToClose = false;\n }\n });\n\n if (needToClose) {\n popup.close();\n }\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && popup.params.closeOnEscape) {\n popup.close();\n }\n }\n\n if (popup.params.closeOnEscape) {\n popup.on('popupOpen', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n });\n popup.on('popupClose', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n });\n }\n\n popup.on('popupOpened', function () {\n $el.removeClass('swipe-close-to-bottom swipe-close-to-top');\n\n if (popup.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n popup.on('popupClose', function () {\n if (popup.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n var allowSwipeToClose = true;\n var isTouched = false;\n var startTouch;\n var currentTouch;\n var isScrolling;\n var touchStartTime;\n var touchesDiff;\n var isMoved = false;\n var pageContentEl;\n var pageContentScrollTop;\n var pageContentOffsetHeight;\n var pageContentScrollHeight;\n\n function handleTouchStart(e) {\n if (isTouched || !allowSwipeToClose || !popup.params.swipeToClose) return;\n\n if (popup.params.swipeHandler && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest(popup.params.swipeHandler).length === 0) {\n return;\n }\n\n isTouched = true;\n isMoved = false;\n startTouch = {\n x: e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY\n };\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n isScrolling = undefined;\n\n if (!popup.params.swipeHandler && e.type === 'touchstart') {\n pageContentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.page-content')[0];\n }\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n currentTouch = {\n x: e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY\n };\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(currentTouch.x - startTouch.x) > Math.abs(currentTouch.y - startTouch.y));\n }\n\n if (isScrolling) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n touchesDiff = startTouch.y - currentTouch.y;\n var direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';\n $el.transition(0);\n\n if (typeof popup.params.swipeToClose === 'string' && direction !== popup.params.swipeToClose) {\n $el.transform('');\n return;\n }\n\n if (!isMoved) {\n if (pageContentEl) {\n pageContentScrollTop = pageContentEl.scrollTop;\n pageContentScrollHeight = pageContentEl.scrollHeight;\n pageContentOffsetHeight = pageContentEl.offsetHeight;\n\n if (!(pageContentScrollHeight === pageContentOffsetHeight) && !(direction === 'to-bottom' && pageContentScrollTop === 0) && !(direction === 'to-top' && pageContentScrollTop === pageContentScrollHeight - pageContentOffsetHeight)) {\n $el.transform('');\n isTouched = false;\n isMoved = false;\n return;\n }\n }\n\n isMoved = true;\n }\n\n e.preventDefault();\n $el.transition(0).transform(\"translate3d(0,\".concat(-touchesDiff, \"px,0)\"));\n }\n\n function handleTouchEnd() {\n isTouched = false;\n\n if (!isMoved) {\n return;\n }\n\n isMoved = false;\n allowSwipeToClose = false;\n $el.transition('');\n var direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';\n\n if (typeof popup.params.swipeToClose === 'string' && direction !== popup.params.swipeToClose) {\n $el.transform('');\n allowSwipeToClose = true;\n return;\n }\n\n var diff = Math.abs(touchesDiff);\n var timeDiff = new Date().getTime() - touchStartTime;\n\n if (timeDiff < 300 && diff > 20 || timeDiff >= 300 && diff > 100) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (direction === 'to-bottom') {\n $el.addClass('swipe-close-to-bottom');\n } else {\n $el.addClass('swipe-close-to-top');\n }\n\n $el.transform('');\n popup.close();\n allowSwipeToClose = true;\n });\n return;\n }\n\n allowSwipeToClose = true;\n $el.transform('');\n }\n\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n\n if (popup.params.swipeToClose) {\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n popup.once('popupDestroy', function () {\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n });\n }\n\n $el[0].f7Modal = popup;\n return _possibleConstructorReturn(_this, popup);\n }\n\n return Popup;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popup);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popup/popup-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/popup/popup.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/popup/popup.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _popup_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popup-class */ \"./node_modules/framework7/components/popup/popup-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'popup',\n params: {\n popup: {\n backdrop: true,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeOnEscape: false,\n swipeToClose: false,\n swipeHandler: null\n }\n },\n static: {\n Popup: _popup_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.popup = Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n app: app,\n constructor: _popup_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n defaultSelector: '.popup.modal-in'\n });\n },\n clicks: {\n '.popup-open': function openPopup($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popup.open(data.popup, data.animate);\n },\n '.popup-close': function closePopup($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popup.close(data.popup, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popup/popup.js?"); /***/ }), /***/ "./node_modules/framework7/components/preloader/preloader.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/preloader/preloader.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Preloader = {\n init: function init(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0 || $el.children('.preloader-inner').length > 0 || $el.children('.preloader-inner-line').length > 0) return;\n $el.append(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")]);\n },\n // Modal\n visible: false,\n show: function show() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'white';\n var app = this;\n if (Preloader.visible) return;\n var preloaderInner = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")] || '';\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-modal-preloader');\n app.root.append(\"\\n
          \\n
          \\n
          \").concat(preloaderInner, \"
          \\n
          \\n \"));\n Preloader.visible = true;\n },\n hide: function hide() {\n var app = this;\n if (!Preloader.visible) return;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-modal-preloader');\n app.root.find('.preloader-backdrop, .preloader-modal').remove();\n Preloader.visible = false;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'preloader',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n preloader: {\n init: Preloader.init.bind(app),\n show: Preloader.show.bind(app),\n hide: Preloader.hide.bind(app)\n }\n });\n },\n on: {\n photoBrowserOpen: function photoBrowserOpen(pb) {\n var app = this;\n pb.$el.find('.preloader').each(function (index, preloaderEl) {\n app.preloader.init(preloaderEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.preloader').each(function (index, preloaderEl) {\n app.preloader.init(preloaderEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.preloader').each(function (index, preloaderEl) {\n app.preloader.init(preloaderEl);\n });\n }\n },\n vnode: {\n preloader: {\n insert: function insert(vnode) {\n var app = this;\n var preloaderEl = vnode.elm;\n app.preloader.init(preloaderEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/preloader/preloader.js?"); /***/ }), /***/ "./node_modules/framework7/components/progressbar/progressbar.js": /*!***********************************************************************!*\ !*** ./node_modules/framework7/components/progressbar/progressbar.js ***! \***********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\nvar Progressbar = {\n set: function set() {\n var app = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var el = args[0],\n progress = args[1],\n duration = args[2];\n\n if (typeof args[0] === 'number') {\n progress = args[0];\n duration = args[1];\n el = app.root;\n }\n\n if (typeof progress === 'undefined' || progress === null) return el;\n if (!progress) progress = 0;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el || app.root);\n\n if ($el.length === 0) {\n return el;\n }\n\n var progressNormalized = Math.min(Math.max(progress, 0), 100);\n var $progressbarEl;\n if ($el.hasClass('progressbar')) $progressbarEl = $el.eq(0);else {\n $progressbarEl = $el.children('.progressbar');\n }\n\n if ($progressbarEl.length === 0 || $progressbarEl.hasClass('progressbar-infinite')) {\n return $progressbarEl;\n }\n\n var $progressbarLine = $progressbarEl.children('span');\n\n if ($progressbarLine.length === 0) {\n $progressbarLine = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('');\n $progressbarEl.append($progressbarLine);\n }\n\n $progressbarLine.transition(typeof duration !== 'undefined' ? duration : '').transform(\"translate3d(\".concat(-100 + progressNormalized, \"%,0,0)\"));\n return $progressbarEl[0];\n },\n show: function show() {\n var app = this; // '.page', 50, 'multi'\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var el = args[0],\n progress = args[1],\n color = args[2];\n var type = 'determined';\n\n if (args.length === 2) {\n if ((typeof args[0] === 'string' || _typeof(args[0]) === 'object') && typeof args[1] === 'string') {\n // '.page', 'multi'\n el = args[0];\n color = args[1];\n progress = args[2];\n type = 'infinite';\n } else if (typeof args[0] === 'number' && typeof args[1] === 'string') {\n // 50, 'multi'\n progress = args[0];\n color = args[1];\n el = app.root;\n }\n } else if (args.length === 1) {\n if (typeof args[0] === 'number') {\n el = app.root;\n progress = args[0];\n } else if (typeof args[0] === 'string') {\n type = 'infinite';\n el = app.root;\n color = args[0];\n }\n } else if (args.length === 0) {\n type = 'infinite';\n el = app.root;\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var $progressbarEl;\n\n if ($el.hasClass('progressbar') || $el.hasClass('progressbar-infinite')) {\n $progressbarEl = $el;\n } else {\n $progressbarEl = $el.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)');\n\n if ($progressbarEl.length === 0) {\n $progressbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\\n \\n \").concat(type === 'infinite' ? '' : '', \"\\n \"));\n $el.append($progressbarEl);\n }\n }\n\n if (typeof progress !== 'undefined') {\n app.progressbar.set($progressbarEl, progress);\n }\n\n return $progressbarEl[0];\n },\n hide: function hide(el) {\n var removeAfterHide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el || app.root);\n if ($el.length === 0) return undefined;\n var $progressbarEl;\n\n if ($el.hasClass('progressbar') || $el.hasClass('progressbar-infinite')) {\n $progressbarEl = $el;\n } else {\n $progressbarEl = $el.children('.progressbar, .progressbar-infinite');\n }\n\n if ($progressbarEl.length === 0 || !$progressbarEl.hasClass('progressbar-in') || $progressbarEl.hasClass('progressbar-out')) {\n return $progressbarEl;\n }\n\n $progressbarEl.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () {\n if (removeAfterHide) {\n $progressbarEl.remove();\n }\n });\n return $progressbarEl;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'progressbar',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n progressbar: {\n set: Progressbar.set.bind(app),\n show: Progressbar.show.bind(app),\n hide: Progressbar.hide.bind(app)\n }\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.progressbar').each(function (index, progressbarEl) {\n var $progressbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(progressbarEl);\n app.progressbar.set($progressbarEl, $progressbarEl.attr('data-progress'));\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.progressbar').each(function (index, progressbarEl) {\n var $progressbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(progressbarEl);\n app.progressbar.set($progressbarEl, $progressbarEl.attr('data-progress'));\n });\n }\n },\n vnode: {\n progressbar: {\n insert: function insert(vnode) {\n var app = this;\n var el = vnode.elm;\n app.progressbar.set(el, el.getAttribute('data-progress'));\n },\n update: function update(vnode) {\n var app = this;\n var el = vnode.elm;\n app.progressbar.set(el, el.getAttribute('data-progress'));\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/progressbar/progressbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js": /*!*************************************************************************************!*\ !*** ./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js ***! \*************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar PullToRefresh = /*#__PURE__*/function (_Framework7Class) {\n _inherits(PullToRefresh, _Framework7Class);\n\n var _super = _createSuper(PullToRefresh);\n\n function PullToRefresh(app, el) {\n var _this;\n\n _classCallCheck(this, PullToRefresh);\n\n _this = _super.call(this, {}, [app]);\n\n var ptr = _assertThisInitialized(_this);\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var $preloaderEl = $el.find('.ptr-preloader');\n ptr.$el = $el;\n ptr.el = $el[0];\n ptr.app = app;\n ptr.bottom = ptr.$el.hasClass('ptr-bottom'); // Extend defaults with modules params\n\n ptr.useModulesParams({});\n var isMaterial = app.theme === 'md';\n var isIos = app.theme === 'ios';\n var isAurora = app.theme === 'aurora'; // Done\n\n ptr.done = function done() {\n var $transitionTarget = isMaterial ? $preloaderEl : $el;\n $transitionTarget.transitionEnd(function () {\n $el.removeClass('ptr-transitioning ptr-pull-up ptr-pull-down');\n $el.trigger('ptr:done');\n ptr.emit('local::done ptrDone', $el[0]);\n });\n $el.removeClass('ptr-refreshing').addClass('ptr-transitioning');\n return ptr;\n };\n\n ptr.refresh = function refresh() {\n if ($el.hasClass('ptr-refreshing')) return ptr;\n $el.addClass('ptr-transitioning ptr-refreshing');\n $el.trigger('ptr:refresh', ptr.done);\n ptr.emit('local::refresh ptrRefresh', $el[0], ptr.done);\n return ptr;\n }; // Mousewheel\n\n\n ptr.mousewheel = $el.attr('data-ptr-mousewheel') === 'true'; // Events handling\n\n var touchId;\n var isTouched;\n var isMoved;\n var touchesStart = {};\n var isScrolling;\n var touchesDiff;\n var refresh = false;\n var useTranslate = false;\n var forceUseTranslate = false;\n var startTranslate = 0;\n var translate;\n var scrollTop;\n var wasScrolled;\n var triggerDistance;\n var dynamicTriggerDistance;\n var pullStarted;\n var hasNavbar = false;\n var scrollHeight;\n var offsetHeight;\n var maxScrollTop;\n var $pageEl = $el.parents('.page');\n if ($pageEl.find('.navbar').length > 0 || $pageEl.parents('.view').children('.navbar').length > 0) hasNavbar = true;\n if ($pageEl.hasClass('no-navbar')) hasNavbar = false;\n if (!hasNavbar && !ptr.bottom) $el.addClass('ptr-no-navbar'); // Define trigger distance\n\n if ($el.attr('data-ptr-distance')) {\n dynamicTriggerDistance = true;\n } else if (isMaterial) {\n triggerDistance = 66;\n } else if (isIos) {\n triggerDistance = 44;\n } else if (isAurora) {\n triggerDistance = 38;\n }\n\n function handleTouchStart(e) {\n if (isTouched) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].os === 'android') {\n if ('targetTouches' in e && e.targetTouches.length > 1) return;\n } else return;\n }\n\n if ($el.hasClass('ptr-refreshing')) {\n return;\n }\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sortable-handler, .ptr-ignore, .card-expandable.card-opened').length) return;\n isMoved = false;\n pullStarted = false;\n isTouched = true;\n isScrolling = undefined;\n wasScrolled = undefined;\n if (e.type === 'touchstart') touchId = e.targetTouches[0].identifier;\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 }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX;\n var pageY;\n var touch;\n\n if (e.type === 'touchmove') {\n if (touchId && e.touches) {\n for (var i = 0; i < e.touches.length; i += 1) {\n if (e.touches[i].identifier === touchId) {\n touch = e.touches[i];\n }\n }\n }\n\n if (!touch) touch = e.targetTouches[0];\n pageX = touch.pageX;\n pageY = touch.pageY;\n } else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n\n if (!pageX || !pageY) return;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (!isScrolling) {\n isTouched = false;\n return;\n }\n\n scrollTop = $el[0].scrollTop;\n\n if (!isMoved) {\n $el.removeClass('ptr-transitioning');\n var targetIsScrollable;\n scrollHeight = $el[0].scrollHeight;\n offsetHeight = $el[0].offsetHeight;\n\n if (ptr.bottom) {\n maxScrollTop = scrollHeight - offsetHeight;\n }\n\n if (scrollTop > scrollHeight) {\n isTouched = false;\n return;\n }\n\n var $ptrWatchScrollable = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.ptr-watch-scroll');\n\n if ($ptrWatchScrollable.length) {\n $ptrWatchScrollable.each(function (ptrScrollableIndex, ptrScrollableEl) {\n if (ptrScrollableEl === el) return;\n\n if (ptrScrollableEl.scrollHeight > ptrScrollableEl.offsetHeight && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ptrScrollableEl).css('overflow') === 'auto' && (!ptr.bottom && ptrScrollableEl.scrollTop > 0 || ptr.bottom && ptrScrollableEl.scrollTop < ptrScrollableEl.scrollHeight - ptrScrollableEl.offsetHeight)) {\n targetIsScrollable = true;\n }\n });\n }\n\n if (targetIsScrollable) {\n isTouched = false;\n return;\n }\n\n if (dynamicTriggerDistance) {\n triggerDistance = $el.attr('data-ptr-distance');\n if (triggerDistance.indexOf('%') >= 0) triggerDistance = scrollHeight * parseInt(triggerDistance, 10) / 100;\n }\n\n startTranslate = $el.hasClass('ptr-refreshing') ? triggerDistance : 0;\n\n if (scrollHeight === offsetHeight || _utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].os !== 'ios' || isMaterial) {\n useTranslate = true;\n } else {\n useTranslate = false;\n }\n\n forceUseTranslate = false;\n }\n\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n if (typeof wasScrolled === 'undefined' && (ptr.bottom ? scrollTop !== maxScrollTop : scrollTop !== 0)) wasScrolled = true;\n var ptrStarted = ptr.bottom ? touchesDiff < 0 && scrollTop >= maxScrollTop || scrollTop > maxScrollTop : touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0;\n\n if (ptrStarted) {\n // iOS 8 fix\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].os === 'ios' && parseInt(_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].osVersion.split('.')[0], 10) > 7) {\n if (!ptr.bottom && scrollTop === 0 && !wasScrolled) useTranslate = true;\n if (ptr.bottom && scrollTop === maxScrollTop && !wasScrolled) useTranslate = true;\n }\n\n if (!useTranslate && ptr.bottom && !isMaterial) {\n $el.css('-webkit-overflow-scrolling', 'auto');\n $el.scrollTop(maxScrollTop);\n forceUseTranslate = true;\n }\n\n if (useTranslate || forceUseTranslate) {\n if (e.cancelable) {\n e.preventDefault();\n }\n\n translate = (ptr.bottom ? -1 * Math.pow(Math.abs(touchesDiff), 0.85) : Math.pow(touchesDiff, 0.85)) + startTranslate;\n\n if (isMaterial) {\n $preloaderEl.transform(\"translate3d(0,\".concat(translate, \"px,0)\")).find('.ptr-arrow').transform(\"rotate(\".concat(180 * (Math.abs(touchesDiff) / 66) + 100, \"deg)\"));\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n } else {\n $el.transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n }\n }\n }\n\n if ((useTranslate || forceUseTranslate) && Math.pow(Math.abs(touchesDiff), 0.85) > triggerDistance || !useTranslate && Math.abs(touchesDiff) >= triggerDistance * 2) {\n refresh = true;\n $el.addClass('ptr-pull-up').removeClass('ptr-pull-down');\n } else {\n refresh = false;\n $el.removeClass('ptr-pull-up').addClass('ptr-pull-down');\n }\n\n if (!pullStarted) {\n $el.trigger('ptr:pullstart');\n ptr.emit('local::pullStart ptrPullStart', $el[0]);\n pullStarted = true;\n }\n\n $el.trigger('ptr:pullmove', {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n ptr.emit('local::pullMove ptrPullMove', $el[0], {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n } else {\n pullStarted = false;\n $el.removeClass('ptr-pull-up ptr-pull-down');\n refresh = false;\n }\n }\n\n function handleTouchEnd(e) {\n if (e.type === 'touchend' && e.changedTouches && e.changedTouches.length > 0 && touchId) {\n if (e.changedTouches[0].identifier !== touchId) {\n isTouched = false;\n isScrolling = false;\n isMoved = false;\n touchId = null;\n return;\n }\n }\n\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n if (translate) {\n $el.addClass('ptr-transitioning');\n translate = 0;\n }\n\n if (isMaterial) {\n $preloaderEl.transform('').find('.ptr-arrow').transform('');\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform('');\n } else {\n $el.transform('');\n }\n }\n\n if (!useTranslate && ptr.bottom && !isMaterial) {\n $el.css('-webkit-overflow-scrolling', '');\n }\n\n if (refresh) {\n $el.addClass('ptr-refreshing');\n $el.trigger('ptr:refresh', ptr.done);\n ptr.emit('local::refresh ptrRefresh', $el[0], ptr.done);\n } else {\n $el.removeClass('ptr-pull-down');\n }\n\n isTouched = false;\n isMoved = false;\n\n if (pullStarted) {\n $el.trigger('ptr:pullend');\n ptr.emit('local::pullEnd ptrPullEnd', $el[0]);\n }\n }\n\n var mousewheelTimeout;\n var mousewheelMoved;\n var mousewheelAllow = true;\n var mousewheelTranslate = 0;\n\n function handleMouseWheelRelease() {\n mousewheelAllow = true;\n mousewheelMoved = false;\n mousewheelTranslate = 0;\n\n if (translate) {\n $el.addClass('ptr-transitioning');\n translate = 0;\n }\n\n if (isMaterial) {\n $preloaderEl.transform('').find('.ptr-arrow').transform('');\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform('');\n } else {\n $el.transform('');\n }\n }\n\n if (refresh) {\n $el.addClass('ptr-refreshing');\n $el.trigger('ptr:refresh', ptr.done);\n ptr.emit('local::refresh ptrRefresh', $el[0], ptr.done);\n } else {\n $el.removeClass('ptr-pull-down');\n }\n\n if (pullStarted) {\n $el.trigger('ptr:pullend');\n ptr.emit('local::pullEnd ptrPullEnd', $el[0]);\n }\n }\n\n function handleMouseWheel(e) {\n if (!mousewheelAllow) return;\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n if (Math.abs(deltaX) > Math.abs(deltaY)) return;\n\n if ($el.hasClass('ptr-refreshing')) {\n return;\n }\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sortable-handler, .ptr-ignore, .card-expandable.card-opened').length) return;\n clearTimeout(mousewheelTimeout);\n scrollTop = $el[0].scrollTop;\n\n if (!mousewheelMoved) {\n $el.removeClass('ptr-transitioning');\n var targetIsScrollable;\n scrollHeight = $el[0].scrollHeight;\n offsetHeight = $el[0].offsetHeight;\n\n if (ptr.bottom) {\n maxScrollTop = scrollHeight - offsetHeight;\n }\n\n if (scrollTop > scrollHeight) {\n mousewheelAllow = false;\n return;\n }\n\n var $ptrWatchScrollable = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.ptr-watch-scroll');\n\n if ($ptrWatchScrollable.length) {\n $ptrWatchScrollable.each(function (ptrScrollableIndex, ptrScrollableEl) {\n if (ptrScrollableEl === el) return;\n\n if (ptrScrollableEl.scrollHeight > ptrScrollableEl.offsetHeight && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ptrScrollableEl).css('overflow') === 'auto' && (!ptr.bottom && ptrScrollableEl.scrollTop > 0 || ptr.bottom && ptrScrollableEl.scrollTop < ptrScrollableEl.scrollHeight - ptrScrollableEl.offsetHeight)) {\n targetIsScrollable = true;\n }\n });\n }\n\n if (targetIsScrollable) {\n mousewheelAllow = false;\n return;\n }\n\n if (dynamicTriggerDistance) {\n triggerDistance = $el.attr('data-ptr-distance');\n if (triggerDistance.indexOf('%') >= 0) triggerDistance = scrollHeight * parseInt(triggerDistance, 10) / 100;\n }\n }\n\n isMoved = true;\n mousewheelTranslate -= deltaY;\n touchesDiff = mousewheelTranslate; // pageY - touchesStart.y;\n\n if (typeof wasScrolled === 'undefined' && (ptr.bottom ? scrollTop !== maxScrollTop : scrollTop !== 0)) wasScrolled = true;\n var ptrStarted = ptr.bottom ? touchesDiff < 0 && scrollTop >= maxScrollTop || scrollTop > maxScrollTop : touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0;\n\n if (ptrStarted) {\n if (e.cancelable) {\n e.preventDefault();\n }\n\n translate = touchesDiff;\n\n if (Math.abs(translate) > triggerDistance) {\n translate = triggerDistance + Math.pow(Math.abs(translate) - triggerDistance, 0.7);\n if (ptr.bottom) translate = -translate;\n }\n\n if (isMaterial) {\n $preloaderEl.transform(\"translate3d(0,\".concat(translate, \"px,0)\")).find('.ptr-arrow').transform(\"rotate(\".concat(180 * (Math.abs(touchesDiff) / 66) + 100, \"deg)\"));\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n } else {\n $el.transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n }\n }\n\n if (Math.abs(translate) > triggerDistance) {\n refresh = true;\n $el.addClass('ptr-pull-up').removeClass('ptr-pull-down');\n } else {\n refresh = false;\n $el.removeClass('ptr-pull-up').addClass('ptr-pull-down');\n }\n\n if (!pullStarted) {\n $el.trigger('ptr:pullstart');\n ptr.emit('local::pullStart ptrPullStart', $el[0]);\n pullStarted = true;\n }\n\n $el.trigger('ptr:pullmove', {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n ptr.emit('local::pullMove ptrPullMove', $el[0], {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n } else {\n pullStarted = false;\n $el.removeClass('ptr-pull-up ptr-pull-down');\n refresh = false;\n }\n\n mousewheelTimeout = setTimeout(handleMouseWheelRelease, 300);\n }\n\n if (!$pageEl.length || !$el.length) return _possibleConstructorReturn(_this, ptr);\n $el[0].f7PullToRefresh = ptr; // Events\n\n ptr.attachEvents = function attachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n\n if (ptr.mousewheel && !ptr.bottom) {\n $el.on('wheel', handleMouseWheel);\n }\n };\n\n ptr.detachEvents = function detachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n\n if (ptr.mousewheel && !ptr.bottom) {\n $el.off('wheel', handleMouseWheel);\n }\n }; // Install Modules\n\n\n ptr.useModules(); // Init\n\n ptr.init();\n return _possibleConstructorReturn(_this, ptr);\n }\n\n _createClass(PullToRefresh, [{\n key: \"init\",\n value: function init() {\n var ptr = this;\n ptr.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var ptr = this;\n ptr.emit('local::beforeDestroy ptrBeforeDestroy', ptr);\n ptr.$el.trigger('ptr:beforedestroy', ptr);\n delete ptr.el.f7PullToRefresh;\n ptr.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(ptr);\n ptr = null;\n }\n }]);\n\n return PullToRefresh;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PullToRefresh);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _pull_to_refresh_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pull-to-refresh-class */ \"./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'pullToRefresh',\n create: function create() {\n var app = this;\n app.ptr = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.ptr-content',\n constructor: _pull_to_refresh_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7PullToRefresh'\n }), {\n done: function done(el) {\n var ptr = app.ptr.get(el);\n if (ptr) return ptr.done();\n return undefined;\n },\n refresh: function refresh(el) {\n var ptr = app.ptr.get(el);\n if (ptr) return ptr.refresh();\n return undefined;\n }\n });\n },\n static: {\n PullToRefresh: _pull_to_refresh_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var $ptrEls = $tabEl.find('.ptr-content');\n if ($tabEl.is('.ptr-content')) $ptrEls.add($tabEl);\n $ptrEls.each(function (index, el) {\n app.ptr.create(el);\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var app = this;\n var $ptrEls = $tabEl.find('.ptr-content');\n if ($tabEl.is('.ptr-content')) $ptrEls.add($tabEl);\n $ptrEls.each(function (index, el) {\n app.ptr.destroy(el);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.ptr-content').each(function (index, el) {\n app.ptr.create(el);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.ptr-content').each(function (index, el) {\n app.ptr.destroy(el);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js?"); /***/ }), /***/ "./node_modules/framework7/components/radio/radio.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/radio/radio.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'radio'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/radio/radio.js?"); /***/ }), /***/ "./node_modules/framework7/components/range/range-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/range/range-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Range = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Range, _Framework7Class);\n\n var _super = _createSuper(Range);\n\n function Range(app, params) {\n var _this;\n\n _classCallCheck(this, Range);\n\n _this = _super.call(this, params, [app]);\n\n var range = _assertThisInitialized(_this);\n\n var defaults = {\n el: null,\n inputEl: null,\n dual: false,\n step: 1,\n label: false,\n min: 0,\n max: 100,\n value: 0,\n draggableBar: true,\n vertical: false,\n verticalReversed: false,\n formatLabel: null,\n scale: false,\n scaleSteps: 5,\n scaleSubSteps: 0,\n formatScaleLabel: null,\n limitKnobPosition: app.theme === 'ios'\n }; // Extend defaults with modules params\n\n range.useModulesParams(defaults);\n range.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var el = range.params.el;\n if (!el) return _possibleConstructorReturn(_this, range);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, range);\n if ($el[0].f7Range) return _possibleConstructorReturn(_this, $el[0].f7Range);\n var dataset = $el.dataset();\n 'step min max value scaleSteps scaleSubSteps'.split(' ').forEach(function (paramName) {\n if (typeof params[paramName] === 'undefined' && typeof dataset[paramName] !== 'undefined') {\n range.params[paramName] = parseFloat(dataset[paramName]);\n }\n });\n 'dual label vertical verticalReversed scale'.split(' ').forEach(function (paramName) {\n if (typeof params[paramName] === 'undefined' && typeof dataset[paramName] !== 'undefined') {\n range.params[paramName] = dataset[paramName];\n }\n });\n\n if (!range.params.value) {\n if (typeof dataset.value !== 'undefined') range.params.value = dataset.value;\n\n if (typeof dataset.valueLeft !== 'undefined' && typeof dataset.valueRight !== 'undefined') {\n range.params.value = [parseFloat(dataset.valueLeft), parseFloat(dataset.valueRight)];\n }\n }\n\n var $inputEl;\n\n if (!range.params.dual) {\n if (range.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(range.params.inputEl);\n } else if ($el.find('input[type=\"range\"]').length) {\n $inputEl = $el.find('input[type=\"range\"]').eq(0);\n }\n }\n\n var _range$params = range.params,\n dual = _range$params.dual,\n step = _range$params.step,\n label = _range$params.label,\n min = _range$params.min,\n max = _range$params.max,\n value = _range$params.value,\n vertical = _range$params.vertical,\n verticalReversed = _range$params.verticalReversed,\n scale = _range$params.scale,\n scaleSteps = _range$params.scaleSteps,\n scaleSubSteps = _range$params.scaleSubSteps,\n limitKnobPosition = _range$params.limitKnobPosition;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(range, {\n app: app,\n $el: $el,\n el: $el[0],\n $inputEl: $inputEl,\n inputEl: $inputEl ? $inputEl[0] : undefined,\n dual: dual,\n step: step,\n label: label,\n min: min,\n max: max,\n value: value,\n previousValue: value,\n vertical: vertical,\n verticalReversed: verticalReversed,\n scale: scale,\n scaleSteps: scaleSteps,\n scaleSubSteps: scaleSubSteps,\n limitKnobPosition: limitKnobPosition\n });\n\n if ($inputEl) {\n 'step min max'.split(' ').forEach(function (paramName) {\n if (!params[paramName] && $inputEl.attr(paramName)) {\n range.params[paramName] = parseFloat($inputEl.attr(paramName));\n range[paramName] = parseFloat($inputEl.attr(paramName));\n }\n });\n\n if (typeof $inputEl.val() !== 'undefined') {\n range.params.value = parseFloat($inputEl.val());\n range.value = parseFloat($inputEl.val());\n }\n } // Dual\n\n\n if (range.dual) {\n $el.addClass('range-slider-dual');\n }\n\n if (range.label) {\n $el.addClass('range-slider-label');\n } // Vertical\n\n\n if (range.vertical) {\n $el.addClass('range-slider-vertical');\n\n if (range.verticalReversed) {\n $el.addClass('range-slider-vertical-reversed');\n }\n } else {\n $el.addClass('range-slider-horizontal');\n } // Check for layout\n\n\n var $barEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n var $barActiveEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $barEl.append($barActiveEl); // Create Knobs\n\n var knobHTML = \"\\n
          \\n
          \\n \".concat(range.label ? '
          ' : '', \"\\n
          \\n \");\n var knobs = [Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(knobHTML)];\n\n if (range.dual) {\n knobs.push(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(knobHTML));\n }\n\n $el.append($barEl);\n knobs.forEach(function ($knobEl) {\n $el.append($knobEl);\n }); // Labels\n\n var labels = [];\n\n if (range.label) {\n labels.push(knobs[0].find('.range-knob-label'));\n\n if (range.dual) {\n labels.push(knobs[1].find('.range-knob-label'));\n }\n } // Scale\n\n\n var $scaleEl;\n\n if (range.scale && range.scaleSteps > 1) {\n $scaleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\\n
          \\n \".concat(range.renderScale(), \"\\n
          \\n \"));\n $el.append($scaleEl);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(range, {\n knobs: knobs,\n labels: labels,\n $barEl: $barEl,\n $barActiveEl: $barActiveEl,\n $scaleEl: $scaleEl\n });\n $el[0].f7Range = range; // Touch Events\n\n var isTouched;\n var touchesStart = {};\n var isScrolling;\n var rangeOffset;\n var rangeOffsetLeft;\n var rangeOffsetTop;\n var $touchedKnobEl;\n var dualValueIndex;\n var valueChangedByTouch;\n var targetTouchIdentifier;\n\n function onTouchChange() {\n valueChangedByTouch = true;\n }\n\n function handleTouchStart(e) {\n if (isTouched) return;\n\n if (!range.params.draggableBar) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.range-knob').length === 0) {\n return;\n }\n }\n\n valueChangedByTouch = false;\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\n if (e.type === 'touchstart') {\n targetTouchIdentifier = e.targetTouches[0].identifier;\n }\n\n isTouched = true;\n isScrolling = undefined;\n rangeOffset = $el.offset();\n rangeOffsetLeft = rangeOffset.left;\n rangeOffsetTop = rangeOffset.top;\n var progress;\n\n if (range.vertical) {\n progress = (touchesStart.y - rangeOffsetTop) / range.rangeHeight;\n if (!range.verticalReversed) progress = 1 - progress;\n } else if (range.app.rtl) {\n progress = (rangeOffsetLeft + range.rangeWidth - touchesStart.x) / range.rangeWidth;\n } else {\n progress = (touchesStart.x - rangeOffsetLeft) / range.rangeWidth;\n }\n\n var newValue = progress * (range.max - range.min) + range.min;\n\n if (range.dual) {\n if (Math.abs(range.value[0] - newValue) < Math.abs(range.value[1] - newValue)) {\n dualValueIndex = 0;\n $touchedKnobEl = range.knobs[0];\n newValue = [newValue, range.value[1]];\n } else {\n dualValueIndex = 1;\n $touchedKnobEl = range.knobs[1];\n newValue = [range.value[0], newValue];\n }\n } else {\n $touchedKnobEl = range.knobs[0];\n newValue = progress * (range.max - range.min) + range.min;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (isTouched) $touchedKnobEl.addClass('range-knob-active-state');\n }, 70);\n range.on('change', onTouchChange);\n range.setValue(newValue, true);\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX;\n var pageY;\n\n if (e.type === 'touchmove') {\n for (var i = 0; i < e.targetTouches.length; i += 1) {\n if (e.targetTouches[i].identifier === targetTouchIdentifier) {\n pageX = e.targetTouches[i].pageX;\n pageY = e.targetTouches[i].pageY;\n }\n }\n } else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n\n if (typeof pageX === 'undefined' && typeof pageY === 'undefined') return;\n\n if (typeof isScrolling === 'undefined' && !range.vertical) {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n var progress;\n\n if (range.vertical) {\n progress = (pageY - rangeOffsetTop) / range.rangeHeight;\n if (!range.verticalReversed) progress = 1 - progress;\n } else if (range.app.rtl) {\n progress = (rangeOffsetLeft + range.rangeWidth - pageX) / range.rangeWidth;\n } else {\n progress = (pageX - rangeOffsetLeft) / range.rangeWidth;\n }\n\n var newValue = progress * (range.max - range.min) + range.min;\n\n if (range.dual) {\n var leftValue;\n var rightValue;\n\n if (dualValueIndex === 0) {\n leftValue = newValue;\n rightValue = range.value[1];\n\n if (leftValue > rightValue) {\n rightValue = leftValue;\n }\n } else {\n leftValue = range.value[0];\n rightValue = newValue;\n\n if (rightValue < leftValue) {\n leftValue = rightValue;\n }\n }\n\n newValue = [leftValue, rightValue];\n }\n\n range.setValue(newValue, true);\n }\n\n function handleTouchEnd(e) {\n if (e.type === 'touchend') {\n var touchEnded;\n\n for (var i = 0; i < e.changedTouches.length; i += 1) {\n if (e.changedTouches[i].identifier === targetTouchIdentifier) touchEnded = true;\n }\n\n if (!touchEnded) return;\n }\n\n if (!isTouched) {\n if (isScrolling) $touchedKnobEl.removeClass('range-knob-active-state');\n isTouched = false;\n return;\n }\n\n range.off('change', onTouchChange);\n isTouched = false;\n $touchedKnobEl.removeClass('range-knob-active-state');\n\n if (valueChangedByTouch && range.$inputEl && !range.dual) {\n range.$inputEl.trigger('change');\n }\n\n valueChangedByTouch = false;\n\n if (typeof range.previousValue !== 'undefined') {\n if (range.dual && (range.previousValue[0] !== range.value[0] || range.previousValue[1] !== range.value[1]) || !range.dual && range.previousValue !== range.value) {\n range.$el.trigger('range:changed', range, range.value);\n range.emit('local::changed rangeChanged', range, range.value);\n }\n }\n }\n\n function handleResize() {\n range.calcSize();\n range.layout();\n }\n\n var parentModals;\n var parentPanel;\n var parentPage;\n\n range.attachEvents = function attachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n range.$el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('tabShow', handleResize);\n app.on('resize', handleResize);\n parentModals = range.$el.parents('.sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast');\n parentModals.on('modal:open', handleResize);\n parentPanel = range.$el.parents('.panel');\n parentPanel.on('panel:open', handleResize);\n parentPage = range.$el.parents('.page').eq(0);\n parentPage.on('page:reinit', handleResize);\n };\n\n range.detachEvents = function detachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n range.$el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('tabShow', handleResize);\n app.off('resize', handleResize);\n\n if (parentModals) {\n parentModals.off('modal:open', handleResize);\n }\n\n if (parentPanel) {\n parentPanel.off('panel:open', handleResize);\n }\n\n if (parentPage) {\n parentPage.off('page:reinit', handleResize);\n }\n\n parentModals = null;\n parentPanel = null;\n parentPage = null;\n }; // Install Modules\n\n\n range.useModules(); // Init\n\n range.init();\n return _possibleConstructorReturn(_this, range);\n }\n\n _createClass(Range, [{\n key: \"calcSize\",\n value: function calcSize() {\n var range = this;\n\n if (range.vertical) {\n var height = range.$el.outerHeight();\n if (height === 0) return;\n range.rangeHeight = height;\n range.knobHeight = range.knobs[0].outerHeight();\n } else {\n var width = range.$el.outerWidth();\n if (width === 0) return;\n range.rangeWidth = width;\n range.knobWidth = range.knobs[0].outerWidth();\n }\n }\n }, {\n key: \"layout\",\n value: function layout() {\n var range = this;\n var app = range.app,\n knobWidth = range.knobWidth,\n knobHeight = range.knobHeight,\n rangeWidth = range.rangeWidth,\n rangeHeight = range.rangeHeight,\n min = range.min,\n max = range.max,\n knobs = range.knobs,\n $barActiveEl = range.$barActiveEl,\n value = range.value,\n label = range.label,\n labels = range.labels,\n vertical = range.vertical,\n verticalReversed = range.verticalReversed,\n limitKnobPosition = range.limitKnobPosition;\n var knobSize = vertical ? knobHeight : knobWidth;\n var rangeSize = vertical ? rangeHeight : rangeWidth; // eslint-disable-next-line\n\n var positionProperty = vertical ? verticalReversed ? 'top' : 'bottom' : app.rtl ? 'right' : 'left';\n\n if (range.dual) {\n var _$barActiveEl$css;\n\n var progress = [(value[0] - min) / (max - min), (value[1] - min) / (max - min)];\n $barActiveEl.css((_$barActiveEl$css = {}, _defineProperty(_$barActiveEl$css, positionProperty, \"\".concat(progress[0] * 100, \"%\")), _defineProperty(_$barActiveEl$css, vertical ? 'height' : 'width', \"\".concat((progress[1] - progress[0]) * 100, \"%\")), _$barActiveEl$css));\n knobs.forEach(function ($knobEl, knobIndex) {\n var startPos = rangeSize * progress[knobIndex];\n\n if (limitKnobPosition) {\n var realStartPos = rangeSize * progress[knobIndex] - knobSize / 2;\n if (realStartPos < 0) startPos = knobSize / 2;\n if (realStartPos + knobSize > rangeSize) startPos = rangeSize - knobSize / 2;\n }\n\n $knobEl.css(positionProperty, \"\".concat(startPos, \"px\"));\n if (label) labels[knobIndex].text(range.formatLabel(value[knobIndex], labels[knobIndex][0]));\n });\n } else {\n var _progress = (value - min) / (max - min);\n\n $barActiveEl.css(vertical ? 'height' : 'width', \"\".concat(_progress * 100, \"%\"));\n var startPos = rangeSize * _progress;\n\n if (limitKnobPosition) {\n var realStartPos = rangeSize * _progress - knobSize / 2;\n if (realStartPos < 0) startPos = knobSize / 2;\n if (realStartPos + knobSize > rangeSize) startPos = rangeSize - knobSize / 2;\n }\n\n knobs[0].css(positionProperty, \"\".concat(startPos, \"px\"));\n if (label) labels[0].text(range.formatLabel(value, labels[0][0]));\n }\n\n if (range.dual && value.indexOf(min) >= 0 || !range.dual && value === min) {\n range.$el.addClass('range-slider-min');\n } else {\n range.$el.removeClass('range-slider-min');\n }\n\n if (range.dual && value.indexOf(max) >= 0 || !range.dual && value === max) {\n range.$el.addClass('range-slider-max');\n } else {\n range.$el.removeClass('range-slider-max');\n }\n }\n }, {\n key: \"setValue\",\n value: function setValue(newValue, byTouchMove) {\n var range = this;\n var step = range.step,\n min = range.min,\n max = range.max;\n var valueChanged;\n var oldValue;\n\n if (range.dual) {\n oldValue = [range.value[0], range.value[1]];\n var newValues = newValue;\n if (!Array.isArray(newValues)) newValues = [newValue, newValue];\n\n if (newValue[0] > newValue[1]) {\n newValues = [newValues[0], newValues[0]];\n }\n\n newValues = newValues.map(function (value) {\n return Math.max(Math.min(Math.round(value / step) * step, max), min);\n });\n\n if (newValues[0] === range.value[0] && newValues[1] === range.value[1]) {\n return range;\n }\n\n newValues.forEach(function (value, valueIndex) {\n range.value[valueIndex] = value;\n });\n valueChanged = oldValue[0] !== newValues[0] || oldValue[1] !== newValues[1];\n range.layout();\n } else {\n oldValue = range.value;\n var value = Math.max(Math.min(Math.round(newValue / step) * step, max), min);\n range.value = value;\n range.layout();\n valueChanged = oldValue !== value;\n }\n\n if (valueChanged) {\n range.previousValue = oldValue;\n } // Events\n\n\n if (!valueChanged) return range;\n range.$el.trigger('range:change', range, range.value);\n\n if (range.$inputEl && !range.dual) {\n range.$inputEl.val(range.value);\n\n if (!byTouchMove) {\n range.$inputEl.trigger('input change');\n } else {\n range.$inputEl.trigger('input');\n }\n }\n\n if (!byTouchMove) {\n range.$el.trigger('range:changed', range, range.value);\n range.emit('local::changed rangeChanged', range, range.value);\n }\n\n range.emit('local::change rangeChange', range, range.value);\n return range;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.value;\n }\n }, {\n key: \"formatLabel\",\n value: function formatLabel(value, labelEl) {\n var range = this;\n if (range.params.formatLabel) return range.params.formatLabel.call(range, value, labelEl);\n return value;\n }\n }, {\n key: \"formatScaleLabel\",\n value: function formatScaleLabel(value) {\n var range = this;\n if (range.params.formatScaleLabel) return range.params.formatScaleLabel.call(range, value);\n return value;\n }\n }, {\n key: \"renderScale\",\n value: function renderScale() {\n var range = this;\n var app = range.app,\n verticalReversed = range.verticalReversed,\n vertical = range.vertical; // eslint-disable-next-line\n\n var positionProperty = vertical ? verticalReversed ? 'top' : 'bottom' : app.rtl ? 'right' : 'left';\n var html = '';\n Array.from({\n length: range.scaleSteps + 1\n }).forEach(function (scaleEl, index) {\n var scaleStepValue = (range.max - range.min) / range.scaleSteps;\n var scaleValue = range.min + scaleStepValue * index;\n var progress = (scaleValue - range.min) / (range.max - range.min);\n html += \"
          \").concat(range.formatScaleLabel(scaleValue), \"
          \");\n\n if (range.scaleSubSteps && range.scaleSubSteps > 1 && index < range.scaleSteps) {\n Array.from({\n length: range.scaleSubSteps - 1\n }).forEach(function (subStepEl, subIndex) {\n var subStep = scaleStepValue / range.scaleSubSteps;\n var scaleSubValue = scaleValue + subStep * (subIndex + 1);\n var subProgress = (scaleSubValue - range.min) / (range.max - range.min);\n html += \"
          \");\n });\n }\n });\n return html;\n }\n }, {\n key: \"updateScale\",\n value: function updateScale() {\n var range = this;\n\n if (!range.scale || range.scaleSteps < 2) {\n if (range.$scaleEl) range.$scaleEl.remove();\n delete range.$scaleEl;\n return;\n }\n\n if (!range.$scaleEl) {\n range.$scaleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n range.$el.append(range.$scaleEl);\n }\n\n range.$scaleEl.html(range.renderScale());\n }\n }, {\n key: \"init\",\n value: function init() {\n var range = this;\n range.calcSize();\n range.layout();\n range.attachEvents();\n return range;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var range = this;\n range.$el.trigger('range:beforedestroy', range);\n range.emit('local::beforeDestroy rangeBeforeDestroy', range);\n delete range.$el[0].f7Range;\n range.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(range);\n range = null;\n }\n }]);\n\n return Range;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Range);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/range/range-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/range/range.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/range/range.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _range_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./range-class */ \"./node_modules/framework7/components/range/range-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'range',\n create: function create() {\n var app = this;\n app.range = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.range-slider',\n constructor: _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Range'\n }), {\n getValue: function getValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.range-slider';\n var range = app.range.get(el);\n if (range) return range.getValue();\n return undefined;\n },\n setValue: function setValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.range-slider';\n var value = arguments.length > 1 ? arguments[1] : undefined;\n var range = app.range.get(el);\n if (range) return range.setValue(value);\n return undefined;\n }\n });\n },\n static: {\n Range: _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.range-slider-init').each(function (index, rangeEl) {\n return new _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, {\n el: rangeEl\n });\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.range-slider-init').each(function (index, rangeEl) {\n if (rangeEl.f7Range) rangeEl.f7Range.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.range-slider-init').each(function (index, rangeEl) {\n return new _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, {\n el: rangeEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.range-slider-init').each(function (index, rangeEl) {\n if (rangeEl.f7Range) rangeEl.f7Range.destroy();\n });\n }\n },\n vnode: {\n 'range-slider-init': {\n insert: function insert(vnode) {\n var rangeEl = vnode.elm;\n var app = this;\n app.range.create({\n el: rangeEl\n });\n },\n destroy: function destroy(vnode) {\n var rangeEl = vnode.elm;\n if (rangeEl.f7Range) rangeEl.f7Range.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/range/range.js?"); /***/ }), /***/ "./node_modules/framework7/components/searchbar/searchbar-class.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/searchbar/searchbar-class.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Searchbar = /*#__PURE__*/function (_FrameworkClass) {\n _inherits(Searchbar, _FrameworkClass);\n\n var _super = _createSuper(Searchbar);\n\n function Searchbar(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Searchbar);\n\n _this = _super.call(this, params, [app]);\n\n var sb = _assertThisInitialized(_this);\n\n var defaults = {\n el: undefined,\n inputEl: undefined,\n inputEvents: 'change input compositionend',\n disableButton: true,\n disableButtonEl: undefined,\n backdropEl: undefined,\n searchContainer: undefined,\n // container to search, HTMLElement or CSS selector\n searchItem: 'li',\n // single item selector, CSS selector\n searchIn: undefined,\n // where to search in item, CSS selector\n searchGroup: '.list-group',\n searchGroupTitle: '.item-divider, .list-group-title',\n ignore: '.searchbar-ignore',\n foundEl: '.searchbar-found',\n notFoundEl: '.searchbar-not-found',\n hideOnEnableEl: '.searchbar-hide-on-enable',\n hideOnSearchEl: '.searchbar-hide-on-search',\n backdrop: undefined,\n removeDiacritics: true,\n customSearch: false,\n hideDividers: true,\n hideGroups: true,\n disableOnBackdropClick: true,\n expandable: false,\n inline: false\n }; // Extend defaults with modules params\n\n sb.useModulesParams(defaults);\n sb.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, sb);\n if ($el[0].f7Searchbar) return _possibleConstructorReturn(_this, $el[0].f7Searchbar);\n $el[0].f7Searchbar = sb;\n var $pageEl;\n var $navbarEl = $el.parents('.navbar-inner');\n\n if ($el.parents('.page').length > 0) {\n $pageEl = $el.parents('.page');\n } else if ($navbarEl.length > 0) {\n $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(app.navbar.getPageByEl($navbarEl[0]));\n\n if (!$pageEl.length) {\n var $currentPageEl = $el.parents('.view').find('.page-current');\n\n if ($currentPageEl[0] && $currentPageEl[0].f7Page && $currentPageEl[0].f7Page.navbarEl === $navbarEl[0]) {\n $pageEl = $currentPageEl;\n }\n }\n }\n\n var $foundEl;\n\n if (params.foundEl) {\n $foundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.foundEl);\n } else if (typeof sb.params.foundEl === 'string' && $pageEl) {\n $foundEl = $pageEl.find(sb.params.foundEl);\n }\n\n var $notFoundEl;\n\n if (params.notFoundEl) {\n $notFoundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.notFoundEl);\n } else if (typeof sb.params.notFoundEl === 'string' && $pageEl) {\n $notFoundEl = $pageEl.find(sb.params.notFoundEl);\n }\n\n var $hideOnEnableEl;\n\n if (params.hideOnEnableEl) {\n $hideOnEnableEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.hideOnEnableEl);\n } else if (typeof sb.params.hideOnEnableEl === 'string' && $pageEl) {\n $hideOnEnableEl = $pageEl.find(sb.params.hideOnEnableEl);\n }\n\n var $hideOnSearchEl;\n\n if (params.hideOnSearchEl) {\n $hideOnSearchEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.hideOnSearchEl);\n } else if (typeof sb.params.hideOnSearchEl === 'string' && $pageEl) {\n $hideOnSearchEl = $pageEl.find(sb.params.hideOnSearchEl);\n }\n\n var expandable = sb.params.expandable || $el.hasClass('searchbar-expandable');\n var inline = sb.params.inline || $el.hasClass('searchbar-inline');\n\n if (typeof sb.params.backdrop === 'undefined') {\n if (!inline) sb.params.backdrop = app.theme !== 'aurora';else sb.params.backdrop = false;\n }\n\n var $backdropEl;\n\n if (sb.params.backdrop) {\n if (sb.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.backdropEl);\n } else if ($pageEl && $pageEl.length > 0) {\n $backdropEl = $pageEl.find('.searchbar-backdrop');\n } else {\n $backdropEl = $el.siblings('.searchbar-backdrop');\n }\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('
          ');\n\n if ($pageEl && $pageEl.length) {\n if ($el.parents($pageEl).length > 0 && $navbarEl && $el.parents($navbarEl).length === 0) {\n $backdropEl.insertBefore($el);\n } else {\n $backdropEl.insertBefore($pageEl.find('.page-content').eq(0));\n }\n } else {\n $backdropEl.insertBefore($el);\n }\n }\n }\n\n var $searchContainer;\n\n if (sb.params.searchContainer) {\n $searchContainer = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.searchContainer);\n }\n\n var $inputEl;\n\n if (sb.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.inputEl);\n } else {\n $inputEl = $el.find('input[type=\"search\"]').eq(0);\n }\n\n var $disableButtonEl;\n\n if (sb.params.disableButton) {\n if (sb.params.disableButtonEl) {\n $disableButtonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.disableButtonEl);\n } else {\n $disableButtonEl = $el.find('.searchbar-disable-button');\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(sb, {\n app: app,\n view: app.views.get($el.parents('.view')),\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n $searchContainer: $searchContainer,\n searchContainer: $searchContainer && $searchContainer[0],\n $inputEl: $inputEl,\n inputEl: $inputEl[0],\n $disableButtonEl: $disableButtonEl,\n disableButtonEl: $disableButtonEl && $disableButtonEl[0],\n disableButtonHasMargin: false,\n $pageEl: $pageEl,\n pageEl: $pageEl && $pageEl[0],\n $navbarEl: $navbarEl,\n navbarEl: $navbarEl && $navbarEl[0],\n $foundEl: $foundEl,\n foundEl: $foundEl && $foundEl[0],\n $notFoundEl: $notFoundEl,\n notFoundEl: $notFoundEl && $notFoundEl[0],\n $hideOnEnableEl: $hideOnEnableEl,\n hideOnEnableEl: $hideOnEnableEl && $hideOnEnableEl[0],\n $hideOnSearchEl: $hideOnSearchEl,\n hideOnSearchEl: $hideOnSearchEl && $hideOnSearchEl[0],\n previousQuery: '',\n query: '',\n isVirtualList: $searchContainer && $searchContainer.hasClass('virtual-list'),\n virtualList: undefined,\n enabled: false,\n expandable: expandable,\n inline: inline\n }); // Events\n\n function preventSubmit(e) {\n e.preventDefault();\n }\n\n function onInputFocus(e) {\n sb.enable(e);\n sb.$el.addClass('searchbar-focused');\n }\n\n function onInputBlur() {\n sb.$el.removeClass('searchbar-focused');\n\n if (app.theme === 'aurora' && (!$disableButtonEl || !$disableButtonEl.length || !sb.params.disableButton) && !sb.query) {\n sb.disable();\n }\n }\n\n function onInputChange() {\n var value = sb.$inputEl.val().trim();\n\n if (sb.$searchContainer && sb.$searchContainer.length > 0 && (sb.params.searchIn || sb.isVirtualList || sb.params.searchIn === sb.params.searchItem) || sb.params.customSearch) {\n sb.search(value, true);\n }\n }\n\n function onInputClear(e, previousValue) {\n sb.$el.trigger('searchbar:clear', previousValue);\n sb.emit('local::clear searchbarClear', sb, previousValue);\n }\n\n function disableOnClick(e) {\n sb.disable(e);\n }\n\n function onPageBeforeOut() {\n if (!sb || sb && !sb.$el) return;\n\n if (sb.enabled) {\n sb.$el.removeClass('searchbar-enabled');\n\n if (sb.expandable) {\n sb.$el.parents('.navbar-inner').removeClass('with-searchbar-expandable-enabled');\n }\n }\n }\n\n function onPageBeforeIn() {\n if (!sb || sb && !sb.$el) return;\n\n if (sb.enabled) {\n sb.$el.addClass('searchbar-enabled');\n\n if (sb.expandable) {\n sb.$el.parents('.navbar-inner').addClass('with-searchbar-expandable-enabled');\n }\n }\n }\n\n sb.attachEvents = function attachEvents() {\n $el.on('submit', preventSubmit);\n\n if (sb.params.disableButton) {\n sb.$disableButtonEl.on('click', disableOnClick);\n }\n\n if (sb.params.disableOnBackdropClick && sb.$backdropEl) {\n sb.$backdropEl.on('click', disableOnClick);\n }\n\n if (sb.expandable && app.theme === 'ios' && sb.view && $navbarEl.length && sb.$pageEl) {\n sb.$pageEl.on('page:beforeout', onPageBeforeOut);\n sb.$pageEl.on('page:beforein', onPageBeforeIn);\n }\n\n sb.$inputEl.on('focus', onInputFocus);\n sb.$inputEl.on('blur', onInputBlur);\n sb.$inputEl.on(sb.params.inputEvents, onInputChange);\n sb.$inputEl.on('input:clear', onInputClear);\n };\n\n sb.detachEvents = function detachEvents() {\n $el.off('submit', preventSubmit);\n\n if (sb.params.disableButton) {\n sb.$disableButtonEl.off('click', disableOnClick);\n }\n\n if (sb.params.disableOnBackdropClick && sb.$backdropEl) {\n sb.$backdropEl.off('click', disableOnClick);\n }\n\n if (sb.expandable && app.theme === 'ios' && sb.view && $navbarEl.length && sb.$pageEl) {\n sb.$pageEl.off('page:beforeout', onPageBeforeOut);\n sb.$pageEl.off('page:beforein', onPageBeforeIn);\n }\n\n sb.$inputEl.off('focus', onInputFocus);\n sb.$inputEl.off('blur', onInputBlur);\n sb.$inputEl.off(sb.params.inputEvents, onInputChange);\n sb.$inputEl.off('input:clear', onInputClear);\n }; // Install Modules\n\n\n sb.useModules(); // Init\n\n sb.init();\n return _possibleConstructorReturn(_this, sb);\n }\n\n _createClass(Searchbar, [{\n key: \"clear\",\n value: function clear(e) {\n var sb = this;\n\n if (!sb.query && e && Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).hasClass('searchbar-clear')) {\n sb.disable();\n return sb;\n }\n\n var previousQuery = sb.value;\n sb.$inputEl.val('').trigger('change').focus();\n sb.$el.trigger('searchbar:clear', previousQuery);\n sb.emit('local::clear searchbarClear', sb, previousQuery);\n return sb;\n }\n }, {\n key: \"setDisableButtonMargin\",\n value: function setDisableButtonMargin() {\n var sb = this;\n if (sb.expandable) return;\n var app = sb.app;\n sb.$disableButtonEl.transition(0).show();\n sb.$disableButtonEl.css(\"margin-\".concat(app.rtl ? 'left' : 'right'), \"\".concat(-sb.disableButtonEl.offsetWidth, \"px\"));\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n\n sb._clientLeft = sb.$disableButtonEl[0].clientLeft;\n sb.$disableButtonEl.transition('');\n sb.disableButtonHasMargin = true;\n }\n }, {\n key: \"enable\",\n value: function enable(setFocus) {\n var sb = this;\n if (sb.enabled) return sb;\n var app = sb.app;\n sb.enabled = true;\n\n function enable() {\n if (sb.$backdropEl && (sb.$searchContainer && sb.$searchContainer.length || sb.params.customSearch) && !sb.$el.hasClass('searchbar-enabled') && !sb.query) {\n sb.backdropShow();\n }\n\n sb.$el.addClass('searchbar-enabled');\n\n if (!sb.$disableButtonEl || sb.$disableButtonEl && sb.$disableButtonEl.length === 0) {\n sb.$el.addClass('searchbar-enabled-no-disable-button');\n }\n\n if (!sb.expandable && sb.$disableButtonEl && sb.$disableButtonEl.length > 0 && app.theme !== 'md') {\n if (!sb.disableButtonHasMargin) {\n sb.setDisableButtonMargin();\n }\n\n sb.$disableButtonEl.css(\"margin-\".concat(app.rtl ? 'left' : 'right'), '0px');\n }\n\n if (sb.expandable) {\n if (sb.$el.parents('.navbar-inner').hasClass('navbar-inner-large') && sb.$pageEl) {\n sb.$pageEl.find('.page-content').addClass('with-searchbar-expandable-enabled');\n }\n\n if (app.theme === 'md' && sb.$el.parent('.navbar-inner').parent('.navbar').length) {\n sb.$el.parent('.navbar-inner').parent('.navbar').addClass('with-searchbar-expandable-enabled');\n } else {\n sb.$el.parent('.navbar-inner').addClass('with-searchbar-expandable-enabled');\n sb.$el.parent('.navbar-inner-large').addClass('navbar-inner-large-collapsed');\n }\n }\n\n if (sb.$hideOnEnableEl) sb.$hideOnEnableEl.addClass('hidden-by-searchbar');\n sb.$el.trigger('searchbar:enable');\n sb.emit('local::enable searchbarEnable', sb);\n }\n\n var needsFocus = false;\n\n if (setFocus === true) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement !== sb.inputEl) {\n needsFocus = true;\n }\n }\n\n var isIos = app.device.ios && app.theme === 'ios';\n\n if (isIos) {\n if (sb.expandable) {\n if (needsFocus) sb.$inputEl.focus();\n enable();\n } else {\n if (needsFocus) sb.$inputEl.focus();\n\n if (setFocus && (setFocus.type === 'focus' || setFocus === true)) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n enable();\n }, 400);\n } else {\n enable();\n }\n }\n } else {\n if (needsFocus) sb.$inputEl.focus();\n\n if (app.theme === 'md' && sb.expandable) {\n sb.$el.parents('.page, .view, .navbar-inner').scrollLeft(app.rtl ? 100 : 0);\n }\n\n enable();\n }\n\n return sb;\n }\n }, {\n key: \"disable\",\n value: function disable() {\n var sb = this;\n if (!sb.enabled) return sb;\n var app = sb.app;\n sb.$inputEl.val('').trigger('change');\n sb.$el.removeClass('searchbar-enabled searchbar-focused searchbar-enabled-no-disable-button');\n\n if (sb.expandable) {\n if (sb.$el.parents('.navbar-inner').hasClass('navbar-inner-large') && sb.$pageEl) {\n sb.$pageEl.find('.page-content').removeClass('with-searchbar-expandable-enabled');\n }\n\n if (app.theme === 'md' && sb.$el.parent('.navbar-inner').parent('.navbar').length) {\n sb.$el.parent('.navbar-inner').parent('.navbar').removeClass('with-searchbar-expandable-enabled');\n } else {\n sb.$el.parent('.navbar-inner').removeClass('with-searchbar-expandable-enabled');\n\n if (sb.$pageEl) {\n sb.$pageEl.find('.page-content').trigger('scroll');\n }\n }\n }\n\n if (!sb.expandable && sb.$disableButtonEl && sb.$disableButtonEl.length > 0 && app.theme !== 'md') {\n sb.$disableButtonEl.css(\"margin-\".concat(app.rtl ? 'left' : 'right'), \"\".concat(-sb.disableButtonEl.offsetWidth, \"px\"));\n }\n\n if (sb.$backdropEl && (sb.$searchContainer && sb.$searchContainer.length || sb.params.customSearch)) {\n sb.backdropHide();\n }\n\n sb.enabled = false;\n sb.$inputEl.blur();\n if (sb.$hideOnEnableEl) sb.$hideOnEnableEl.removeClass('hidden-by-searchbar');\n sb.$el.trigger('searchbar:disable');\n sb.emit('local::disable searchbarDisable', sb);\n return sb;\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n var sb = this;\n if (sb.enabled) sb.disable();else sb.enable(true);\n return sb;\n }\n }, {\n key: \"backdropShow\",\n value: function backdropShow() {\n var sb = this;\n\n if (sb.$backdropEl) {\n sb.$backdropEl.addClass('searchbar-backdrop-in');\n }\n\n return sb;\n }\n }, {\n key: \"backdropHide\",\n value: function backdropHide() {\n var sb = this;\n\n if (sb.$backdropEl) {\n sb.$backdropEl.removeClass('searchbar-backdrop-in');\n }\n\n return sb;\n }\n }, {\n key: \"search\",\n value: function search(query, internal) {\n var sb = this;\n sb.previousQuery = sb.query || '';\n if (query === sb.previousQuery) return sb;\n\n if (!internal) {\n if (!sb.enabled) {\n sb.enable();\n }\n\n sb.$inputEl.val(query);\n sb.$inputEl.trigger('input');\n }\n\n sb.query = query;\n sb.value = query;\n var $searchContainer = sb.$searchContainer,\n $el = sb.$el,\n $foundEl = sb.$foundEl,\n $notFoundEl = sb.$notFoundEl,\n $hideOnSearchEl = sb.$hideOnSearchEl,\n isVirtualList = sb.isVirtualList; // Hide on search element\n\n if (query.length > 0 && $hideOnSearchEl) {\n $hideOnSearchEl.addClass('hidden-by-searchbar');\n } else if ($hideOnSearchEl) {\n $hideOnSearchEl.removeClass('hidden-by-searchbar');\n } // Add active/inactive classes on overlay\n\n\n if ($searchContainer && $searchContainer.length && $el.hasClass('searchbar-enabled') || sb.params.customSearch && $el.hasClass('searchbar-enabled')) {\n if (query.length === 0) {\n sb.backdropShow();\n } else {\n sb.backdropHide();\n }\n }\n\n if (sb.params.customSearch) {\n $el.trigger('searchbar:search', query, sb.previousQuery);\n sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery);\n return sb;\n }\n\n var foundItems = [];\n var vlQuery;\n\n if (isVirtualList) {\n sb.virtualList = $searchContainer[0].f7VirtualList;\n\n if (query.trim() === '') {\n sb.virtualList.resetFilter();\n if ($notFoundEl) $notFoundEl.hide();\n if ($foundEl) $foundEl.show();\n $el.trigger('searchbar:search', query, sb.previousQuery);\n sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery);\n return sb;\n }\n\n vlQuery = sb.params.removeDiacritics ? _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].removeDiacritics(query) : query;\n\n if (sb.virtualList.params.searchAll) {\n foundItems = sb.virtualList.params.searchAll(vlQuery, sb.virtualList.items) || [];\n } else if (sb.virtualList.params.searchByItem) {\n for (var i = 0; i < sb.virtualList.items.length; i += 1) {\n if (sb.virtualList.params.searchByItem(vlQuery, sb.virtualList.params.items[i], i)) {\n foundItems.push(i);\n }\n }\n }\n } else {\n var values;\n if (sb.params.removeDiacritics) values = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].removeDiacritics(query.trim().toLowerCase()).split(' ');else {\n values = query.trim().toLowerCase().split(' ');\n }\n $searchContainer.find(sb.params.searchItem).removeClass('hidden-by-searchbar').each(function (itemIndex, itemEl) {\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(itemEl);\n var compareWithText = [];\n var $searchIn = sb.params.searchIn ? $itemEl.find(sb.params.searchIn) : $itemEl;\n\n if (sb.params.searchIn === sb.params.searchItem) {\n $searchIn = $itemEl;\n }\n\n $searchIn.each(function (searchInIndex, searchInEl) {\n var itemText = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(searchInEl).text().trim().toLowerCase();\n if (sb.params.removeDiacritics) itemText = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].removeDiacritics(itemText);\n compareWithText.push(itemText);\n });\n compareWithText = compareWithText.join(' ');\n var wordsMatch = 0;\n\n for (var _i = 0; _i < values.length; _i += 1) {\n if (compareWithText.indexOf(values[_i]) >= 0) wordsMatch += 1;\n }\n\n if (wordsMatch !== values.length && !(sb.params.ignore && $itemEl.is(sb.params.ignore))) {\n $itemEl.addClass('hidden-by-searchbar');\n } else {\n foundItems.push($itemEl[0]);\n }\n });\n\n if (sb.params.hideDividers) {\n $searchContainer.find(sb.params.searchGroupTitle).each(function (titleIndex, titleEl) {\n var $titleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(titleEl);\n var $nextElements = $titleEl.nextAll(sb.params.searchItem);\n var hide = true;\n\n for (var _i2 = 0; _i2 < $nextElements.length; _i2 += 1) {\n var $nextEl = $nextElements.eq(_i2);\n if ($nextEl.is(sb.params.searchGroupTitle)) break;\n\n if (!$nextEl.hasClass('hidden-by-searchbar')) {\n hide = false;\n }\n }\n\n var ignore = sb.params.ignore && $titleEl.is(sb.params.ignore);\n if (hide && !ignore) $titleEl.addClass('hidden-by-searchbar');else $titleEl.removeClass('hidden-by-searchbar');\n });\n }\n\n if (sb.params.hideGroups) {\n $searchContainer.find(sb.params.searchGroup).each(function (groupIndex, groupEl) {\n var $groupEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(groupEl);\n var ignore = sb.params.ignore && $groupEl.is(sb.params.ignore); // eslint-disable-next-line\n\n var notHidden = $groupEl.find(sb.params.searchItem).filter(function (index, el) {\n return !Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el).hasClass('hidden-by-searchbar');\n });\n\n if (notHidden.length === 0 && !ignore) {\n $groupEl.addClass('hidden-by-searchbar');\n } else {\n $groupEl.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n\n if (foundItems.length === 0) {\n if ($notFoundEl) $notFoundEl.show();\n if ($foundEl) $foundEl.hide();\n } else {\n if ($notFoundEl) $notFoundEl.hide();\n if ($foundEl) $foundEl.show();\n }\n\n if (isVirtualList && sb.virtualList) {\n sb.virtualList.filterItems(foundItems);\n }\n\n $el.trigger('searchbar:search', query, sb.previousQuery, foundItems);\n sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery, foundItems);\n return sb;\n }\n }, {\n key: \"init\",\n value: function init() {\n var sb = this;\n if (sb.expandable && sb.$el) sb.$el.addClass('searchbar-expandable');\n if (sb.inline && sb.$el) sb.$el.addClass('searchbar-inline');\n sb.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var sb = this;\n sb.emit('local::beforeDestroy searchbarBeforeDestroy', sb);\n sb.$el.trigger('searchbar:beforedestroy', sb);\n sb.detachEvents();\n\n if (sb.$el[0]) {\n sb.$el[0].f7Searchbar = null;\n delete sb.$el[0].f7Searchbar;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(sb);\n }\n }]);\n\n return Searchbar;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Searchbar);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/searchbar/searchbar-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/searchbar/searchbar.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/searchbar/searchbar.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _searchbar_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./searchbar-class */ \"./node_modules/framework7/components/searchbar/searchbar-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'searchbar',\n static: {\n Searchbar: _searchbar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.searchbar = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.searchbar',\n constructor: _searchbar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Searchbar',\n addMethods: 'clear enable disable toggle search'.split(' ')\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.searchbar-init').each(function (index, searchbarEl) {\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.searchbar-init').each(function (index, searchbarEl) {\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.searchbar-init').each(function (index, searchbarEl) {\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.searchbar-init').each(function (index, searchbarEl) {\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n });\n }\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.searchbar-init').each(function (index, searchbarEl) {\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.searchbar-init').each(function (index, searchbarEl) {\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n });\n }\n }\n },\n clicks: {\n '.searchbar-clear': function clear($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.clear();\n },\n '.searchbar-enable': function enable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.enable(true);\n },\n '.searchbar-disable': function disable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.disable();\n },\n '.searchbar-toggle': function toggle($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.toggle();\n }\n },\n vnode: {\n 'searchbar-init': {\n insert: function insert(vnode) {\n var app = this;\n var searchbarEl = vnode.elm;\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n },\n destroy: function destroy(vnode) {\n var searchbarEl = vnode.elm;\n\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/searchbar/searchbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/sheet/sheet-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/sheet/sheet-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Sheet = /*#__PURE__*/function (_Modal) {\n _inherits(Sheet, _Modal);\n\n var _super = _createSuper(Sheet);\n\n function Sheet(app, params) {\n var _this;\n\n _classCallCheck(this, Sheet);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.sheet, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var sheet = _assertThisInitialized(_this);\n\n sheet.params = extendedParams;\n\n if (typeof sheet.params.backdrop === 'undefined') {\n sheet.params.backdrop = app.theme !== 'ios';\n } // Find Element\n\n\n var $el;\n\n if (!sheet.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, sheet.destroy());\n }\n\n var $backdropEl;\n\n if (sheet.params.backdrop && sheet.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.backdropEl);\n } else if (sheet.params.backdrop) {\n $backdropEl = app.root.children('.sheet-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n app.root.append($backdropEl);\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(sheet, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'sheet'\n });\n var $pageContentEl;\n\n function scrollToElementOnOpen() {\n var $scrollEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.scrollToEl).eq(0);\n if ($scrollEl.length === 0) return;\n $pageContentEl = $scrollEl.parents('.page-content');\n if ($pageContentEl.length === 0) return;\n var paddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n var pageHeight = $pageContentEl[0].offsetHeight - paddingTop - $el.height();\n var pageScrollHeight = $pageContentEl[0].scrollHeight - paddingTop - $el.height();\n var pageScroll = $pageContentEl.scrollTop();\n var newPaddingBottom;\n var scrollElTop = $scrollEl.offset().top - paddingTop + $scrollEl[0].offsetHeight;\n\n if (scrollElTop > pageHeight) {\n var scrollTop = pageScroll + scrollElTop - pageHeight;\n\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = $el.height();\n }\n\n $pageContentEl.css({\n 'padding-bottom': \"\".concat(newPaddingBottom, \"px\")\n });\n }\n\n $pageContentEl.scrollTop(scrollTop, 300);\n }\n }\n\n function scrollToElementOnClose() {\n if ($pageContentEl && $pageContentEl.length > 0) {\n $pageContentEl.css({\n 'padding-bottom': ''\n });\n }\n }\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(sheet.el).length === 0) {\n if (sheet.params.closeByBackdropClick && sheet.params.backdrop && sheet.backdropEl && sheet.backdropEl === target) {\n sheet.close();\n } else if (sheet.params.closeByOutsideClick) {\n sheet.close();\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && sheet.params.closeOnEscape) {\n sheet.close();\n }\n }\n\n var isTouched = false;\n var startTouch;\n var currentTouch;\n var isScrolling;\n var touchStartTime;\n var touchesDiff;\n var isMoved = false;\n var isTopSheetModal;\n var swipeStepTranslate;\n var startTranslate;\n var currentTranslate;\n var sheetElOffsetHeight;\n var minTranslate;\n var maxTranslate;\n\n function handleTouchStart(e) {\n if (isTouched || !(sheet.params.swipeToClose || sheet.params.swipeToStep)) return;\n\n if (sheet.params.swipeHandler && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest(sheet.params.swipeHandler).length === 0) {\n return;\n }\n\n isTouched = true;\n isMoved = false;\n startTouch = {\n x: e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY\n };\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n isScrolling = undefined;\n isTopSheetModal = $el.hasClass('sheet-modal-top');\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n currentTouch = {\n x: e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY\n };\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(currentTouch.x - startTouch.x) > Math.abs(currentTouch.y - startTouch.y));\n }\n\n if (isScrolling) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n touchesDiff = startTouch.y - currentTouch.y;\n\n if (!isMoved) {\n sheetElOffsetHeight = $el[0].offsetHeight;\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate($el[0], 'y');\n\n if (isTopSheetModal) {\n minTranslate = sheet.params.swipeToClose ? -sheetElOffsetHeight : -swipeStepTranslate;\n maxTranslate = 0;\n } else {\n minTranslate = 0;\n maxTranslate = sheet.params.swipeToClose ? sheetElOffsetHeight : swipeStepTranslate;\n }\n\n isMoved = true;\n }\n\n currentTranslate = startTranslate - touchesDiff;\n currentTranslate = Math.min(Math.max(currentTranslate, minTranslate), maxTranslate);\n e.preventDefault();\n $el.transition(0).transform(\"translate3d(0,\".concat(currentTranslate, \"px,0)\"));\n\n if (sheet.params.swipeToStep) {\n var progress;\n\n if (isTopSheetModal) {\n progress = 1 - currentTranslate / swipeStepTranslate;\n } else {\n progress = (swipeStepTranslate - currentTranslate) / swipeStepTranslate;\n }\n\n progress = Math.min(Math.max(progress, 0), 1);\n $el.trigger('sheet:stepprogress', progress);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, progress);\n }\n }\n\n function handleTouchEnd() {\n isTouched = false;\n\n if (!isMoved) {\n return;\n }\n\n isMoved = false;\n $el.transform('').transition('');\n var direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';\n var diff = Math.abs(touchesDiff);\n if (diff === 0 || currentTranslate === startTranslate) return;\n var timeDiff = new Date().getTime() - touchStartTime;\n\n if (!sheet.params.swipeToStep) {\n if (direction !== (isTopSheetModal ? 'to-top' : 'to-bottom')) {\n return;\n }\n\n if (timeDiff < 300 && diff > 20 || timeDiff >= 300 && diff > sheetElOffsetHeight / 2) {\n sheet.close();\n }\n\n return;\n }\n\n var openDirection = isTopSheetModal ? 'to-bottom' : 'to-top';\n var closeDirection = isTopSheetModal ? 'to-top' : 'to-bottom';\n var absCurrentTranslate = Math.abs(currentTranslate);\n var absSwipeStepTranslate = Math.abs(swipeStepTranslate);\n\n if (timeDiff < 300 && diff > 10) {\n if (direction === openDirection && absCurrentTranslate < absSwipeStepTranslate) {\n // open step\n $el.removeClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 1);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 1);\n $el.trigger('sheet:stepopen');\n sheet.emit('local::stepOpen sheetStepOpen', sheet);\n }\n\n if (direction === closeDirection && absCurrentTranslate > absSwipeStepTranslate) {\n // close sheet\n if (sheet.params.swipeToClose) {\n sheet.close();\n } else {\n // close step\n $el.addClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 0);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);\n $el.trigger('sheet:stepclose');\n sheet.emit('local::stepClose sheetStepClose', sheet);\n }\n }\n\n if (direction === closeDirection && absCurrentTranslate <= absSwipeStepTranslate) {\n // close step\n $el.addClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 0);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);\n $el.trigger('sheet:stepclose');\n sheet.emit('local::stepClose sheetStepClose', sheet);\n }\n\n return;\n }\n\n if (timeDiff >= 300) {\n var stepOpened = !$el.hasClass('modal-in-swipe-step');\n\n if (!stepOpened) {\n if (absCurrentTranslate < absSwipeStepTranslate / 2) {\n // open step\n $el.removeClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 1);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 1);\n $el.trigger('sheet:stepopen');\n sheet.emit('local::stepOpen sheetStepOpen', sheet);\n } else if (absCurrentTranslate - absSwipeStepTranslate > (sheetElOffsetHeight - absSwipeStepTranslate) / 2) {\n // close sheet\n if (sheet.params.swipeToClose) sheet.close();\n }\n } else if (stepOpened) {\n if (absCurrentTranslate > absSwipeStepTranslate + (sheetElOffsetHeight - absSwipeStepTranslate) / 2) {\n // close sheet\n if (sheet.params.swipeToClose) sheet.close();\n } else if (absCurrentTranslate > absSwipeStepTranslate / 2) {\n // close step\n $el.addClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 0);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);\n $el.trigger('sheet:stepclose');\n sheet.emit('local::stepClose sheetStepClose', sheet);\n }\n }\n }\n }\n\n function setSwipeStep(byResize) {\n var $swipeStepEl = $el.find('.sheet-modal-swipe-step').eq(0);\n if (!$swipeStepEl.length) return;\n\n if ($el.hasClass('sheet-modal-top')) {\n swipeStepTranslate = -($swipeStepEl.offset().top - $el.offset().top + $swipeStepEl[0].offsetHeight);\n } else {\n swipeStepTranslate = $el[0].offsetHeight - ($swipeStepEl.offset().top - $el.offset().top + $swipeStepEl[0].offsetHeight);\n }\n\n $el[0].style.setProperty('--f7-sheet-swipe-step', \"\".concat(swipeStepTranslate, \"px\"));\n\n if (!byResize) {\n $el.addClass('modal-in-swipe-step');\n }\n }\n\n function onResize() {\n setSwipeStep(true);\n }\n\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n\n if (sheet.params.swipeToClose || sheet.params.swipeToStep) {\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n sheet.once('sheetDestroy', function () {\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n });\n }\n\n sheet.on('sheetOpen', function () {\n if (sheet.params.closeOnEscape) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n }\n\n if (sheet.params.swipeToStep) {\n setSwipeStep();\n app.on('resize', onResize);\n }\n\n if (sheet.params.scrollToEl) {\n scrollToElementOnOpen();\n }\n });\n sheet.on('sheetOpened', function () {\n if (sheet.params.closeByOutsideClick || sheet.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n sheet.on('sheetClose', function () {\n if (sheet.params.swipeToStep) {\n $el.removeClass('modal-in-swipe-step');\n app.off('resize', onResize);\n }\n\n if (sheet.params.closeOnEscape) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n }\n\n if (sheet.params.scrollToEl) {\n scrollToElementOnClose();\n }\n\n if (sheet.params.closeByOutsideClick || sheet.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n\n sheet.stepOpen = function stepOpen() {\n $el.removeClass('modal-in-swipe-step');\n };\n\n sheet.stepClose = function stepClose() {\n $el.addClass('modal-in-swipe-step');\n };\n\n sheet.stepToggle = function stepToggle() {\n $el.toggleClass('modal-in-swipe-step');\n };\n\n $el[0].f7Modal = sheet;\n return _possibleConstructorReturn(_this, sheet);\n }\n\n return Sheet;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Sheet);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/sheet/sheet-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/sheet/sheet.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/sheet/sheet.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _sheet_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sheet-class */ \"./node_modules/framework7/components/sheet/sheet-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sheet',\n params: {\n sheet: {\n backdrop: undefined,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeByOutsideClick: false,\n closeOnEscape: false,\n swipeToClose: false,\n swipeToStep: false,\n swipeHandler: null\n }\n },\n static: {\n Sheet: _sheet_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.sheet = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n app: app,\n constructor: _sheet_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n defaultSelector: '.sheet-modal.modal-in'\n }), {\n stepOpen: function stepOpen(sheet) {\n var sheetInstance = app.sheet.get(sheet);\n if (sheetInstance && sheetInstance.stepOpen) return sheetInstance.stepOpen();\n return undefined;\n },\n stepClose: function stepClose(sheet) {\n var sheetInstance = app.sheet.get(sheet);\n if (sheetInstance && sheetInstance.stepClose) return sheetInstance.stepClose();\n return undefined;\n },\n stepToggle: function stepToggle(sheet) {\n var sheetInstance = app.sheet.get(sheet);\n if (sheetInstance && sheetInstance.stepToggle) return sheetInstance.stepToggle();\n return undefined;\n }\n });\n },\n clicks: {\n '.sheet-open': function openSheet($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.sheet-modal.modal-in').length > 0 && data.sheet && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data.sheet)[0] !== Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.sheet-modal.modal-in')[0]) {\n app.sheet.close('.sheet-modal.modal-in');\n }\n\n app.sheet.open(data.sheet, data.animate);\n },\n '.sheet-close': function closeSheet($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sheet.close(data.sheet, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/sheet/sheet.js?"); /***/ }), /***/ "./node_modules/framework7/components/skeleton/skeleton.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/skeleton/skeleton.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'skeleton'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/skeleton/skeleton.js?"); /***/ }), /***/ "./node_modules/framework7/components/smart-select/smart-select-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/smart-select/smart-select-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar SmartSelect = /*#__PURE__*/function (_Framework7Class) {\n _inherits(SmartSelect, _Framework7Class);\n\n var _super = _createSuper(SmartSelect);\n\n function SmartSelect(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, SmartSelect);\n\n _this = _super.call(this, params, [app]);\n\n var ss = _assertThisInitialized(_this);\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.smartSelect);\n\n if (typeof defaults.searchbarDisableButton === 'undefined') {\n defaults.searchbarDisableButton = app.theme !== 'aurora';\n } // Extend defaults with modules params\n\n\n ss.useModulesParams(defaults);\n ss.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, defaults, params);\n ss.app = app;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ss.params.el).eq(0);\n if ($el.length === 0) return _possibleConstructorReturn(_this, ss);\n if ($el[0].f7SmartSelect) return _possibleConstructorReturn(_this, $el[0].f7SmartSelect);\n var $selectEl = $el.find('select').eq(0);\n if ($selectEl.length === 0) return _possibleConstructorReturn(_this, ss);\n var $valueEl;\n\n if (ss.params.setValueText) {\n $valueEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ss.params.valueEl);\n\n if ($valueEl.length === 0) {\n $valueEl = $el.find('.item-after');\n }\n\n if ($valueEl.length === 0) {\n $valueEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $valueEl.insertAfter($el.find('.item-title'));\n }\n } // View\n\n\n var view; // Url\n\n var url = params.url;\n\n if (!url) {\n if ($el.attr('href') && $el.attr('href') !== '#') url = $el.attr('href');else if ($selectEl.attr('name')) url = \"\".concat($selectEl.attr('name').toLowerCase(), \"-select/\");\n }\n\n if (!url) url = ss.params.url;\n var multiple = $selectEl[0].multiple;\n var inputType = multiple ? 'checkbox' : 'radio';\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].id();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(ss, {\n $el: $el,\n el: $el[0],\n $selectEl: $selectEl,\n selectEl: $selectEl[0],\n $valueEl: $valueEl,\n valueEl: $valueEl && $valueEl[0],\n url: url,\n multiple: multiple,\n inputType: inputType,\n id: id,\n view: view,\n inputName: \"\".concat(inputType, \"-\").concat(id),\n selectName: $selectEl.attr('name'),\n maxLength: $selectEl.attr('maxlength') || params.maxLength\n });\n $el[0].f7SmartSelect = ss; // Events\n\n function onClick() {\n ss.open();\n }\n\n function onChange() {\n var value = ss.$selectEl.val();\n ss.$el.trigger('smartselect:change', ss, value);\n ss.emit('local::change smartSelectChange', ss, value);\n ss.setValueText();\n }\n\n ss.attachEvents = function attachEvents() {\n $el.on('click', onClick);\n $el.on('change', 'select', onChange);\n };\n\n ss.detachEvents = function detachEvents() {\n $el.off('click', onClick);\n $el.off('change', 'select', onChange);\n };\n\n function handleInputChange() {\n var optionEl;\n var text;\n var inputEl = this;\n var value = inputEl.value;\n var optionText = [];\n var displayAs;\n\n if (inputEl.type === 'checkbox') {\n for (var i = 0; i < ss.selectEl.options.length; i += 1) {\n optionEl = ss.selectEl.options[i];\n\n if (optionEl.value === value) {\n optionEl.selected = inputEl.checked;\n }\n\n if (optionEl.selected) {\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-value-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText.push(text.trim());\n }\n }\n\n if (ss.maxLength) {\n ss.checkMaxLength();\n }\n } else {\n optionEl = ss.$selectEl.find(\"option[value=\\\"\".concat(value, \"\\\"]\"))[0];\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText = [text];\n ss.selectEl.value = value;\n }\n\n ss.$selectEl.trigger('change');\n\n if (ss.params.setValueText) {\n ss.$valueEl.text(ss.formatValueText(optionText));\n }\n\n if (ss.params.closeOnSelect && ss.inputType === 'radio') {\n ss.close();\n }\n }\n\n ss.attachInputsEvents = function attachInputsEvents() {\n ss.$containerEl.on('change', 'input[type=\"checkbox\"], input[type=\"radio\"]', handleInputChange);\n };\n\n ss.detachInputsEvents = function detachInputsEvents() {\n ss.$containerEl.off('change', 'input[type=\"checkbox\"], input[type=\"radio\"]', handleInputChange);\n }; // Install Modules\n\n\n ss.useModules(); // Init\n\n ss.init();\n return _possibleConstructorReturn(_this, ss);\n }\n\n _createClass(SmartSelect, [{\n key: \"setValue\",\n value: function setValue(value) {\n var ss = this;\n var newValue = value;\n var optionText = [];\n var optionEl;\n var displayAs;\n var text;\n\n if (ss.multiple) {\n if (!Array.isArray(newValue)) newValue = [newValue];\n\n for (var i = 0; i < ss.selectEl.options.length; i += 1) {\n optionEl = ss.selectEl.options[i];\n\n if (newValue.indexOf(optionEl.value) >= 0) {\n optionEl.selected = true;\n } else {\n optionEl.selected = false;\n }\n\n if (optionEl.selected) {\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-value-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText.push(text.trim());\n }\n }\n } else {\n optionEl = ss.$selectEl.find(\"option[value=\\\"\".concat(newValue, \"\\\"]\"))[0];\n\n if (optionEl) {\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText = [text];\n }\n\n ss.selectEl.value = newValue;\n }\n\n if (ss.params.setValueText) {\n ss.$valueEl.text(ss.formatValueText(optionText));\n }\n\n return ss;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var ss = this;\n return ss.$selectEl.val();\n }\n }, {\n key: \"getView\",\n value: function getView() {\n var ss = this;\n var view = ss.view || ss.params.view;\n\n if (!view) {\n view = ss.$el.parents('.view').length && ss.$el.parents('.view')[0].f7View;\n }\n\n if (!view) {\n throw Error('Smart Select requires initialized View');\n }\n\n ss.view = view;\n return view;\n }\n }, {\n key: \"checkMaxLength\",\n value: function checkMaxLength() {\n var ss = this;\n var $containerEl = ss.$containerEl;\n\n if (ss.selectEl.selectedOptions.length >= ss.maxLength) {\n $containerEl.find('input[type=\"checkbox\"]').each(function (index, inputEl) {\n if (!inputEl.checked) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl).parents('li').addClass('disabled');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl).parents('li').removeClass('disabled');\n }\n });\n } else {\n $containerEl.find('.disabled').removeClass('disabled');\n }\n }\n }, {\n key: \"formatValueText\",\n value: function formatValueText(values) {\n var ss = this;\n var textValue;\n\n if (ss.params.formatValueText) {\n textValue = ss.params.formatValueText.call(ss, values, ss);\n } else {\n textValue = values.join(', ');\n }\n\n return textValue;\n }\n }, {\n key: \"setValueText\",\n value: function setValueText(value) {\n var ss = this;\n var valueArray = [];\n\n if (typeof value !== 'undefined') {\n if (Array.isArray(value)) {\n valueArray = value;\n } else {\n valueArray = [value];\n }\n } else {\n ss.$selectEl.find('option').each(function (optionIndex, optionEl) {\n var $optionEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl);\n\n if (optionEl.selected) {\n var displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $optionEl.data('display-value-as');\n\n if (displayAs && typeof displayAs !== 'undefined') {\n valueArray.push(displayAs);\n } else {\n valueArray.push(optionEl.textContent.trim());\n }\n }\n });\n }\n\n if (ss.params.setValueText) {\n ss.$valueEl.text(ss.formatValueText(valueArray));\n }\n }\n }, {\n key: \"getItemsData\",\n value: function getItemsData() {\n var ss = this;\n var items = [];\n var previousGroupEl;\n ss.$selectEl.find('option').each(function (index, optionEl) {\n var $optionEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl);\n var optionData = $optionEl.dataset();\n var optionImage = optionData.optionImage || ss.params.optionImage;\n var optionIcon = optionData.optionIcon || ss.params.optionIcon;\n var optionHasMedia = optionImage || optionIcon; // if (material) optionHasMedia = optionImage || optionIcon;\n\n var optionColor = optionData.optionColor;\n var optionClassName = optionData.optionClass || '';\n if ($optionEl[0].disabled) optionClassName += ' disabled';\n var optionGroupEl = $optionEl.parent('optgroup')[0];\n var optionGroupLabel = optionGroupEl && optionGroupEl.label;\n var optionIsLabel = false;\n\n if (optionGroupEl && optionGroupEl !== previousGroupEl) {\n optionIsLabel = true;\n previousGroupEl = optionGroupEl;\n items.push({\n groupLabel: optionGroupLabel,\n isLabel: optionIsLabel\n });\n }\n\n items.push({\n value: $optionEl[0].value,\n text: $optionEl[0].textContent.trim(),\n selected: $optionEl[0].selected,\n groupEl: optionGroupEl,\n groupLabel: optionGroupLabel,\n image: optionImage,\n icon: optionIcon,\n color: optionColor,\n className: optionClassName,\n disabled: $optionEl[0].disabled,\n id: ss.id,\n hasMedia: optionHasMedia,\n checkbox: ss.inputType === 'checkbox',\n radio: ss.inputType === 'radio',\n inputName: ss.inputName,\n inputType: ss.inputType\n });\n });\n ss.items = items;\n return items;\n }\n }, {\n key: \"renderSearchbar\",\n value: function renderSearchbar() {\n var ss = this;\n if (ss.params.renderSearchbar) return ss.params.renderSearchbar.call(ss);\n var searchbarHTML = \"\\n
          \\n
          \\n
          \\n \\n \\n \\n
          \\n \").concat(ss.params.searchbarDisableButton ? \"\\n \".concat(ss.params.searchbarDisableText, \"\\n \") : '', \"\\n
          \\n
          \\n \");\n return searchbarHTML;\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(item, index) {\n var ss = this;\n if (ss.params.renderItem) return ss.params.renderItem.call(ss, item, index);\n var itemHtml;\n\n if (item.isLabel) {\n itemHtml = \"
        • \".concat(item.groupLabel, \"
        • \");\n } else {\n itemHtml = \"\\n
        • \\n \\n
        • \\n \");\n }\n\n return itemHtml;\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var ss = this;\n if (ss.params.renderItems) return ss.params.renderItems.call(ss, ss.items);\n var itemsHtml = \"\\n \".concat(ss.items.map(function (item, index) {\n return \"\".concat(ss.renderItem(item, index));\n }).join(''), \"\\n \");\n return itemsHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage() {\n var ss = this;\n if (ss.params.renderPage) return ss.params.renderPage.call(ss, ss.items);\n var pageTitle = ss.params.pageTitle;\n\n if (typeof pageTitle === 'undefined') {\n var $itemTitleEl = ss.$el.find('.item-title');\n pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';\n }\n\n var cssClass = ss.params.cssClass;\n var pageHtml = \"\\n
          \\n
          \\n
          \\n \\n \").concat(pageTitle ? \"
          \".concat(pageTitle, \"
          \") : '', \"\\n \").concat(ss.params.searchbar ? \"
          \".concat(ss.renderSearchbar(), \"
          \") : '', \"\\n
          \\n
          \\n \").concat(ss.params.searchbar ? '
          ' : '', \"\\n
          \\n
          \\n
            \").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"
          \\n
          \\n
          \\n
          \\n \");\n return pageHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var ss = this;\n if (ss.params.renderPopup) return ss.params.renderPopup.call(ss, ss.items);\n var pageTitle = ss.params.pageTitle;\n\n if (typeof pageTitle === 'undefined') {\n var $itemTitleEl = ss.$el.find('.item-title');\n pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';\n }\n\n var cssClass = ss.params.cssClass || '';\n var popupHtml = \"\\n
          \\n
          \\n
          \\n
          \\n
          \\n \").concat(pageTitle ? \"
          \".concat(pageTitle, \"
          \") : '', \"\\n \\n \").concat(ss.params.searchbar ? \"
          \".concat(ss.renderSearchbar(), \"
          \") : '', \"\\n
          \\n
          \\n \").concat(ss.params.searchbar ? '
          ' : '', \"\\n
          \\n
          \\n
            \").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n \");\n return popupHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var ss = this;\n if (ss.params.renderSheet) return ss.params.renderSheet.call(ss, ss.items);\n var cssClass = ss.params.cssClass;\n var sheetHtml = \"\\n
          \\n \\n
          \\n
          \\n
          \\n
            \").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"
          \\n
          \\n
          \\n
          \\n
          \\n \");\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var ss = this;\n if (ss.params.renderPopover) return ss.params.renderPopover.call(ss, ss.items);\n var cssClass = ss.params.cssClass;\n var popoverHtml = \"\\n
          \\n
          \\n
          \\n
            \").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"
          \\n
          \\n
          \\n
          \\n \");\n return popoverHtml;\n }\n }, {\n key: \"scrollToSelectedItem\",\n value: function scrollToSelectedItem() {\n var ss = this;\n var params = ss.params,\n $containerEl = ss.$containerEl;\n if (!ss.opened) return ss;\n\n if (params.virtualList) {\n var selectedIndex;\n ss.vl.items.forEach(function (item, index) {\n if (typeof selectedIndex === 'undefined' && item.selected) {\n selectedIndex = index;\n }\n });\n\n if (typeof selectedIndex !== 'undefined') {\n ss.vl.scrollToItem(selectedIndex);\n }\n } else {\n var $selectedItemEl = $containerEl.find('input:checked').parents('li');\n var $pageContentEl = $containerEl.find('.page-content');\n $pageContentEl.scrollTop($selectedItemEl.offset().top - $pageContentEl.offset().top - parseInt($pageContentEl.css('padding-top'), 10));\n }\n\n return ss;\n }\n }, {\n key: \"onOpen\",\n value: function onOpen(type, containerEl) {\n var ss = this;\n var app = ss.app;\n var $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(containerEl);\n ss.$containerEl = $containerEl;\n ss.openedIn = type;\n ss.opened = true; // Init VL\n\n if (ss.params.virtualList) {\n ss.vl = app.virtualList.create({\n el: $containerEl.find('.virtual-list'),\n items: ss.items,\n renderItem: ss.renderItem.bind(ss),\n height: ss.params.virtualListHeight,\n searchByItem: function searchByItem(query, item) {\n if (item.text && item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >= 0) return true;\n return false;\n }\n });\n }\n\n if (ss.params.scrollToSelectedItem) {\n ss.scrollToSelectedItem();\n } // Init SB\n\n\n if (ss.params.searchbar) {\n var $searchbarEl = $containerEl.find('.searchbar');\n\n if (type === 'page' && app.theme === 'ios') {\n $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($containerEl)).find('.searchbar');\n }\n\n if (ss.params.appendSearchbarNotFound && (type === 'page' || type === 'popup')) {\n var $notFoundEl = null;\n\n if (typeof ss.params.appendSearchbarNotFound === 'string') {\n $notFoundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \".concat(ss.params.appendSearchbarNotFound, \"
          \"));\n } else if (typeof ss.params.appendSearchbarNotFound === 'boolean') {\n $notFoundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          Nothing found
          ');\n } else {\n $notFoundEl = ss.params.appendSearchbarNotFound;\n }\n\n if ($notFoundEl) {\n $containerEl.find('.page-content').append($notFoundEl[0]);\n }\n }\n\n var searchbarParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: $searchbarEl,\n backdropEl: $containerEl.find('.searchbar-backdrop'),\n searchContainer: \".smart-select-list-\".concat(ss.id),\n searchIn: '.item-title'\n }, _typeof(ss.params.searchbar) === 'object' ? ss.params.searchbar : {});\n ss.searchbar = app.searchbar.create(searchbarParams);\n } // Check for max length\n\n\n if (ss.maxLength) {\n ss.checkMaxLength();\n } // Close on select\n\n\n if (ss.params.closeOnSelect) {\n ss.$containerEl.find(\"input[type=\\\"radio\\\"][name=\\\"\".concat(ss.inputName, \"\\\"]:checked\")).parents('label').once('click', function () {\n ss.close();\n });\n } // Attach input events\n\n\n ss.attachInputsEvents();\n ss.$el.trigger('smartselect:open', ss);\n ss.emit('local::open smartSelectOpen', ss);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var ss = this;\n ss.$el.trigger('smartselect:opened', ss);\n ss.emit('local::opened smartSelectOpened', ss);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var ss = this;\n if (ss.destroyed) return; // Destroy VL\n\n if (ss.vl && ss.vl.destroy) {\n ss.vl.destroy();\n ss.vl = null;\n delete ss.vl;\n } // Destroy SB\n\n\n if (ss.searchbar && ss.searchbar.destroy) {\n ss.searchbar.destroy();\n ss.searchbar = null;\n delete ss.searchbar;\n } // Detach events\n\n\n ss.detachInputsEvents();\n ss.$el.trigger('smartselect:close', ss);\n ss.emit('local::close smartSelectClose', ss);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var ss = this;\n if (ss.destroyed) return;\n ss.opened = false;\n ss.$containerEl = null;\n delete ss.$containerEl;\n ss.$el.trigger('smartselect:closed', ss);\n ss.emit('local::closed smartSelectClosed', ss);\n }\n }, {\n key: \"openPage\",\n value: function openPage() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var pageHtml = ss.renderPage(ss.items);\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n content: pageHtml,\n path: ss.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n ss.onOpen('page', page.el);\n },\n pageAfterIn: function pageAfterIn(e, page) {\n ss.onOpened('page', page.el);\n },\n pageBeforeOut: function pageBeforeOut(e, page) {\n ss.onClose('page', page.el);\n },\n pageAfterOut: function pageAfterOut(e, page) {\n ss.onClosed('page', page.el);\n }\n }\n }\n });\n return ss;\n }\n }, {\n key: \"openPopup\",\n value: function openPopup() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var popupHtml = ss.renderPopup(ss.items);\n var popupParams = {\n content: popupHtml,\n on: {\n popupOpen: function popupOpen(popup) {\n ss.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n ss.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n ss.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n ss.onClosed('popup', popup.el);\n }\n }\n };\n\n if (ss.params.routableModals) {\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n path: ss.url,\n popup: popupParams\n }\n });\n } else {\n ss.modal = ss.app.popup.create(popupParams).open();\n }\n\n return ss;\n }\n }, {\n key: \"openSheet\",\n value: function openSheet() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var sheetHtml = ss.renderSheet(ss.items);\n var sheetParams = {\n content: sheetHtml,\n backdrop: false,\n scrollToEl: ss.$el,\n closeByOutsideClick: true,\n on: {\n sheetOpen: function sheetOpen(sheet) {\n ss.onOpen('sheet', sheet.el);\n },\n sheetOpened: function sheetOpened(sheet) {\n ss.onOpened('sheet', sheet.el);\n },\n sheetClose: function sheetClose(sheet) {\n ss.onClose('sheet', sheet.el);\n },\n sheetClosed: function sheetClosed(sheet) {\n ss.onClosed('sheet', sheet.el);\n }\n }\n };\n\n if (ss.params.routableModals) {\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n path: ss.url,\n sheet: sheetParams\n }\n });\n } else {\n ss.modal = ss.app.sheet.create(sheetParams).open();\n }\n\n return ss;\n }\n }, {\n key: \"openPopover\",\n value: function openPopover() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var popoverHtml = ss.renderPopover(ss.items);\n var popoverParams = {\n content: popoverHtml,\n targetEl: ss.$el,\n on: {\n popoverOpen: function popoverOpen(popover) {\n ss.onOpen('popover', popover.el);\n },\n popoverOpened: function popoverOpened(popover) {\n ss.onOpened('popover', popover.el);\n },\n popoverClose: function popoverClose(popover) {\n ss.onClose('popover', popover.el);\n },\n popoverClosed: function popoverClosed(popover) {\n ss.onClosed('popover', popover.el);\n }\n }\n };\n\n if (ss.params.routableModals) {\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n path: ss.url,\n popover: popoverParams\n }\n });\n } else {\n ss.modal = ss.app.popover.create(popoverParams).open();\n }\n\n return ss;\n }\n }, {\n key: \"open\",\n value: function open(type) {\n var ss = this;\n if (ss.opened) return ss;\n var prevented = false;\n\n function prevent() {\n prevented = true;\n }\n\n if (ss.$el) {\n ss.$el.trigger('smartselect:beforeopen', {\n prevent: prevent\n });\n }\n\n ss.emit('local::beforeOpen smartSelectBeforeOpen', ss, prevent);\n if (prevented) return ss;\n var openIn = type || ss.params.openIn;\n ss[\"open\".concat(openIn.split('').map(function (el, index) {\n if (index === 0) return el.toUpperCase();\n return el;\n }).join(''))]();\n return ss;\n }\n }, {\n key: \"close\",\n value: function close() {\n var ss = this;\n if (!ss.opened) return ss;\n\n if (ss.params.routableModals || ss.openedIn === 'page') {\n var view = ss.getView();\n view.router.back();\n } else {\n ss.modal.once('modalClosed', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (ss.destroyed) return;\n ss.modal.destroy();\n delete ss.modal;\n });\n });\n ss.modal.close();\n }\n\n return ss;\n }\n }, {\n key: \"init\",\n value: function init() {\n var ss = this;\n ss.attachEvents();\n ss.setValueText();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var ss = this;\n ss.emit('local::beforeDestroy smartSelectBeforeDestroy', ss);\n ss.$el.trigger('smartselect:beforedestroy', ss);\n ss.detachEvents();\n delete ss.$el[0].f7SmartSelect;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(ss);\n ss.destroyed = true;\n }\n }]);\n\n return SmartSelect;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SmartSelect);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/smart-select/smart-select-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/smart-select/smart-select.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/smart-select/smart-select.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _smart_select_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./smart-select-class */ \"./node_modules/framework7/components/smart-select/smart-select-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'smartSelect',\n params: {\n smartSelect: {\n el: undefined,\n valueEl: undefined,\n setValueText: true,\n formatValueText: null,\n openIn: 'page',\n // or 'popup' or 'sheet' or 'popover'\n pageTitle: undefined,\n pageBackLinkText: 'Back',\n popupCloseLinkText: 'Close',\n popupTabletFullscreen: false,\n sheetCloseLinkText: 'Done',\n searchbar: false,\n searchbarPlaceholder: 'Search',\n searchbarDisableText: 'Cancel',\n searchbarDisableButton: undefined,\n closeOnSelect: false,\n virtualList: false,\n virtualListHeight: undefined,\n scrollToSelectedItem: false,\n formColorTheme: undefined,\n navbarColorTheme: undefined,\n routableModals: true,\n url: 'select/',\n cssClass: '',\n\n /*\n Custom render functions\n */\n renderPage: undefined,\n renderPopup: undefined,\n renderSheet: undefined,\n renderPopover: undefined,\n renderItems: undefined,\n renderItem: undefined,\n renderSearchbar: undefined\n }\n },\n static: {\n SmartSelect: _smart_select_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.smartSelect = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.smart-select',\n constructor: _smart_select_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7SmartSelect'\n }), {\n open: function open(smartSelectEl) {\n var ss = app.smartSelect.get(smartSelectEl);\n if (ss && ss.open) return ss.open();\n return undefined;\n },\n close: function close(smartSelectEl) {\n var ss = app.smartSelect.get(smartSelectEl);\n if (ss && ss.close) return ss.close();\n return undefined;\n }\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.smart-select-init').each(function (index, smartSelectEl) {\n app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: smartSelectEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(smartSelectEl).dataset()));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.smart-select-init').each(function (index, smartSelectEl) {\n if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {\n smartSelectEl.f7SmartSelect.destroy();\n }\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.smart-select-init').each(function (index, smartSelectEl) {\n app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: smartSelectEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(smartSelectEl).dataset()));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.smart-select-init').each(function (index, smartSelectEl) {\n if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {\n smartSelectEl.f7SmartSelect.destroy();\n }\n });\n }\n },\n clicks: {\n '.smart-select': function open($clickedEl, data) {\n var app = this;\n\n if (!$clickedEl[0].f7SmartSelect) {\n var ss = app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: $clickedEl\n }, data));\n ss.open();\n }\n }\n },\n vnode: {\n 'smart-select-init': {\n insert: function insert(vnode) {\n var app = this;\n var smartSelectEl = vnode.elm;\n app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: smartSelectEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(smartSelectEl).dataset()));\n },\n destroy: function destroy(vnode) {\n var smartSelectEl = vnode.elm;\n\n if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {\n smartSelectEl.f7SmartSelect.destroy();\n }\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/smart-select/smart-select.js?"); /***/ }), /***/ "./node_modules/framework7/components/sortable/sortable.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/sortable/sortable.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\nvar Sortable = {\n init: function init() {\n var app = this;\n var isTouched;\n var isMoved;\n var touchStartY;\n var touchesDiff;\n var $sortingEl;\n var $sortingItems;\n var $sortableContainer;\n var sortingElHeight;\n var minTop;\n var maxTop;\n var $insertAfterEl;\n var $insertBeforeEl;\n var indexFrom;\n var $pageEl;\n var $pageContentEl;\n var pageHeight;\n var pageOffset;\n var sortingElOffsetLocal;\n var sortingElOffsetTop;\n var initialScrollTop;\n\n function handleTouchStart(e) {\n isMoved = false;\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n $sortingEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).parent('li');\n indexFrom = $sortingEl.index();\n $sortableContainer = $sortingEl.parents('.sortable');\n var $listGroup = $sortingEl.parents('.list-group');\n\n if ($listGroup.length && $listGroup.parents($sortableContainer).length) {\n $sortableContainer = $listGroup;\n }\n\n $sortingItems = $sortableContainer.children('ul').children('li:not(.disallow-sorting):not(.no-sorting)');\n if (app.panel) app.panel.allowOpen = false;\n if (app.swipeout) app.swipeout.allow = false;\n }\n\n function handleTouchMove(e) {\n if (!isTouched || !$sortingEl) return;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!isMoved) {\n $pageEl = $sortingEl.parents('.page');\n $pageContentEl = $sortingEl.parents('.page-content');\n var paddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n initialScrollTop = $pageContentEl[0].scrollTop;\n pageOffset = $pageEl.offset().top + paddingTop;\n pageHeight = $pageEl.height() - paddingTop - paddingBottom;\n $sortingEl.addClass('sorting');\n $sortableContainer.addClass('sortable-sorting');\n sortingElOffsetLocal = $sortingEl[0].offsetTop;\n minTop = $sortingEl[0].offsetTop;\n maxTop = $sortingEl.parent().height() - sortingElOffsetLocal - $sortingEl.height();\n sortingElHeight = $sortingEl[0].offsetHeight;\n sortingElOffsetTop = $sortingEl.offset().top;\n }\n\n isMoved = true;\n e.preventDefault();\n e.f7PreventSwipePanel = true;\n touchesDiff = pageY - touchStartY;\n var translateScrollOffset = $pageContentEl[0].scrollTop - initialScrollTop;\n var translate = Math.min(Math.max(touchesDiff + translateScrollOffset, -minTop), maxTop);\n $sortingEl.transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n var scrollAddition = 44;\n var allowScroll = true;\n\n if (touchesDiff + translateScrollOffset + scrollAddition < -minTop) {\n allowScroll = false;\n }\n\n if (touchesDiff + translateScrollOffset - scrollAddition > maxTop) {\n allowScroll = false;\n }\n\n $insertBeforeEl = undefined;\n $insertAfterEl = undefined;\n var scrollDiff;\n\n if (allowScroll) {\n if (sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition > pageOffset + pageHeight) {\n // To Bottom\n scrollDiff = sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition - (pageOffset + pageHeight);\n }\n\n if (sortingElOffsetTop + touchesDiff < pageOffset + scrollAddition) {\n // To Top\n scrollDiff = sortingElOffsetTop + touchesDiff - pageOffset - scrollAddition;\n }\n\n if (scrollDiff) {\n $pageContentEl[0].scrollTop += scrollDiff;\n }\n }\n\n $sortingItems.each(function (index, el) {\n var $currentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($currentEl[0] === $sortingEl[0]) return;\n var currentElOffset = $currentEl[0].offsetTop;\n var currentElHeight = $currentEl.height();\n var sortingElOffset = sortingElOffsetLocal + translate;\n\n if (sortingElOffset >= currentElOffset - currentElHeight / 2 && $sortingEl.index() < $currentEl.index()) {\n $currentEl.transform(\"translate3d(0, \".concat(-sortingElHeight, \"px,0)\"));\n $insertAfterEl = $currentEl;\n $insertBeforeEl = undefined;\n } else if (sortingElOffset <= currentElOffset + currentElHeight / 2 && $sortingEl.index() > $currentEl.index()) {\n $currentEl.transform(\"translate3d(0, \".concat(sortingElHeight, \"px,0)\"));\n $insertAfterEl = undefined;\n if (!$insertBeforeEl) $insertBeforeEl = $currentEl;\n } else {\n $currentEl.transform('translate3d(0, 0%,0)');\n }\n });\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n\n if (isTouched && !isMoved) {\n if (app.panel) app.panel.allowOpen = true;\n if (app.swipeout) app.swipeout.allow = true;\n }\n\n return;\n }\n\n if (app.panel) app.panel.allowOpen = true;\n if (app.swipeout) app.swipeout.allow = true;\n $sortingItems.transform('');\n $sortingEl.removeClass('sorting');\n $sortableContainer.removeClass('sortable-sorting');\n var indexTo;\n if ($insertAfterEl) indexTo = $insertAfterEl.index();else if ($insertBeforeEl) indexTo = $insertBeforeEl.index();\n var moveElements = $sortableContainer.dataset().sortableMoveElements;\n\n if (typeof moveElements === 'undefined') {\n moveElements = app.params.sortable.moveElements;\n }\n\n if (moveElements) {\n if ($insertAfterEl) {\n $sortingEl.insertAfter($insertAfterEl);\n }\n\n if ($insertBeforeEl) {\n $sortingEl.insertBefore($insertBeforeEl);\n }\n }\n\n if (($insertAfterEl || $insertBeforeEl) && $sortableContainer.hasClass('virtual-list')) {\n indexFrom = $sortingEl[0].f7VirtualListIndex;\n if (typeof indexFrom === 'undefined') indexFrom = $sortingEl.attr('data-virtual-list-index');\n\n if ($insertBeforeEl) {\n indexTo = $insertBeforeEl[0].f7VirtualListIndex;\n if (typeof indexTo === 'undefined') indexTo = $insertBeforeEl.attr('data-virtual-list-index');\n } else {\n indexTo = $insertAfterEl[0].f7VirtualListIndex;\n if (typeof indexTo === 'undefined') indexTo = $insertAfterEl.attr('data-virtual-list-index');\n }\n\n if (indexTo !== null) indexTo = parseInt(indexTo, 10);else indexTo = undefined;\n var virtualList = $sortableContainer[0].f7VirtualList;\n if (virtualList) virtualList.moveItem(indexFrom, indexTo);\n }\n\n if (typeof indexTo !== 'undefined' && !Number.isNaN(indexTo) && indexTo !== indexFrom) {\n $sortingEl.trigger('sortable:sort', {\n from: indexFrom,\n to: indexTo\n });\n app.emit('sortableSort', $sortingEl[0], {\n from: indexFrom,\n to: indexTo\n });\n }\n\n $insertBeforeEl = undefined;\n $insertAfterEl = undefined;\n isTouched = false;\n isMoved = false;\n }\n\n var activeListener = app.support.passiveListener ? {\n passive: false,\n capture: false\n } : false;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on(app.touchEvents.start, '.list.sortable .sortable-handler', handleTouchStart, activeListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n },\n enable: function enable() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.list.sortable';\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n $el.addClass('sortable-enabled');\n $el.trigger('sortable:enable');\n app.emit('sortableEnable', $el[0]);\n },\n disable: function disable() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.list.sortable';\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n $el.removeClass('sortable-enabled');\n $el.trigger('sortable:disable');\n app.emit('sortableDisable', $el[0]);\n },\n toggle: function toggle() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.list.sortable';\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n\n if ($el.hasClass('sortable-enabled')) {\n app.sortable.disable($el);\n } else {\n app.sortable.enable($el);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sortable',\n params: {\n sortable: {\n moveElements: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n sortable: {\n init: Sortable.init.bind(app),\n enable: Sortable.enable.bind(app),\n disable: Sortable.disable.bind(app),\n toggle: Sortable.toggle.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n if (!app.params.sortable) return;\n app.sortable.init();\n }\n },\n clicks: {\n '.sortable-enable': function enable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sortable.enable(data.sortable);\n },\n '.sortable-disable': function disable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sortable.disable(data.sortable);\n },\n '.sortable-toggle': function toggle($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sortable.toggle(data.sortable);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/sortable/sortable.js?"); /***/ }), /***/ "./node_modules/framework7/components/statusbar/statusbar.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/statusbar/statusbar.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n\n\n\nvar Statusbar = {\n hide: function hide() {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.hide();\n }\n },\n show: function show() {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.show();\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].needsStatusbarOverlay()) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n }\n });\n return;\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n },\n onClick: function onClick() {\n var app = this;\n var pageContent;\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popup.modal-in').length > 0) {\n // Check for opened popup\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popup.modal-in').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active').length > 0) {\n // Check for opened panel\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views > .view.tab-active').length > 0) {\n // View in tab bar app layout\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views > .view.tab-active').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views').length > 0) {\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else {\n pageContent = app.root.children('.view').find('.page:not(.page-previous):not(.page-next):not(.cached)').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\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n },\n setTextColor: function setTextColor(color) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n if (color === 'white') {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleLightContent();\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleDefault();\n }\n }\n },\n setIosTextColor: function setIosTextColor(color) {\n if (!_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) return;\n Statusbar.setTextColor(color);\n },\n setBackgroundColor: function setBackgroundColor(color) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.statusbar').css('background-color', color);\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.backgroundColorByHexString(color);\n }\n },\n isVisible: function isVisible() {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.isVisible;\n }\n\n return false;\n },\n overlaysWebView: function overlaysWebView() {\n var overlays = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(overlays);\n\n if (overlays) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n }\n },\n checkOverlay: function checkOverlay() {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].needsStatusbarOverlay()) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n },\n init: function init() {\n var app = this;\n var params = app.params.statusbar;\n if (!params.enabled) return;\n\n if (params.overlay === 'auto') {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].needsStatusbarOverlay()) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios && (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].webView)) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation === 0) {\n app.once('resize', function () {\n Statusbar.checkOverlay();\n });\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('resume', function () {\n Statusbar.checkOverlay();\n }, false);\n app.on(_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios ? 'orientationchange' : 'orientationchange resize', function () {\n Statusbar.checkOverlay();\n });\n }\n } else if (params.overlay === true) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else if (params.overlay === false) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n if (params.scrollTopOnClick) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"]).on('statusTap', Statusbar.onClick.bind(app));\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) {\n if (params.iosOverlaysWebView) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(true);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(false);\n }\n\n if (params.iosTextColor === 'white') {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleLightContent();\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleDefault();\n }\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n if (params.androidOverlaysWebView) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(true);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(false);\n }\n\n if (params.androidTextColor === 'white') {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleLightContent();\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleDefault();\n }\n }\n }\n\n if (params.iosBackgroundColor && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) {\n Statusbar.setBackgroundColor(params.iosBackgroundColor);\n }\n\n if ((params.materialBackgroundColor || params.androidBackgroundColor) && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n Statusbar.setBackgroundColor(params.materialBackgroundColor || params.androidBackgroundColor);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'statusbar',\n params: {\n statusbar: {\n enabled: true,\n overlay: 'auto',\n scrollTopOnClick: true,\n iosOverlaysWebView: true,\n iosTextColor: 'black',\n iosBackgroundColor: null,\n androidOverlaysWebView: false,\n androidTextColor: 'black',\n androidBackgroundColor: null\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n statusbar: {\n checkOverlay: Statusbar.checkOverlay,\n hide: Statusbar.hide,\n show: Statusbar.show,\n overlaysWebView: Statusbar.overlaysWebView,\n setTextColor: Statusbar.setTextColor,\n setBackgroundColor: Statusbar.setBackgroundColor,\n isVisible: Statusbar.isVisible,\n init: Statusbar.init.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n Statusbar.init.call(app);\n }\n },\n clicks: {\n '.statusbar': function onStatusbarClick() {\n var app = this;\n if (!app.params.statusbar.enabled) return;\n if (!app.params.statusbar.scrollTopOnClick) return;\n Statusbar.onClick.call(app);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/statusbar/statusbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/stepper/stepper-class.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/stepper/stepper-class.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Stepper = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Stepper, _Framework7Class);\n\n var _super = _createSuper(Stepper);\n\n function Stepper(app, params) {\n var _this;\n\n _classCallCheck(this, Stepper);\n\n _this = _super.call(this, params, [app]);\n\n var stepper = _assertThisInitialized(_this);\n\n var defaults = {\n el: null,\n inputEl: null,\n valueEl: null,\n value: 0,\n formatValue: null,\n step: 1,\n min: 0,\n max: 100,\n watchInput: true,\n autorepeat: false,\n autorepeatDynamic: false,\n wraps: false,\n manualInputMode: false,\n decimalPoint: 4,\n buttonsEndInputMode: true\n }; // Extend defaults with modules params\n\n stepper.useModulesParams(defaults);\n stepper.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n\n if (stepper.params.value < stepper.params.min) {\n stepper.params.value = stepper.params.min;\n }\n\n if (stepper.params.value > stepper.params.max) {\n stepper.params.value = stepper.params.max;\n }\n\n var el = stepper.params.el;\n if (!el) return _possibleConstructorReturn(_this, stepper);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, stepper);\n if ($el[0].f7Stepper) return _possibleConstructorReturn(_this, $el[0].f7Stepper);\n var $inputEl;\n\n if (stepper.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepper.params.inputEl);\n } else if ($el.find('.stepper-input-wrap').find('input, textarea').length) {\n $inputEl = $el.find('.stepper-input-wrap').find('input, textarea').eq(0);\n }\n\n if ($inputEl && $inputEl.length) {\n 'step min max'.split(' ').forEach(function (paramName) {\n if (!params[paramName] && $inputEl.attr(paramName)) {\n stepper.params[paramName] = parseFloat($inputEl.attr(paramName));\n }\n });\n\n var _decimalPoint = parseInt(stepper.params.decimalPoint, 10);\n\n if (Number.isNaN(_decimalPoint)) {\n stepper.params.decimalPoint = 0;\n } else {\n stepper.params.decimalPoint = _decimalPoint;\n }\n\n var inputValue = parseFloat($inputEl.val());\n\n if (typeof params.value === 'undefined' && !Number.isNaN(inputValue) && (inputValue || inputValue === 0)) {\n stepper.params.value = inputValue;\n }\n }\n\n var $valueEl;\n\n if (stepper.params.valueEl) {\n $valueEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepper.params.valueEl);\n } else if ($el.find('.stepper-value').length) {\n $valueEl = $el.find('.stepper-value').eq(0);\n }\n\n var $buttonPlusEl = $el.find('.stepper-button-plus');\n var $buttonMinusEl = $el.find('.stepper-button-minus');\n var _stepper$params = stepper.params,\n step = _stepper$params.step,\n min = _stepper$params.min,\n max = _stepper$params.max,\n value = _stepper$params.value,\n decimalPoint = _stepper$params.decimalPoint;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(stepper, {\n app: app,\n $el: $el,\n el: $el[0],\n $buttonPlusEl: $buttonPlusEl,\n buttonPlusEl: $buttonPlusEl[0],\n $buttonMinusEl: $buttonMinusEl,\n buttonMinusEl: $buttonMinusEl[0],\n $inputEl: $inputEl,\n inputEl: $inputEl ? $inputEl[0] : undefined,\n $valueEl: $valueEl,\n valueEl: $valueEl ? $valueEl[0] : undefined,\n step: step,\n min: min,\n max: max,\n value: value,\n decimalPoint: decimalPoint,\n typeModeChanged: false\n });\n $el[0].f7Stepper = stepper; // Handle Events\n\n var touchesStart = {};\n var isTouched;\n var isScrolling;\n var preventButtonClick;\n var intervalId;\n var timeoutId;\n var autorepeatAction = null;\n var autorepeatInAction = false;\n var manualInput = false;\n\n function dynamicRepeat(current, progressions, startsIn, progressionStep, repeatEvery, action) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(function () {\n if (current === 1) {\n preventButtonClick = true;\n autorepeatInAction = true;\n }\n\n clearInterval(intervalId);\n action();\n intervalId = setInterval(function () {\n action();\n }, repeatEvery);\n\n if (current < progressions) {\n dynamicRepeat(current + 1, progressions, startsIn, progressionStep, repeatEvery / 2, action);\n }\n }, current === 1 ? startsIn : progressionStep);\n }\n\n function onTouchStart(e) {\n if (isTouched) return;\n\n if (manualInput) {\n return;\n }\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest($buttonPlusEl).length) {\n autorepeatAction = 'increment';\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest($buttonMinusEl).length) {\n autorepeatAction = 'decrement';\n }\n\n if (!autorepeatAction) 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 isTouched = true;\n isScrolling = undefined;\n var progressions = stepper.params.autorepeatDynamic ? 4 : 1;\n dynamicRepeat(1, progressions, 500, 1000, 300, function () {\n stepper[autorepeatAction]();\n });\n }\n\n function onTouchMove(e) {\n if (!isTouched) return;\n\n if (manualInput) {\n return;\n }\n\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined' && !autorepeatInAction) {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n var distance = Math.pow(Math.pow(pageX - touchesStart.x, 2) + Math.pow(pageY - touchesStart.y, 2), 0.5);\n\n if (isScrolling || distance > 20) {\n isTouched = false;\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n }\n }\n\n function onTouchEnd() {\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n autorepeatAction = null;\n autorepeatInAction = false;\n isTouched = false;\n }\n\n function onMinusClick() {\n if (manualInput) {\n if (stepper.params.buttonsEndInputMode) {\n manualInput = false;\n stepper.endTypeMode(true);\n }\n\n return;\n }\n\n if (preventButtonClick) {\n preventButtonClick = false;\n return;\n }\n\n stepper.decrement(true);\n }\n\n function onPlusClick() {\n if (manualInput) {\n if (stepper.params.buttonsEndInputMode) {\n manualInput = false;\n stepper.endTypeMode(true);\n }\n\n return;\n }\n\n if (preventButtonClick) {\n preventButtonClick = false;\n return;\n }\n\n stepper.increment(true);\n }\n\n function onInputClick(e) {\n if (!e.target.readOnly && stepper.params.manualInputMode) {\n manualInput = true;\n\n if (typeof e.target.selectionStart === 'number') {\n e.target.selectionStart = e.target.value.length;\n e.target.selectionEnd = e.target.value.length;\n }\n }\n }\n\n function onInputKey(e) {\n if (e.keyCode === 13 || e.which === 13) {\n e.preventDefault();\n manualInput = false;\n stepper.endTypeMode();\n }\n }\n\n function onInputBlur() {\n manualInput = false;\n stepper.endTypeMode(true);\n }\n\n function onInput(e) {\n if (manualInput) {\n stepper.typeValue(e.target.value);\n return;\n }\n\n if (e.detail && e.detail.sentByF7Stepper) return;\n stepper.setValue(e.target.value, true);\n }\n\n stepper.attachEvents = function attachEvents() {\n $buttonMinusEl.on('click', onMinusClick);\n $buttonPlusEl.on('click', onPlusClick);\n\n if (stepper.params.watchInput && $inputEl && $inputEl.length) {\n $inputEl.on('input', onInput);\n $inputEl.on('click', onInputClick);\n $inputEl.on('blur', onInputBlur);\n $inputEl.on('keyup', onInputKey);\n }\n\n if (stepper.params.autorepeat) {\n app.on('touchstart:passive', onTouchStart);\n app.on('touchmove:active', onTouchMove);\n app.on('touchend:passive', onTouchEnd);\n }\n };\n\n stepper.detachEvents = function detachEvents() {\n $buttonMinusEl.off('click', onMinusClick);\n $buttonPlusEl.off('click', onPlusClick);\n\n if (stepper.params.watchInput && $inputEl && $inputEl.length) {\n $inputEl.off('input', onInput);\n $inputEl.off('click', onInputClick);\n $inputEl.off('blur', onInputBlur);\n $inputEl.off('keyup', onInputKey);\n }\n }; // Install Modules\n\n\n stepper.useModules(); // Init\n\n stepper.init();\n return _possibleConstructorReturn(_this, stepper);\n }\n\n _createClass(Stepper, [{\n key: \"minus\",\n value: function minus() {\n return this.decrement();\n }\n }, {\n key: \"plus\",\n value: function plus() {\n return this.increment();\n }\n }, {\n key: \"decrement\",\n value: function decrement() {\n var stepper = this;\n return stepper.setValue(stepper.value - stepper.step, false, true);\n }\n }, {\n key: \"increment\",\n value: function increment() {\n var stepper = this;\n return stepper.setValue(stepper.value + stepper.step, false, true);\n }\n }, {\n key: \"setValue\",\n value: function setValue(newValue, forceUpdate, withWraps) {\n var stepper = this;\n var step = stepper.step,\n min = stepper.min,\n max = stepper.max;\n var oldValue = stepper.value;\n var value = Math.round(newValue / step) * step;\n\n if (stepper.params.wraps && withWraps) {\n if (value > max) value = min;\n if (value < min) value = max;\n } else {\n value = Math.max(Math.min(value, max), min);\n }\n\n if (Number.isNaN(value)) {\n value = oldValue;\n }\n\n stepper.value = value;\n var valueChanged = oldValue !== value; // Events\n\n if (!valueChanged && !forceUpdate) return stepper;\n stepper.$el.trigger('stepper:change', stepper, stepper.value);\n var formattedValue = stepper.formatValue(stepper.value);\n\n if (stepper.$inputEl && stepper.$inputEl.length) {\n stepper.$inputEl.val(formattedValue);\n stepper.$inputEl.trigger('input change', {\n sentByF7Stepper: true\n });\n }\n\n if (stepper.$valueEl && stepper.$valueEl.length) {\n stepper.$valueEl.html(formattedValue);\n }\n\n stepper.emit('local::change stepperChange', stepper, stepper.value);\n return stepper;\n }\n }, {\n key: \"endTypeMode\",\n value: function endTypeMode(noBlur) {\n var stepper = this;\n var min = stepper.min,\n max = stepper.max;\n var value = parseFloat(stepper.value);\n if (Number.isNaN(value)) value = 0;\n value = Math.max(Math.min(value, max), min);\n stepper.value = value;\n\n if (!stepper.typeModeChanged) {\n if (stepper.$inputEl && stepper.$inputEl.length && !noBlur) {\n stepper.$inputEl.blur();\n }\n\n return stepper;\n }\n\n stepper.typeModeChanged = false;\n stepper.$el.trigger('stepper:change', stepper, stepper.value);\n var formattedValue = stepper.formatValue(stepper.value);\n\n if (stepper.$inputEl && stepper.$inputEl.length) {\n stepper.$inputEl.val(formattedValue);\n stepper.$inputEl.trigger('input change', {\n sentByF7Stepper: true\n });\n if (!noBlur) stepper.$inputEl.blur();\n }\n\n if (stepper.$valueEl && stepper.$valueEl.length) {\n stepper.$valueEl.html(formattedValue);\n }\n\n stepper.emit('local::change stepperChange', stepper, stepper.value);\n return stepper;\n }\n }, {\n key: \"typeValue\",\n value: function typeValue(value) {\n var stepper = this;\n stepper.typeModeChanged = true;\n var inputTxt = String(value);\n\n if (inputTxt.lastIndexOf('.') + 1 === inputTxt.length || inputTxt.lastIndexOf(',') + 1 === inputTxt.length) {\n if (inputTxt.lastIndexOf('.') !== inputTxt.indexOf('.') || inputTxt.lastIndexOf(',') !== inputTxt.indexOf(',')) {\n inputTxt = inputTxt.slice(0, -1);\n stepper.value = inputTxt;\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n } else {\n var newValue = parseFloat(inputTxt.replace(',', '.'));\n\n if (newValue === 0) {\n stepper.value = inputTxt.replace(',', '.');\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n\n if (Number.isNaN(newValue)) {\n stepper.value = 0;\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n\n var powVal = Math.pow(10, stepper.params.decimalPoint);\n newValue = Math.round(newValue * powVal).toFixed(stepper.params.decimalPoint + 1) / powVal;\n stepper.value = parseFloat(String(newValue).replace(',', '.'));\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n\n stepper.value = inputTxt;\n stepper.$inputEl.val(inputTxt);\n return stepper;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.value;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue(value) {\n var stepper = this;\n if (!stepper.params.formatValue) return value;\n return stepper.params.formatValue.call(stepper, value);\n }\n }, {\n key: \"init\",\n value: function init() {\n var stepper = this;\n stepper.attachEvents();\n\n if (stepper.$valueEl && stepper.$valueEl.length) {\n var formattedValue = stepper.formatValue(stepper.value);\n stepper.$valueEl.html(formattedValue);\n }\n\n return stepper;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var stepper = this;\n stepper.$el.trigger('stepper:beforedestroy', stepper);\n stepper.emit('local::beforeDestroy stepperBeforeDestroy', stepper);\n delete stepper.$el[0].f7Stepper;\n stepper.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(stepper);\n stepper = null;\n }\n }]);\n\n return Stepper;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Stepper);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/stepper/stepper-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/stepper/stepper.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/stepper/stepper.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _stepper_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stepper-class */ \"./node_modules/framework7/components/stepper/stepper-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'stepper',\n create: function create() {\n var app = this;\n app.stepper = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.stepper',\n constructor: _stepper_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Stepper'\n }), {\n getValue: function getValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.stepper';\n var stepper = app.stepper.get(el);\n if (stepper) return stepper.getValue();\n return undefined;\n },\n setValue: function setValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.stepper';\n var value = arguments.length > 1 ? arguments[1] : undefined;\n var stepper = app.stepper.get(el);\n if (stepper) return stepper.setValue(value);\n return undefined;\n }\n });\n },\n static: {\n Stepper: _stepper_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.stepper-init').each(function (index, stepperEl) {\n var dataset = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepperEl).dataset();\n app.stepper.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: stepperEl\n }, dataset || {}));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.stepper-init').each(function (index, stepperEl) {\n if (stepperEl.f7Stepper) stepperEl.f7Stepper.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.stepper-init').each(function (index, stepperEl) {\n var dataset = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepperEl).dataset();\n app.stepper.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: stepperEl\n }, dataset || {}));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.stepper-init').each(function (index, stepperEl) {\n if (stepperEl.f7Stepper) stepperEl.f7Stepper.destroy();\n });\n }\n },\n vnode: {\n 'stepper-init': {\n insert: function insert(vnode) {\n var app = this;\n var stepperEl = vnode.elm;\n var dataset = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepperEl).dataset();\n app.stepper.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: stepperEl\n }, dataset || {}));\n },\n destroy: function destroy(vnode) {\n var stepperEl = vnode.elm;\n if (stepperEl.f7Stepper) stepperEl.f7Stepper.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/stepper/stepper.js?"); /***/ }), /***/ "./node_modules/framework7/components/subnavbar/subnavbar.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/subnavbar/subnavbar.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'subnavbar',\n on: {\n pageInit: function pageInit(page) {\n if (page.$navbarEl && page.$navbarEl.length && page.$navbarEl.find('.subnavbar').length) {\n page.$el.addClass('page-with-subnavbar');\n }\n\n if (page.$el.find('.subnavbar').length) {\n page.$el.addClass('page-with-subnavbar');\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/subnavbar/subnavbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/swipeout/swipeout.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/swipeout/swipeout.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\nvar Swipeout = {\n init: function init() {\n var app = this;\n var touchesStart = {};\n var isTouched;\n var isMoved;\n var isScrolling;\n var touchStartTime;\n var touchesDiff;\n var $swipeoutEl;\n var $swipeoutContent;\n var $actionsRight;\n var $actionsLeft;\n var actionsLeftWidth;\n var actionsRightWidth;\n var translate;\n var opened;\n var openedActionsSide;\n var $leftButtons;\n var $rightButtons;\n var direction;\n var $overswipeLeftButton;\n var $overswipeRightButton;\n var overswipeLeft;\n var overswipeRight;\n\n function handleTouchStart(e) {\n if (!Swipeout.allow) 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 = new Date().getTime();\n $swipeoutEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n if (!isMoved) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.list.sortable-opened').length > 0) return;\n $swipeoutContent = $swipeoutEl.find('.swipeout-content');\n $actionsRight = $swipeoutEl.find('.swipeout-actions-right');\n $actionsLeft = $swipeoutEl.find('.swipeout-actions-left');\n actionsLeftWidth = null;\n actionsRightWidth = null;\n $leftButtons = null;\n $rightButtons = null;\n $overswipeRightButton = null;\n $overswipeLeftButton = null;\n\n if ($actionsLeft.length > 0) {\n actionsLeftWidth = $actionsLeft.outerWidth();\n $leftButtons = $actionsLeft.children('a');\n $overswipeLeftButton = $actionsLeft.find('.swipeout-overswipe');\n }\n\n if ($actionsRight.length > 0) {\n actionsRightWidth = $actionsRight.outerWidth();\n $rightButtons = $actionsRight.children('a');\n $overswipeRightButton = $actionsRight.find('.swipeout-overswipe');\n }\n\n opened = $swipeoutEl.hasClass('swipeout-opened');\n\n if (opened) {\n openedActionsSide = $swipeoutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right';\n }\n\n $swipeoutEl.removeClass('swipeout-transitioning');\n\n if (!app.params.swipeout.noFollow) {\n $swipeoutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n $swipeoutEl.removeClass('swipeout-opened');\n }\n }\n\n isMoved = true;\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x;\n translate = touchesDiff;\n\n if (opened) {\n if (openedActionsSide === 'right') translate -= actionsRightWidth;else translate += actionsLeftWidth;\n }\n\n if (translate > 0 && $actionsLeft.length === 0 || translate < 0 && $actionsRight.length === 0) {\n if (!opened) {\n isTouched = false;\n isMoved = false;\n $swipeoutContent.transform('');\n\n if ($rightButtons && $rightButtons.length > 0) {\n $rightButtons.transform('');\n }\n\n if ($leftButtons && $leftButtons.length > 0) {\n $leftButtons.transform('');\n }\n\n return;\n }\n\n translate = 0;\n }\n\n if (translate < 0) direction = 'to-left';else if (translate > 0) direction = 'to-right';else if (!direction) direction = 'to-left';\n var buttonOffset;\n var progress;\n e.f7PreventSwipePanel = true;\n\n if (app.params.swipeout.noFollow) {\n if (opened) {\n if (openedActionsSide === 'right' && touchesDiff > 0) {\n app.swipeout.close($swipeoutEl);\n }\n\n if (openedActionsSide === 'left' && touchesDiff < 0) {\n app.swipeout.close($swipeoutEl);\n }\n } else {\n if (touchesDiff < 0 && $actionsRight.length > 0) {\n app.swipeout.open($swipeoutEl, 'right');\n }\n\n if (touchesDiff > 0 && $actionsLeft.length > 0) {\n app.swipeout.open($swipeoutEl, 'left');\n }\n }\n\n isTouched = false;\n isMoved = false;\n return;\n }\n\n overswipeLeft = false;\n overswipeRight = false;\n\n if ($actionsRight.length > 0) {\n // Show right actions\n var buttonTranslate = translate;\n progress = buttonTranslate / actionsRightWidth;\n\n if (buttonTranslate < -actionsRightWidth) {\n buttonTranslate = -actionsRightWidth - Math.pow(-buttonTranslate - actionsRightWidth, 0.8);\n translate = buttonTranslate;\n\n if ($overswipeRightButton.length > 0) {\n overswipeRight = true;\n }\n }\n\n if (direction !== 'to-left') {\n progress = 0;\n buttonTranslate = 0;\n }\n\n $rightButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (typeof buttonEl.f7SwipeoutButtonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = buttonEl.offsetLeft;\n }\n\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if ($overswipeRightButton.length > 0 && $buttonEl.hasClass('swipeout-overswipe') && direction === 'to-left') {\n $buttonEl.css({\n left: \"\".concat(overswipeRight ? -buttonOffset : 0, \"px\")\n });\n\n if (overswipeRight) {\n if (!$buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeenter');\n app.emit('swipeoutOverswipeEnter', $swipeoutEl[0]);\n }\n\n $buttonEl.addClass('swipeout-overswipe-active');\n } else {\n if ($buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeexit');\n app.emit('swipeoutOverswipeExit', $swipeoutEl[0]);\n }\n\n $buttonEl.removeClass('swipeout-overswipe-active');\n }\n }\n\n $buttonEl.transform(\"translate3d(\".concat(buttonTranslate - buttonOffset * (1 + Math.max(progress, -1)), \"px,0,0)\"));\n });\n }\n\n if ($actionsLeft.length > 0) {\n // Show left actions\n var _buttonTranslate = translate;\n progress = _buttonTranslate / actionsLeftWidth;\n\n if (_buttonTranslate > actionsLeftWidth) {\n _buttonTranslate = actionsLeftWidth + Math.pow(_buttonTranslate - actionsLeftWidth, 0.8);\n translate = _buttonTranslate;\n\n if ($overswipeLeftButton.length > 0) {\n overswipeLeft = true;\n }\n }\n\n if (direction !== 'to-right') {\n _buttonTranslate = 0;\n progress = 0;\n }\n\n $leftButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (typeof buttonEl.f7SwipeoutButtonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = actionsLeftWidth - buttonEl.offsetLeft - buttonEl.offsetWidth;\n }\n\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if ($overswipeLeftButton.length > 0 && $buttonEl.hasClass('swipeout-overswipe') && direction === 'to-right') {\n $buttonEl.css({\n left: \"\".concat(overswipeLeft ? buttonOffset : 0, \"px\")\n });\n\n if (overswipeLeft) {\n if (!$buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeenter');\n app.emit('swipeoutOverswipeEnter', $swipeoutEl[0]);\n }\n\n $buttonEl.addClass('swipeout-overswipe-active');\n } else {\n if ($buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeexit');\n app.emit('swipeoutOverswipeExit', $swipeoutEl[0]);\n }\n\n $buttonEl.removeClass('swipeout-overswipe-active');\n }\n }\n\n if ($leftButtons.length > 1) {\n $buttonEl.css('z-index', $leftButtons.length - index);\n }\n\n $buttonEl.transform(\"translate3d(\".concat(_buttonTranslate + buttonOffset * (1 - Math.min(progress, 1)), \"px,0,0)\"));\n });\n }\n\n $swipeoutEl.trigger('swipeout', progress);\n app.emit('swipeout', $swipeoutEl[0], progress);\n $swipeoutContent.transform(\"translate3d(\".concat(translate, \"px,0,0)\"));\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n var timeDiff = new Date().getTime() - touchStartTime;\n var $actions = direction === 'to-left' ? $actionsRight : $actionsLeft;\n var actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth;\n var action;\n var $buttons;\n var i;\n\n if (timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') || timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2) {\n action = 'open';\n } else {\n action = 'close';\n }\n\n if (timeDiff < 300) {\n if (Math.abs(translate) === 0) action = 'close';\n if (Math.abs(translate) === actionsWidth) action = 'open';\n }\n\n if (action === 'open') {\n Swipeout.el = $swipeoutEl[0];\n $swipeoutEl.trigger('swipeout:open');\n app.emit('swipeoutOpen', $swipeoutEl[0]);\n $swipeoutEl.addClass('swipeout-opened swipeout-transitioning');\n var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth;\n $swipeoutContent.transform(\"translate3d(\".concat(newTranslate, \"px,0,0)\"));\n $actions.addClass('swipeout-actions-opened');\n $buttons = direction === 'to-left' ? $rightButtons : $leftButtons;\n\n if ($buttons) {\n for (i = 0; i < $buttons.length; i += 1) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])($buttons[i]).transform(\"translate3d(\".concat(newTranslate, \"px,0,0)\"));\n }\n }\n\n if (overswipeRight) {\n $actionsRight.find('.swipeout-overswipe').trigger('click', 'f7Overswipe');\n }\n\n if (overswipeLeft) {\n $actionsLeft.find('.swipeout-overswipe').trigger('click', 'f7Overswipe');\n }\n } else {\n $swipeoutEl.trigger('swipeout:close');\n app.emit('swipeoutClose', $swipeoutEl[0]);\n Swipeout.el = undefined;\n $swipeoutEl.addClass('swipeout-transitioning').removeClass('swipeout-opened');\n $swipeoutContent.transform('');\n $actions.removeClass('swipeout-actions-opened');\n }\n\n var buttonOffset;\n\n if ($leftButtons && $leftButtons.length > 0 && $leftButtons !== $buttons) {\n $leftButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if (typeof buttonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = actionsLeftWidth - buttonEl.offsetLeft - buttonEl.offsetWidth;\n }\n\n $buttonEl.transform(\"translate3d(\".concat(buttonOffset, \"px,0,0)\"));\n });\n }\n\n if ($rightButtons && $rightButtons.length > 0 && $rightButtons !== $buttons) {\n $rightButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if (typeof buttonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = buttonEl.offsetLeft;\n }\n\n $buttonEl.transform(\"translate3d(\".concat(-buttonOffset, \"px,0,0)\"));\n });\n }\n\n $swipeoutContent.transitionEnd(function () {\n if (opened && action === 'open' || !opened && action === 'close') return;\n $swipeoutEl.trigger(action === 'open' ? 'swipeout:opened' : 'swipeout:closed');\n app.emit(action === 'open' ? 'swipeoutOpened' : 'swipeoutClosed', $swipeoutEl[0]);\n $swipeoutEl.removeClass('swipeout-transitioning');\n\n if (opened && action === 'close') {\n if ($actionsRight.length > 0) {\n $rightButtons.transform('');\n }\n\n if ($actionsLeft.length > 0) {\n $leftButtons.transform('');\n }\n }\n });\n }\n\n var passiveListener = app.support.passiveListener ? {\n passive: true\n } : false;\n app.on('touchstart', function (e) {\n if (Swipeout.el) {\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n\n if (!(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Swipeout.el).is($targetEl[0]) || $targetEl.parents('.swipeout').is(Swipeout.el) || $targetEl.hasClass('modal-in') || ($targetEl.attr('class') || '').indexOf('-backdrop') > 0 || $targetEl.hasClass('actions-modal') || $targetEl.parents('.actions-modal.modal-in, .dialog.modal-in').length > 0)) {\n app.swipeout.close(Swipeout.el);\n }\n }\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on(app.touchEvents.start, 'li.swipeout', handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n },\n allow: true,\n el: undefined,\n open: function open() {\n var app = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var el = args[0],\n side = args[1],\n callback = args[2];\n\n if (typeof args[1] === 'function') {\n el = args[0];\n callback = args[1];\n side = args[2];\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).eq(0);\n if ($el.length === 0) return;\n if (!$el.hasClass('swipeout') || $el.hasClass('swipeout-opened')) return;\n\n if (!side) {\n if ($el.find('.swipeout-actions-right').length > 0) side = 'right';else side = 'left';\n }\n\n var $swipeoutActions = $el.find(\".swipeout-actions-\".concat(side));\n var $swipeoutContent = $el.find('.swipeout-content');\n if ($swipeoutActions.length === 0) return;\n $el.trigger('swipeout:open').addClass('swipeout-opened').removeClass('swipeout-transitioning');\n app.emit('swipeoutOpen', $el[0]);\n $swipeoutActions.addClass('swipeout-actions-opened');\n var $buttons = $swipeoutActions.children('a');\n var swipeoutActionsWidth = $swipeoutActions.outerWidth();\n var translate = side === 'right' ? -swipeoutActionsWidth : swipeoutActionsWidth;\n\n if ($buttons.length > 1) {\n $buttons.each(function (buttonIndex, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (side === 'right') {\n $buttonEl.transform(\"translate3d(\".concat(-buttonEl.offsetLeft, \"px,0,0)\"));\n } else {\n $buttonEl.css('z-index', $buttons.length - buttonIndex).transform(\"translate3d(\".concat(swipeoutActionsWidth - buttonEl.offsetWidth - buttonEl.offsetLeft, \"px,0,0)\"));\n }\n });\n }\n\n $el.addClass('swipeout-transitioning');\n $swipeoutContent.transitionEnd(function () {\n $el.trigger('swipeout:opened');\n app.emit('swipeoutOpened', $el[0]);\n if (callback) callback.call($el[0]);\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextFrame(function () {\n $buttons.transform(\"translate3d(\".concat(translate, \"px,0,0)\"));\n $swipeoutContent.transform(\"translate3d(\".concat(translate, \"px,0,0)\"));\n });\n Swipeout.el = $el[0];\n },\n close: function close(el, callback) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).eq(0);\n if ($el.length === 0) return;\n if (!$el.hasClass('swipeout-opened')) return;\n var side = $el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left';\n var $swipeoutActions = $el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n var $buttons = $swipeoutActions.children('a');\n var swipeoutActionsWidth = $swipeoutActions.outerWidth();\n Swipeout.allow = false;\n $el.trigger('swipeout:close');\n app.emit('swipeoutClose', $el[0]);\n $el.removeClass('swipeout-opened').addClass('swipeout-transitioning');\n var closeTimeout;\n\n function onSwipeoutClose() {\n Swipeout.allow = true;\n if ($el.hasClass('swipeout-opened')) return;\n $el.removeClass('swipeout-transitioning');\n $buttons.transform('');\n $el.trigger('swipeout:closed');\n app.emit('swipeoutClosed', $el[0]);\n if (callback) callback.call($el[0]);\n if (closeTimeout) clearTimeout(closeTimeout);\n }\n\n $el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose);\n closeTimeout = setTimeout(onSwipeoutClose, 500);\n $buttons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (side === 'right') {\n $buttonEl.transform(\"translate3d(\".concat(-buttonEl.offsetLeft, \"px,0,0)\"));\n } else {\n $buttonEl.transform(\"translate3d(\".concat(swipeoutActionsWidth - buttonEl.offsetWidth - buttonEl.offsetLeft, \"px,0,0)\"));\n }\n\n $buttonEl.css({\n left: '0px'\n }).removeClass('swipeout-overswipe-active');\n });\n if (Swipeout.el && Swipeout.el === $el[0]) Swipeout.el = undefined;\n },\n delete: function _delete(el, callback) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).eq(0);\n if ($el.length === 0) return;\n Swipeout.el = undefined;\n $el.trigger('swipeout:delete');\n app.emit('swipeoutDelete', $el[0]);\n $el.css({\n height: \"\".concat($el.outerHeight(), \"px\")\n });\n $el.transitionEnd(function () {\n $el.trigger('swipeout:deleted');\n app.emit('swipeoutDeleted', $el[0]);\n if (callback) callback.call($el[0]);\n\n if ($el.parents('.virtual-list').length > 0) {\n var virtualList = $el.parents('.virtual-list')[0].f7VirtualList;\n var virtualIndex = $el[0].f7VirtualListIndex;\n if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex);\n } else if (app.params.swipeout.removeElements) {\n if (app.params.swipeout.removeElementsWithTimeout) {\n setTimeout(function () {\n $el.remove();\n }, app.params.swipeout.removeElementsTimeout);\n } else {\n $el.remove();\n }\n } else {\n $el.removeClass('swipeout-deleting swipeout-transitioning');\n }\n }); // eslint-disable-next-line\n // $el[0]._clientLeft = $el[0].clientLeft;\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextFrame(function () {\n $el.addClass('swipeout-deleting swipeout-transitioning').css({\n height: '0px'\n }).find('.swipeout-content').transform('translate3d(-100%,0,0)');\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'swipeout',\n params: {\n swipeout: {\n actionsNoFold: false,\n noFollow: false,\n removeElements: true,\n removeElementsWithTimeout: false,\n removeElementsTimeout: 0\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n swipeout: {\n init: Swipeout.init.bind(app),\n open: Swipeout.open.bind(app),\n close: Swipeout.close.bind(app),\n delete: Swipeout.delete.bind(app)\n }\n });\n Object.defineProperty(app.swipeout, 'el', {\n enumerable: true,\n configurable: true,\n get: function get() {\n return Swipeout.el;\n },\n set: function set(el) {\n Swipeout.el = el;\n }\n });\n Object.defineProperty(app.swipeout, 'allow', {\n enumerable: true,\n configurable: true,\n get: function get() {\n return Swipeout.allow;\n },\n set: function set(allow) {\n Swipeout.allow = allow;\n }\n });\n },\n clicks: {\n '.swipeout-open': function openSwipeout($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.swipeout.open(data.swipeout, data.side);\n },\n '.swipeout-close': function closeSwipeout($clickedEl) {\n var app = this;\n var $swipeoutEl = $clickedEl.closest('.swipeout');\n if ($swipeoutEl.length === 0) return;\n app.swipeout.close($swipeoutEl);\n },\n '.swipeout-delete': function deleteSwipeout($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var $swipeoutEl = $clickedEl.closest('.swipeout');\n if ($swipeoutEl.length === 0) return;\n var confirm = data.confirm,\n confirmTitle = data.confirmTitle;\n\n if (data.confirm) {\n app.dialog.confirm(confirm, confirmTitle, function () {\n app.swipeout.delete($swipeoutEl);\n });\n } else {\n app.swipeout.delete($swipeoutEl);\n }\n }\n },\n on: {\n init: function init() {\n var app = this;\n if (!app.params.swipeout) return;\n app.swipeout.init();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swipeout/swipeout.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js": /*!****************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js ***! \****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar a11y = {\n makeElFocusable: function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n addElRole: function addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElLabel: function addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n disableEl: function disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl: function enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterKey: function onEnterKey(e) {\n var swiper = this;\n var params = swiper.params.a11y;\n if (e.keyCode !== 13) return;\n var $targetEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(\".\".concat(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n },\n notify: function notify(message) {\n var swiper = this;\n var notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation: function updateNavigation() {\n var swiper = this;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n swiper.a11y.disableEl($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n }\n }\n },\n updatePagination: function updatePagination() {\n var swiper = this;\n var params = swiper.params.a11y;\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each(function (bulletIndex, bulletEl) {\n var $bulletEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));\n });\n }\n },\n init: function init() {\n var swiper = this;\n swiper.$el.append(swiper.a11y.liveRegion); // Navigation\n\n var params = swiper.params.a11y;\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n swiper.a11y.makeElFocusable($nextEl);\n swiper.a11y.addElRole($nextEl, 'button');\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n $nextEl.on('keydown', swiper.a11y.onEnterKey);\n }\n\n if ($prevEl) {\n swiper.a11y.makeElFocusable($prevEl);\n swiper.a11y.addElRole($prevEl, 'button');\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n $prevEl.on('keydown', swiper.a11y.onEnterKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', \".\".concat(swiper.params.pagination.bulletClass), swiper.a11y.onEnterKey);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', \".\".concat(swiper.params.pagination.bulletClass), swiper.a11y.onEnterKey);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n a11y: {\n liveRegion: Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\"))\n }\n });\n Object.keys(a11y).forEach(function (methodName) {\n swiper.a11y[methodName] = a11y[methodName].bind(swiper);\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge: function toEdge() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge: function fromEdge() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate: function paginationUpdate() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy: function destroy() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js": /*!************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* eslint no-underscore-dangle: \"off\" */\n\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n swiper.autoplay.timeout = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n autoplay: {\n running: false,\n paused: false,\n run: Autoplay.run.bind(swiper),\n start: Autoplay.start.bind(swiper),\n stop: Autoplay.stop.bind(swiper),\n pause: Autoplay.pause.bind(swiper),\n onTransitionEnd: function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n }\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n }\n },\n beforeTransitionStart: function beforeTransitionStart(speed, internal) {\n var swiper = this;\n\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove() {\n var swiper = this;\n\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n destroy: function destroy() {\n var swiper = this;\n\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_core_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/core-class */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\n\n\nvar Controller = {\n LinearSpline: function LinearSpline(x, y) {\n var binarySearch = function search() {\n var maxIndex;\n var minIndex;\n var guess;\n return function (array, val) {\n minIndex = -1;\n maxIndex = array.length;\n\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n\n return maxIndex;\n };\n }();\n\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n\n var i1;\n var i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n\n return this;\n },\n // xxx: for now i will just save one spline function to to\n getInterpolateFunction: function getInterpolateFunction(c) {\n var swiper = this;\n\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n },\n setTranslate: function setTranslate(_setTranslate, byController) {\n var swiper = this;\n var controlled = swiper.controller.control;\n var multiplier;\n var controlledTranslate;\n\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n\n if (swiper.params.controller.by === 'slide') {\n swiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n\n if (Array.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n },\n setTransition: function setTransition(duration, byController) {\n var swiper = this;\n var controlled = swiper.controller.control;\n var i;\n\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n\n if (duration !== 0) {\n c.transitionStart();\n\n if (c.params.autoHeight) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n c.updateAutoHeight();\n });\n }\n\n c.$wrapperEl.transitionEnd(function () {\n if (!controlled) return;\n\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n\n c.transitionEnd();\n });\n }\n }\n\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'controller',\n params: {\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n controller: {\n control: swiper.params.controller.control,\n getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),\n setTranslate: Controller.setTranslate.bind(swiper),\n setTransition: Controller.setTransition.bind(swiper)\n }\n });\n },\n on: {\n update: function update() {\n var swiper = this;\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n resize: function resize() {\n var swiper = this;\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n observerUpdate: function observerUpdate() {\n var swiper = this;\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n setTranslate: function setTranslate(translate, byController) {\n var swiper = this;\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n },\n setTransition: function setTransition(duration, byController) {\n var swiper = this;\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (breakpoints) {\n var swiper = this; // Get breakpoint for window width\n\n if (!breakpoints) return undefined;\n var breakpoint = false;\n var points = [];\n Object.keys(breakpoints).forEach(function (point) {\n points.push(point);\n });\n points.sort(function (a, b) {\n return parseInt(a, 10) - parseInt(b, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var point = points[i];\n\n if (swiper.params.breakpointsInverse) {\n if (point <= ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerWidth) {\n breakpoint = point;\n }\n } else if (point >= ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerWidth && !breakpoint) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setBreakpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js\");\n/* harmony import */ var _getBreakpoint__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setBreakpoint: _setBreakpoint__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n getBreakpoint: _getBreakpoint__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Set breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints);\n\n if (breakpoint && swiper.currentBreakpoint !== breakpoint) {\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.params, breakpointParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n swiper.currentBreakpoint = breakpoint;\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js": /*!********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js ***! \********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nfunction checkOverflow() {\n var swiper = this;\n var wasLocked = swiper.isLocked;\n swiper.isLocked = swiper.snapGrid.length === 1;\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n swiper.navigation.update();\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n checkOverflow: checkOverflow\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js": /*!******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el;\n var suffixes = [];\n suffixes.push('initialized');\n suffixes.push(params.direction);\n\n if (params.freeMode) {\n suffixes.push('free-mode');\n }\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flexbox) {\n suffixes.push('no-flexbox');\n }\n\n if (params.autoHeight) {\n suffixes.push('autoheight');\n }\n\n if (rtl) {\n suffixes.push('rtl');\n }\n\n if (params.slidesPerColumn > 1) {\n suffixes.push('multirow');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android) {\n suffixes.push('android');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios) {\n suffixes.push('ios');\n } // WP8 Touch Events Fix\n\n\n if ((_utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isIE || _utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isEdge) && (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prefixedPointerEvents)) {\n suffixes.push(\"wp8-\".concat(params.direction));\n }\n\n suffixes.forEach(function (suffix) {\n classNames.push(params.containerModifierClass + suffix);\n });\n $el.addClass(classNames.join(' '));\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js": /*!*************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js ***! \*************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _addClasses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js\");\n/* harmony import */ var _removeClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n addClasses: _addClasses__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n removeClasses: _removeClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js ***! \*********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js": /*!**********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js ***! \**********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/components/swiper/swiper-class/utils/class.js\");\n/* harmony import */ var _update_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./update/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js\");\n/* harmony import */ var _translate_index__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./translate/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js\");\n/* harmony import */ var _transition_index__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./transition/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js\");\n/* harmony import */ var _slide_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./slide/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js\");\n/* harmony import */ var _loop_index__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./loop/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js\");\n/* harmony import */ var _grab_cursor_index__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./grab-cursor/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js\");\n/* harmony import */ var _manipulation_index__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./manipulation/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js\");\n/* harmony import */ var _events_index__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./events/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js\");\n/* harmony import */ var _breakpoints_index__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./breakpoints/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js\");\n/* harmony import */ var _classes_index__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./classes/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js\");\n/* harmony import */ var _images_index__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./images/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js\");\n/* harmony import */ var _check_overflow_index__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./check-overflow/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js\");\n/* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./defaults */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint no-param-reassign: \"off\" */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar prototypes = {\n update: _update_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n translate: _translate_index__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n transition: _transition_index__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n slide: _slide_index__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n loop: _loop_index__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n grabCursor: _grab_cursor_index__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n manipulation: _manipulation_index__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n events: _events_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n breakpoints: _breakpoints_index__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n checkOverflow: _check_overflow_index__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n classes: _classes_index__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n images: _images_index__WEBPACK_IMPORTED_MODULE_15__[\"default\"]\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function (_SwiperClass) {\n _inherits(Swiper, _SwiperClass);\n\n var _super = _createSuper(Swiper);\n\n function Swiper() {\n var _this;\n\n _classCallCheck(this, Swiper);\n\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, params);\n if (el && !params.el) params.el = el;\n _this = _super.call(this, params);\n Object.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n if (!Swiper.prototype[protoMethod]) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n }\n });\n }); // Swiper Instance\n\n var swiper = _assertThisInitialized(_this);\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (_typeof(moduleParams) !== 'object' || moduleParams === null) return;\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (_typeof(params[moduleParamName]) === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, _defaults__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\n swiper.useModulesParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, swiper.params);\n swiper.passedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, params); // Save Dom lib\n\n swiper.$ = _utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; // Find el\n\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return _possibleConstructorReturn(_this, undefined);\n }\n\n if ($el.length > 1) {\n var swipers = [];\n $el.each(function (index, containerEl) {\n var newParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return _possibleConstructorReturn(_this, swipers);\n }\n\n el.swiper = swiper;\n $el.data('swiper', swiper); // Find Wrapper\n\n var $wrapperEl = $el.children(\".\".concat(swiper.params.wrapperClass)); // Extend Swiper\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n // Classes\n classNames: [],\n // Slides\n slides: Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n } else if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents) {\n desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n formElements: 'input, select, option, textarea, button, video',\n // Last click time\n lastClickTime: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules(); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return _possibleConstructorReturn(_this, swiper);\n }\n\n _createClass(Swiper, [{\n key: \"slidesPerViewDynamic\",\n value: function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n }\n }, {\n key: \"update\",\n value: function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n }\n }, {\n key: \"changeDirection\",\n value: function changeDirection(newDirection) {\n var needUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n if (currentDirection === 'vertical') {\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass, \"vertical wp8-vertical\")).addClass(\"\".concat(swiper.params.containerModifierClass).concat(newDirection));\n\n if ((_utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isIE || _utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isEdge) && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n swiper.$el.addClass(\"\".concat(swiper.params.containerModifierClass, \"wp8-\").concat(newDirection));\n }\n }\n\n if (currentDirection === 'horizontal') {\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass, \"horizontal wp8-horizontal\")).addClass(\"\".concat(swiper.params.containerModifierClass).concat(newDirection));\n\n if ((_utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isIE || _utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isEdge) && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n swiper.$el.addClass(\"\".concat(swiper.params.containerModifierClass, \"wp8-\").concat(newDirection));\n }\n }\n\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideIndex, slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n }, {\n key: \"init\",\n value: function init() {\n var swiper = this;\n if (swiper.initialized) return;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var deleteInstance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var cleanStyles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index').removeAttr('data-swiper-column').removeAttr('data-swiper-row');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n swiper.$el.data('swiper', null);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n }\n }], [{\n key: \"extendDefaults\",\n value: function extendDefaults(newDefaults) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(extendedDefaults, newDefaults);\n }\n }, {\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return _defaults__WEBPACK_IMPORTED_MODULE_17__[\"default\"];\n }\n }, {\n key: \"Class\",\n get: function get() {\n return _utils_class__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n }\n }, {\n key: \"$\",\n get: function get() {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n }]);\n\n return Swiper;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Swiper);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js": /*!********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js ***! \********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n //\n preventInteractionOnTransition: false,\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsInverse: false,\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js": /*!************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _onTouchStart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchStart */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js\");\n/* harmony import */ var _onTouchMove__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onTouchMove */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js\");\n/* harmony import */ var _onTouchEnd__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onTouchEnd */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js\");\n/* harmony import */ var _onResize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onResize */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js\");\n/* harmony import */ var _onClick__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./onClick */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js\");\n\n\n\n\n\n\n\n\n\nfunction attachEvents() {\n var swiper = this;\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl;\n\n if (true) {\n swiper.onTouchStart = _onTouchStart__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bind(swiper);\n swiper.onTouchMove = _onTouchMove__WEBPACK_IMPORTED_MODULE_4__[\"default\"].bind(swiper);\n swiper.onTouchEnd = _onTouchEnd__WEBPACK_IMPORTED_MODULE_5__[\"default\"].bind(swiper);\n }\n\n swiper.onClick = _onClick__WEBPACK_IMPORTED_MODULE_7__[\"default\"].bind(swiper);\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\n var capture = !!params.nested; // Touch Events\n\n if (\"development\".TARGET !== 'desktop') {\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n target.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passiveListener = touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n target.addEventListener(touchEvents.move, swiper.onTouchMove, _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n }\n\n if (params.simulateTouch && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android || params.simulateTouch && !_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios) {\n target.addEventListener('mousedown', swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('mousemove', swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n target.addEventListener('click', swiper.onClick, true);\n }\n } else {\n target.addEventListener('click', swiper.onClick, false);\n } // Resize handler\n\n\n swiper.on(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize__WEBPACK_IMPORTED_MODULE_6__[\"default\"], true);\n}\n\nfunction detachEvents() {\n var swiper = this;\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl;\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\n var capture = !!params.nested; // Touch Events\n\n if (\"development\".TARGET !== 'desktop') {\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n }\n\n if (params.simulateTouch && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android || params.simulateTouch && !_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios) {\n target.removeEventListener('mousedown', swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener('mousemove', swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n target.removeEventListener('click', swiper.onClick, true);\n }\n } else {\n target.removeEventListener('click', swiper.onClick, true);\n } // Resize handler\n\n\n swiper.off(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n attachEvents: attachEvents,\n detachEvents: detachEvents\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js": /*!**************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js ***! \**************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (e) {\n var swiper = this;\n\n if (false) {} else if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js": /*!***************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js ***! \***************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n\n if (params.freeMode) {\n var newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime > 300) {\n if (data.clickTimeout) clearTimeout(data.clickTimeout);\n data.clickTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.emit('click', e);\n }, 300);\n }\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n if (data.clickTimeout) clearTimeout(data.clickTimeout);\n swiper.emit('doubleTap', e);\n }\n }\n\n data.lastClickTime = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now();\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += params.slidesPerGroup) {\n if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) {\n stopIndex = i;\n groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + params.slidesPerGroup);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + params.slidesPerGroup);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + params.slidesPerGroup);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js": /*!******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type === 'mousemove') return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement) {\n if (e.target === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).is(data.formElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n e.preventDefault();\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n if (params.noSwiping && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : \".\".concat(params.noSwipingClass))[0]) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e).closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].screen.width - edgeSwipeThreshold)) {\n return;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if (Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).is(data.formElements)) preventDefault = false;\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement).is(data.formElements) && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement !== e.target) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if (params.touchStartForcePreventDefault || shouldPreventDefault) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setGrabCursor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js\");\n/* harmony import */ var _unsetGrabCursor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setGrabCursor: _setGrabCursor__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n unsetGrabCursor: _unsetGrabCursor__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (moving) {\n var swiper = this;\n if (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js ***! \***************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n if (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].touch || swiper.params.watchOverflow && swiper.isLocked) return;\n swiper.el.style.cursor = '';\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js": /*!************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _loadImage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js\");\n/* harmony import */ var _preloadImages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preloadImages */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n loadImage: _loadImage__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n preloadImages: _preloadImages__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (imageEl, src, srcset, sizes, checkForComplete, callback) {\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n if (!imageEl.complete || !checkForComplete) {\n if (src) {\n image = new ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js": /*!********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js ***! \********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js": /*!**********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js ***! \**********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _loopCreate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js\");\n/* harmony import */ var _loopFix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js\");\n/* harmony import */ var _loopDestroy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n loopCreate: _loopCreate__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n loopFix: _loopFix__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n loopDestroy: _loopDestroy__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js": /*!***************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js ***! \***************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass)).remove();\n var slides = $wrapperEl.children(\".\".concat(params.slideClass));\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div')).addClass(\"\".concat(params.slideClass, \" \").concat(params.slideBlankClass));\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10);\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (index, el) {\n var slide = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n if (index < swiper.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) prependSlides.push(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \",.\").concat(params.slideClass, \".\").concat(params.slideBlankClass)).remove();\n slides.removeAttr('data-swiper-slide-index');\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js": /*!************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2 || activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js ***! \*********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js": /*!************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js": /*!******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _appendSlide__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./appendSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js\");\n/* harmony import */ var _prependSlide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./prependSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js\");\n/* harmony import */ var _addSlide__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js\");\n/* harmony import */ var _removeSlide__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./removeSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js\");\n/* harmony import */ var _removeAllSlides__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./removeAllSlides */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n appendSlide: _appendSlide__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n prependSlide: _prependSlide__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n addSlide: _addSlide__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n removeSlide: _removeSlide__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n removeAllSlides: _removeAllSlides__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js ***! \****************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js": /*!************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (_typeof(slidesIndexes) === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js": /*!***********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js ***! \***********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _slideTo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js\");\n/* harmony import */ var _slideToLoop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js\");\n/* harmony import */ var _slideNext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js\");\n/* harmony import */ var _slidePrev__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js\");\n/* harmony import */ var _slideReset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js\");\n/* harmony import */ var _slideToClosest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js\");\n/* harmony import */ var _slideToClickedSlide__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n slideTo: _slideTo__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n slideToLoop: _slideToLoop__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n slideNext: _slideNext__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n slidePrev: _slidePrev__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n slideReset: _slideReset__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n slideToClosest: _slideToClosest__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n slideToClickedSlide: _slideToClickedSlide__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js": /*!***************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js ***! \***************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating;\n\n if (params.loop) {\n if (animating) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js": /*!***************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js ***! \***************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate;\n\n if (params.loop) {\n if (animating) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var normalizedSlidesGrid = slidesGrid.map(function (val) {\n return normalize(val);\n });\n var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js": /*!*************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js ***! \*************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var internal = arguments.length > 3 ? arguments[3] : undefined;\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var snapIndex = Math.floor(slideIndex / params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (speed === 0 || !_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transition) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js": /*!********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js ***! \********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var index = swiper.activeIndex;\n var snapIndex = Math.floor(index / swiper.params.slidesPerGroup);\n\n if (snapIndex < swiper.snapGrid.length - 1) {\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) / 2) {\n index = swiper.params.slidesPerGroup;\n }\n }\n\n return swiper.slideTo(index, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var internal = arguments.length > 3 ? arguments[3] : undefined;\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setTransition__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js\");\n/* harmony import */ var _transitionStart__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js\");\n/* harmony import */ var _transitionEnd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setTransition: _setTransition__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n transitionStart: _transitionStart__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n transitionEnd: _transitionEnd__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js": /*!************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (duration, byController) {\n var swiper = this;\n swiper.$wrapperEl.transition(duration);\n swiper.emit('setTransition', duration, byController);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js": /*!************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var runCallbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var direction = arguments.length > 1 ? arguments[1] : undefined;\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex;\n swiper.animating = false;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js ***! \**************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var runCallbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var direction = arguments.length > 1 ? arguments[1] : undefined;\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.isHorizontal() ? 'x' : 'y';\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n var currentTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js": /*!***************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js ***! \***************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTranslate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js\");\n/* harmony import */ var _setTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js\");\n/* harmony import */ var _minTranslate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js\");\n/* harmony import */ var _maxTranslate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n getTranslate: _getTranslate__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n setTranslate: _setTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n minTranslate: _minTranslate__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n maxTranslate: _maxTranslate__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n return -this.snapGrid[this.snapGrid.length - 1];\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n return -this.snapGrid[0];\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js ***! \**********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (!params.virtualTranslate) {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transforms3d) $wrapperEl.transform(\"translate3d(\".concat(x, \"px, \").concat(y, \"px, \").concat(z, \"px)\"));else $wrapperEl.transform(\"translate(\".concat(x, \"px, \").concat(y, \"px)\"));\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js": /*!************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _updateSize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js\");\n/* harmony import */ var _updateSlides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js\");\n/* harmony import */ var _updateAutoHeight__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js\");\n/* harmony import */ var _updateSlidesOffset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js\");\n/* harmony import */ var _updateSlidesProgress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js\");\n/* harmony import */ var _updateProgress__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js\");\n/* harmony import */ var _updateSlidesClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js\");\n/* harmony import */ var _updateActiveIndex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js\");\n/* harmony import */ var _updateClickedSlide__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n updateSize: _updateSize__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n updateSlides: _updateSlides__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n updateAutoHeight: _updateAutoHeight__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n updateSlidesOffset: _updateSlidesOffset__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n updateSlidesProgress: _updateSlidesProgress__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n updateProgress: _updateProgress__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n updateSlidesClasses: _updateSlidesClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n updateActiveIndex: _updateActiveIndex__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n updateClickedSlide: _updateClickedSlide__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js": /*!************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js ***! \************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n snapIndex = Math.floor(activeIndex / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n swiper.emit('slideChange');\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js ***! \***********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (speed) {\n var swiper = this;\n var activeSlides = [];\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n } // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length) break;\n activeSlides.push(swiper.slides.eq(index)[0]);\n }\n } else {\n activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', \"\".concat(newHeight, \"px\"));\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (e) {\n var swiper = this;\n var params = swiper.params;\n var slide = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest(\".\".concat(params.slideClass))[0];\n var slideFound = false;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) slideFound = true;\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slide).index();\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js ***! \*********************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var translate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this && this.translate || 0;\n var swiper = this;\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js ***! \*****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined') {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined') {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);\n height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js ***! \*******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\".concat(swiper.params.slideClass));\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.snapGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(\"margin-\".concat(swiper.isHorizontal() ? 'top' : 'left'), row !== 0 && params.spaceBetween && \"\".concat(params.spaceBetween, \"px\")).attr('data-swiper-column', column).attr('data-swiper-row', row);\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(slide[0], null);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n if (swiper.isHorizontal()) {\n var width = parseFloat(slideStyles.getPropertyValue('width'));\n var paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left'));\n var paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right'));\n var marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left'));\n var marginRight = parseFloat(slideStyles.getPropertyValue('margin-right'));\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight;\n }\n } else {\n var height = parseFloat(slideStyles.getPropertyValue('height'));\n var paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top'));\n var paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom'));\n var marginTop = parseFloat(slideStyles.getPropertyValue('margin-top'));\n var marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom'));\n\n var _boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (_boxSizing && _boxSizing === 'border-box') {\n slideSize = height + marginTop + marginBottom;\n } else {\n slideSize = height + paddingTop + paddingBottom + marginTop + marginBottom;\n }\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n if (swiper.isHorizontal()) {\n slides[i].style.width = \"\".concat(slideSize, \"px\");\n } else {\n slides[i].style.height = \"\".concat(slideSize, \"px\");\n }\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n }\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].flexbox || params.setWrapperSize) {\n if (swiper.isHorizontal()) $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });else $wrapperEl.css({\n height: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n }\n\n if (params.slidesPerColumn > 1) {\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n if (swiper.isHorizontal()) $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });else $wrapperEl.css({\n height: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n if (swiper.isHorizontal()) {\n if (rtl) slides.css({\n marginLeft: \"\".concat(spaceBetween, \"px\")\n });else slides.css({\n marginRight: \"\".concat(spaceBetween, \"px\")\n });\n } else slides.css({\n marginBottom: \"\".concat(spaceBetween, \"px\")\n });\n }\n\n if (params.centerInsufficientSlides) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n\n if (allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js ***! \**************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(\"\".concat(params.slideActiveClass, \" \").concat(params.slideNextClass, \" \").concat(params.slidePrevClass, \" \").concat(params.slideDuplicateActiveClass, \" \").concat(params.slideDuplicateNextClass, \" \").concat(params.slideDuplicatePrevClass));\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(activeIndex, \"\\\"]\"));\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\".concat(params.slideClass)).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\".concat(params.slideClass)).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js ***! \*************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js ***! \***************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var translate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this && this.translate || 0;\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size || slideAfter > 0 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.visibleSlides);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js ***! \****************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n\nvar Coverflow = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var translateY = isHorizontal ? 0 : params.stretch * offsetMultiplier;\n var translateX = isHorizontal ? params.stretch * offsetMultiplier : 0; // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n var slideTransform = \"translate3d(\".concat(translateX, \"px,\").concat(translateY, \"px,\").concat(translateZ, \"px) rotateX(\").concat(rotateX, \"deg) rotateY(\").concat(rotateY, \"deg)\");\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $slideEl.append($shadowBeforeEl);\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $slideEl.append($shadowAfterEl);\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n } // Set correct perspective for IE10\n\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_1__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prefixedPointerEvents) {\n var ws = $wrapperEl[0].style;\n ws.perspectiveOrigin = \"\".concat(center, \"px 50%\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows: true\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(swiper, {\n coverflowEffect: {\n setTranslate: Coverflow.setTranslate.bind(swiper),\n setTransition: Coverflow.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"coverflow\"));\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js": /*!******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n\n\n\nvar Cube = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides,\n swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n rtl = swiper.rtlTranslate,\n swiperSize = swiper.size;\n var params = swiper.params.cubeEffect;\n var isHorizontal = swiper.isHorizontal();\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var wrapperRotate = 0;\n var $cubeShadowEl;\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $wrapperEl.append($cubeShadowEl);\n }\n\n $cubeShadowEl.css({\n height: \"\".concat(swiperWidth, \"px\")\n });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n $el.append($cubeShadowEl);\n }\n }\n }\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideIndex = i;\n\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n\n var slideAngle = slideIndex * 90;\n var round = Math.floor(slideAngle / 360);\n\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n var tx = 0;\n var ty = 0;\n var tz = 0;\n\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n var transform = \"rotateX(\".concat(isHorizontal ? 0 : -slideAngle, \"deg) rotateY(\").concat(isHorizontal ? slideAngle : 0, \"deg) translate3d(\").concat(tx, \"px, \").concat(ty, \"px, \").concat(tz, \"px)\");\n\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n\n $slideEl.transform(transform);\n\n if (params.slideShadows) {\n // Set shadows\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n\n $wrapperEl.css({\n '-webkit-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n '-moz-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n '-ms-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n 'transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\")\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\"translate3d(0px, \".concat(swiperWidth / 2 + params.shadowOffset, \"px, \").concat(-swiperWidth / 2, \"px) rotateX(90deg) rotateZ(0deg) scale(\").concat(params.shadowScale, \")\"));\n } else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = params.shadowScale;\n var scale2 = params.shadowScale / multiplier;\n var offset = params.shadowOffset;\n $cubeShadowEl.transform(\"scale3d(\".concat(scale1, \", 1, \").concat(scale2, \") translate3d(0px, \").concat(swiperHeight / 2 + offset, \"px, \").concat(-swiperHeight / 2 / scale2, \"px) rotateX(-90deg)\"));\n }\n }\n\n var zFactor = _utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isSafari || _utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isUiWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\"translate3d(0px,0,\".concat(zFactor, \"px) rotateX(\").concat(swiper.isHorizontal() ? 0 : wrapperRotate, \"deg) rotateY(\").concat(swiper.isHorizontal() ? -wrapperRotate : 0, \"deg)\"));\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-cube',\n params: {\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n cubeEffect: {\n setTranslate: Cube.setTranslate.bind(swiper),\n setTransition: Cube.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"cube\"));\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js": /*!******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\nvar Fade = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = swiper.slides.eq(i);\n var offset = $slideEl[0].swiperSlideOffset;\n var tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n var slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n $slideEl.css({\n opacity: slideOpacity\n }).transform(\"translate3d(\".concat(tx, \"px, \").concat(ty, \"px, 0px)\"));\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-fade',\n params: {\n fadeEffect: {\n crossFade: false\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n fadeEffect: {\n setTranslate: Fade.setTranslate.bind(swiper),\n setTransition: Fade.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"fade\"));\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js": /*!******************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js ***! \******************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Flip = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var progress = $slideEl[0].progress;\n\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n\n var offset = $slideEl[0].swiperSlideOffset;\n var rotate = -180 * progress;\n var rotateY = rotate;\n var rotateX = 0;\n var tx = -offset;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (swiper.params.flipEffect.slideShadows) {\n // Set shadows\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n\n $slideEl.transform(\"translate3d(\".concat(tx, \"px, \").concat(ty, \"px, 0px) rotateX(\").concat(rotateX, \"deg) rotateY(\").concat(rotateY, \"deg)\"));\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n activeIndex = swiper.activeIndex,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false; // eslint-disable-next-line\n\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return; // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\n\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-flip',\n params: {\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n flipEffect: {\n setTranslate: Flip.setTranslate.bind(swiper),\n setTransition: Flip.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"flip\"));\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js": /*!****************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js ***! \****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Lazy = {\n loadInSlide: function loadInSlide(index) {\n var loadInDuplicate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var swiper = this;\n var params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var $slideEl = isVirtual ? swiper.$wrapperEl.children(\".\".concat(swiper.params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(index, \"\\\"]\")) : swiper.slides.eq(index);\n var $images = $slideEl.find(\".\".concat(params.elementClass, \":not(.\").concat(params.loadedClass, \"):not(.\").concat(params.loadingClass, \")\"));\n\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images = $images.add($slideEl[0]);\n }\n\n if ($images.length === 0) return;\n $images.each(function (imageIndex, imageEl) {\n var $imageEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageEl);\n $imageEl.addClass(params.loadingClass);\n var background = $imageEl.attr('data-background');\n var src = $imageEl.attr('data-src');\n var srcset = $imageEl.attr('data-srcset');\n var sizes = $imageEl.attr('data-sizes');\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n\n if (background) {\n $imageEl.css('background-image', \"url(\\\"\".concat(background, \"\\\")\"));\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(\".\".concat(params.preloaderClass)).remove();\n\n if (swiper.params.loop && loadInDuplicate) {\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n var originalSlide = swiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\".concat(slideOriginalIndex, \"\\\"]:not(.\").concat(swiper.params.slideDuplicateClass, \")\"));\n swiper.lazy.loadInSlide(originalSlide.index(), false);\n } else {\n var duplicatedSlide = swiper.$wrapperEl.children(\".\".concat(swiper.params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(slideOriginalIndex, \"\\\"]\"));\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\n }\n }\n\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n });\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n },\n load: function load() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n swiperParams = swiper.params,\n slides = swiper.slides,\n activeIndex = swiper.activeIndex;\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n var params = swiperParams.lazy;\n var slidesPerView = swiperParams.slidesPerView;\n\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(\".\".concat(swiperParams.slideClass, \"[data-swiper-slide-index=\\\"\").concat(index, \"\\\"]\")).length) {\n return true;\n }\n } else if (slides[index]) return true;\n\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).attr('data-swiper-slide-index');\n }\n\n return Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).index();\n }\n\n if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;\n\n if (swiper.params.watchSlidesVisibility) {\n $wrapperEl.children(\".\".concat(swiperParams.slideVisibleClass)).each(function (elIndex, slideEl) {\n var index = isVirtual ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).attr('data-swiper-slide-index') : Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).index();\n swiper.lazy.loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n } else {\n swiper.lazy.loadInSlide(activeIndex);\n }\n\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n var amount = params.loadPrevNextAmount;\n var spv = slidesPerView;\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\n\n for (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {\n if (slideExist(_i)) swiper.lazy.loadInSlide(_i);\n } // Prev Slides\n\n\n for (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {\n if (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);\n }\n } else {\n var nextSlide = $wrapperEl.children(\".\".concat(swiperParams.slideNextClass));\n if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));\n var prevSlide = $wrapperEl.children(\".\".concat(swiperParams.slidePrevClass));\n if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'lazy',\n params: {\n lazy: {\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n lazy: {\n initialImageLoaded: false,\n load: Lazy.load.bind(swiper),\n loadInSlide: Lazy.loadInSlide.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n },\n init: function init() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\n swiper.lazy.load();\n }\n },\n scroll: function scroll() {\n var swiper = this;\n\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\n swiper.lazy.load();\n }\n },\n resize: function resize() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n scrollbarDragMove: function scrollbarDragMove() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n transitionStart: function transitionStart() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {\n swiper.lazy.load();\n }\n }\n },\n transitionEnd: function transitionEnd() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n swiper.lazy.load();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Navigation = {\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n $prevEl.addClass(params.disabledClass);\n } else {\n $prevEl.removeClass(params.disabledClass);\n }\n\n $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n $nextEl.addClass(params.disabledClass);\n } else {\n $nextEl.removeClass(params.disabledClass);\n }\n\n $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n navigation: {\n init: Navigation.init.bind(swiper),\n update: Navigation.update.bind(swiper),\n destroy: Navigation.destroy.bind(swiper),\n onNextClick: Navigation.onNextClick.bind(swiper),\n onPrevClick: Navigation.onPrevClick.bind(swiper)\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge() {\n var swiper = this;\n swiper.navigation.update();\n },\n fromEdge: function fromEdge() {\n var swiper = this;\n swiper.navigation.update();\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.navigation.destroy();\n },\n click: function click(e) {\n var swiper = this;\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if (swiper.params.navigation.hideOnClick && !Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).is($prevEl) && !Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).is($nextEl)) {\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow', swiper);\n } else {\n swiper.emit('navigationHide', swiper);\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js": /*!****************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js ***! \****************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', \"\".concat(swiper.pagination.bulletSize * (params.dynamicMainBullets + 4), \"px\"));\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(\"\".concat(params.bulletActiveClass, \" \").concat(params.bulletActiveClass, \"-next \").concat(params.bulletActiveClass, \"-next-next \").concat(params.bulletActiveClass, \"-prev \").concat(params.bulletActiveClass, \"-prev-prev \").concat(params.bulletActiveClass, \"-main\"));\n\n if ($el.length > 1) {\n bullets.each(function (index, bullet) {\n var $bullet = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev\")).prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev-prev\"));\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(\"\".concat(params.bulletActiveClass, \"-next\")).next().addClass(\"\".concat(params.bulletActiveClass, \"-next-next\"));\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n $firstDisplayedBullet.prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev\")).prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev-prev\"));\n $lastDisplayedBullet.next().addClass(\"\".concat(params.bulletActiveClass, \"-next\")).next().addClass(\"\".concat(params.bulletActiveClass, \"-next-next\"));\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', \"\".concat(bulletsOffset, \"px\"));\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(\".\".concat(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(\".\".concat(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(\".\".concat(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\".concat(scaleX, \") scaleY(\").concat(scaleY, \")\")).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', swiper, $el[0]);\n } else {\n swiper.emit('paginationUpdate', swiper, $el[0]);\n }\n\n $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\".concat(params.bulletElement, \" class=\\\"\").concat(params.bulletClass, \"\\\">\");\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(\".\".concat(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\") + ' / ' + \"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && swiper.$el.find(params.el).length === 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\".concat(params.modifierClass).concat(params.type, \"-dynamic\"));\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', \".\".concat(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', \".\".concat(params.bulletClass));\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n pagination: {\n init: Pagination.init.bind(swiper),\n render: Pagination.render.bind(swiper),\n update: Pagination.update.bind(swiper),\n destroy: Pagination.destroy.bind(swiper),\n dynamicBulletIndex: 0\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange() {\n var swiper = this;\n\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange() {\n var swiper = this;\n\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange() {\n var swiper = this;\n\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange() {\n var swiper = this;\n\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.pagination.destroy();\n },\n click: function click(e) {\n var swiper = this;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).hasClass(swiper.params.pagination.bulletClass)) {\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow', swiper);\n } else {\n swiper.emit('paginationHide', swiper);\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js": /*!************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js ***! \************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Parallax = {\n setTransform: function setTransform(el, progress) {\n var swiper = this;\n var rtl = swiper.rtl;\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var rtlFactor = rtl ? -1 : 1;\n var p = $el.attr('data-swiper-parallax') || '0';\n var x = $el.attr('data-swiper-parallax-x');\n var y = $el.attr('data-swiper-parallax-y');\n var scale = $el.attr('data-swiper-parallax-scale');\n var opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = \"\".concat(parseInt(x, 10) * progress * rtlFactor, \"%\");\n } else {\n x = \"\".concat(x * progress * rtlFactor, \"px\");\n }\n\n if (y.indexOf('%') >= 0) {\n y = \"\".concat(parseInt(y, 10) * progress, \"%\");\n } else {\n y = \"\".concat(y * progress, \"px\");\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(\"translate3d(\".concat(x, \", \").concat(y, \", 0px)\"));\n } else {\n var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(\"translate3d(\".concat(x, \", \").concat(y, \", 0px) scale(\").concat(currentScale, \")\"));\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides,\n progress = swiper.progress,\n snapGrid = swiper.snapGrid;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function (index, el) {\n swiper.parallax.setTransform(el, progress);\n });\n slides.each(function (slideIndex, slideEl) {\n var slideProgress = slideEl.progress;\n\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function (index, el) {\n swiper.parallax.setTransform(el, slideProgress);\n });\n });\n },\n setTransition: function setTransition() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var swiper = this;\n var $el = swiper.$el;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function (index, parallaxEl) {\n var $parallaxEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parallaxEl);\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'parallax',\n params: {\n parallax: {\n enabled: false\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n parallax: {\n setTransform: Parallax.setTransform.bind(swiper),\n setTranslate: Parallax.setTranslate.bind(swiper),\n setTransition: Parallax.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n init: function init() {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js": /*!**************************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js ***! \**************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\n\nvar Scrollbar = {\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate,\n progress = swiper.progress;\n var dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n var params = swiper.params.scrollbar;\n var newSize = dragSize;\n var newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transforms3d) {\n $dragEl.transform(\"translate3d(\".concat(newPos, \"px, 0, 0)\"));\n } else {\n $dragEl.transform(\"translateX(\".concat(newPos, \"px)\"));\n }\n\n $dragEl[0].style.width = \"\".concat(newSize, \"px\");\n } else {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transforms3d) {\n $dragEl.transform(\"translate3d(0px, \".concat(newPos, \"px, 0)\"));\n } else {\n $dragEl.transform(\"translateY(\".concat(newPos, \"px)\"));\n }\n\n $dragEl[0].style.height = \"\".concat(newSize, \"px\");\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.timeout);\n $el[0].style.opacity = 1;\n swiper.scrollbar.timeout = setTimeout(function () {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n },\n updateSize: function updateSize() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n var divider = swiper.size / swiper.virtualSize;\n var moveDivider = divider * (trackSize / swiper.size);\n var dragSize;\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = \"\".concat(dragSize, \"px\");\n } else {\n $dragEl[0].style.height = \"\".concat(dragSize, \"px\");\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(scrollbar, {\n trackSize: trackSize,\n divider: divider,\n moveDivider: moveDivider,\n dragSize: dragSize\n });\n scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n },\n setDragPosition: function setDragPosition(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate;\n var $el = scrollbar.$el,\n dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize;\n var pointerPosition;\n\n if (swiper.isHorizontal()) {\n pointerPosition = e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX || e.clientX;\n } else {\n pointerPosition = e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY || e.clientY;\n }\n\n var positionRatio;\n positionRatio = (pointerPosition - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - dragSize / 2) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n },\n onDragStart: function onDragStart(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n swiper.scrollbar.isTouched = true;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n scrollbar.setDragPosition(e);\n clearTimeout(swiper.scrollbar.dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n swiper.emit('scrollbarDragStart', e);\n },\n onDragMove: function onDragMove(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n if (!swiper.scrollbar.isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n scrollbar.setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n swiper.emit('scrollbarDragMove', e);\n },\n onDragEnd: function onDragEnd(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar;\n var $el = scrollbar.$el;\n if (!swiper.scrollbar.isTouched) return;\n swiper.scrollbar.isTouched = false;\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.dragTimeout);\n swiper.scrollbar.dragTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n swiper.emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n },\n enableDraggable: function enableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n disableDraggable: function disableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n init: function init() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n $swiperEl = swiper.$el;\n var params = swiper.params.scrollbar;\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n var $dragEl = $el.find(\".\".concat(swiper.params.scrollbar.dragClass));\n\n if ($dragEl.length === 0) {\n $dragEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"
          \"));\n $el.append($dragEl);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(scrollbar, {\n $el: $el,\n el: $el[0],\n $dragEl: $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n scrollbar.enableDraggable();\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.disableDraggable();\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'scrollbar',\n params: {\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(swiper, {\n scrollbar: {\n init: Scrollbar.init.bind(swiper),\n destroy: Scrollbar.destroy.bind(swiper),\n updateSize: Scrollbar.updateSize.bind(swiper),\n setTranslate: Scrollbar.setTranslate.bind(swiper),\n setTransition: Scrollbar.setTransition.bind(swiper),\n enableDraggable: Scrollbar.enableDraggable.bind(swiper),\n disableDraggable: Scrollbar.disableDraggable.bind(swiper),\n setDragPosition: Scrollbar.setDragPosition.bind(swiper),\n onDragStart: Scrollbar.onDragStart.bind(swiper),\n onDragMove: Scrollbar.onDragMove.bind(swiper),\n onDragEnd: Scrollbar.onDragEnd.bind(swiper),\n isTouched: false,\n timeout: null,\n dragTimeout: null\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.scrollbar.init();\n swiper.scrollbar.updateSize();\n swiper.scrollbar.setTranslate();\n },\n update: function update() {\n var swiper = this;\n swiper.scrollbar.updateSize();\n },\n resize: function resize() {\n var swiper = this;\n swiper.scrollbar.updateSize();\n },\n observerUpdate: function observerUpdate() {\n var swiper = this;\n swiper.scrollbar.updateSize();\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n swiper.scrollbar.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.scrollbar.setTransition(duration);\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.destroy();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js": /*!********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js ***! \********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n\nvar Thumbs = {\n init: function init() {\n var swiper = this;\n var thumbsParams = swiper.params.thumbs;\n var SwiperClass = swiper.constructor;\n\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n } else if (_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isObject(thumbsParams.swiper)) {\n swiper.thumbs.swiper = new SwiperClass(_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, thumbsParams.swiper, {\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n slideToClickedSlide: false\n }));\n swiper.thumbs.swiperCreated = true;\n }\n\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\n },\n onThumbClick: function onThumbClick() {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var clickedIndex = thumbsSwiper.clickedIndex;\n var clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n var slideToIndex;\n\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n\n if (swiper.params.loop) {\n var currentIndex = swiper.activeIndex;\n\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n\n var prevIndex = swiper.slides.eq(currentIndex).prevAll(\"[data-swiper-slide-index=\\\"\".concat(slideToIndex, \"\\\"]\")).eq(0).index();\n var nextIndex = swiper.slides.eq(currentIndex).nextAll(\"[data-swiper-slide-index=\\\"\".concat(slideToIndex, \"\\\"]\")).eq(0).index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;\n }\n\n swiper.slideTo(slideToIndex);\n },\n update: function update(initial) {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n if (swiper.realIndex !== thumbsSwiper.realIndex) {\n var currentThumbsIndex = thumbsSwiper.activeIndex;\n var newThumbsIndex;\n\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix(); // eslint-disable-next-line\n\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n } // Find actual thumbs index to slide to\n\n\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex, \"\\\"]\")).eq(0).index();\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex, \"\\\"]\")).eq(0).index();\n if (typeof prevThumbsIndex === 'undefined') newThumbsIndex = nextThumbsIndex;else if (typeof nextThumbsIndex === 'undefined') newThumbsIndex = prevThumbsIndex;else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) newThumbsIndex = currentThumbsIndex;else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) newThumbsIndex = nextThumbsIndex;else newThumbsIndex = prevThumbsIndex;\n } else {\n newThumbsIndex = swiper.realIndex;\n }\n\n if (thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n } // Activate thumbs\n\n\n var thumbsToActivate = 1;\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n\n if (thumbsSwiper.params.loop) {\n for (var i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex + i, \"\\\"]\")).addClass(thumbActiveClass);\n }\n } else {\n for (var _i = 0; _i < thumbsToActivate; _i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + _i).addClass(thumbActiveClass);\n }\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'thumbs',\n params: {\n thumbs: {\n swiper: null,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-container-thumbs'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n thumbs: {\n swiper: null,\n init: Thumbs.init.bind(swiper),\n update: Thumbs.update.bind(swiper),\n onThumbClick: Thumbs.onThumbClick.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n var thumbs = swiper.params.thumbs;\n if (!thumbs || !thumbs.swiper) return;\n swiper.thumbs.init();\n swiper.thumbs.update(true);\n },\n slideChange: function slideChange() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n update: function update() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n resize: function resize() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n observerUpdate: function observerUpdate() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n thumbsSwiper.setTransition(duration);\n },\n beforeDestroy: function beforeDestroy() {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\n thumbsSwiper.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js": /*!**********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js ***! \**********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\nvar Virtual = {\n update: function update(force) {\n var swiper = this;\n var _swiper$params = swiper.params,\n slidesPerView = _swiper$params.slidesPerView,\n slidesPerGroup = _swiper$params.slidesPerGroup,\n centeredSlides = _swiper$params.centeredSlides;\n var _swiper$params$virtua = swiper.params.virtual,\n addSlidesBefore = _swiper$params$virtua.addSlidesBefore,\n addSlidesAfter = _swiper$params$virtua.addSlidesAfter;\n var _swiper$virtual = swiper.virtual,\n previousFrom = _swiper$virtual.from,\n previousTo = _swiper$virtual.to,\n slides = _swiper$virtual.slides,\n previousSlidesGrid = _swiper$virtual.slidesGrid,\n renderSlide = _swiper$virtual.renderSlide,\n previousOffset = _swiper$virtual.offset;\n swiper.updateActiveIndex();\n var activeIndex = swiper.activeIndex || 0;\n var offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n var slidesAfter;\n var slidesBefore;\n\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;\n slidesBefore = slidesPerGroup + addSlidesAfter;\n }\n\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.virtual, {\n from: from,\n to: to,\n offset: offset,\n slidesGrid: swiper.slidesGrid\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, \"\".concat(offset, \"px\"));\n }\n\n swiper.updateProgress();\n return;\n }\n\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset: offset,\n from: from,\n to: to,\n slides: function getSlides() {\n var slidesToRender = [];\n\n for (var i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n\n return slidesToRender;\n }()\n });\n onRendered();\n return;\n }\n\n var prependIndexes = [];\n var appendIndexes = [];\n\n if (force) {\n swiper.$wrapperEl.find(\".\".concat(swiper.params.slideClass)).remove();\n } else {\n for (var i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(\".\".concat(swiper.params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(i, \"\\\"]\")).remove();\n }\n }\n }\n\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (_i >= from && _i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(_i);\n } else {\n if (_i > previousTo) appendIndexes.push(_i);\n if (_i < previousFrom) prependIndexes.push(_i);\n }\n }\n }\n\n appendIndexes.forEach(function (index) {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes.sort(function (a, b) {\n return b - a;\n }).forEach(function (index) {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, \"\".concat(offset, \"px\"));\n onRendered();\n },\n renderSlide: function renderSlide(slide, index) {\n var swiper = this;\n var params = swiper.params.virtual;\n\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n\n var $slideEl = params.renderSlide ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.renderSlide.call(swiper, slide, index)) : Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \").concat(slide, \"
          \"));\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n },\n appendSlide: function appendSlide(slides) {\n var swiper = this;\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n\n swiper.virtual.update(true);\n },\n prependSlide: function prependSlide(slides) {\n var swiper = this;\n var activeIndex = swiper.activeIndex;\n var newActiveIndex = activeIndex + 1;\n var numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n\n if (swiper.params.virtual.cache) {\n var cache = swiper.virtual.cache;\n var newCache = {};\n Object.keys(cache).forEach(function (cachedIndex) {\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cache[cachedIndex];\n });\n swiper.virtual.cache = newCache;\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(newActiveIndex, 0);\n },\n removeSlide: function removeSlide(slidesIndexes) {\n var swiper = this;\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n var activeIndex = swiper.activeIndex;\n\n if (Array.isArray(slidesIndexes)) {\n for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(activeIndex, 0);\n },\n removeAllSlides: function removeAllSlides() {\n var swiper = this;\n swiper.virtual.slides = [];\n\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(0, 0);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'virtual',\n params: {\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n virtual: {\n update: Virtual.update.bind(swiper),\n appendSlide: Virtual.appendSlide.bind(swiper),\n prependSlide: Virtual.prependSlide.bind(swiper),\n removeSlide: Virtual.removeSlide.bind(swiper),\n removeAllSlides: Virtual.removeAllSlides.bind(swiper),\n renderSlide: Virtual.renderSlide.bind(swiper),\n slides: swiper.params.virtual.slides,\n cache: {}\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (!swiper.params.virtual.enabled) return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"virtual\"));\n var overwriteParams = {\n watchSlidesProgress: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.originalParams, overwriteParams);\n\n if (!swiper.params.initialSlide) {\n swiper.virtual.update();\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.update();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js": /*!****************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js ***! \****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\n\nvar Zoom = {\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX;\n var y1 = e.targetTouches[0].pageY;\n var x2 = e.targetTouches[1].pageX;\n var y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n },\n // Events\n onGestureStart: function onGestureStart(e) {\n var swiper = this;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureTouched = true;\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.swiper-slide');\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n\n gesture.$imageEl.transition(0);\n swiper.zoom.isScaling = true;\n },\n onGestureChange: function onGestureChange(e) {\n var swiper = this;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureMoved = true;\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n zoom.scale = e.scale * zoom.currentScale;\n } else {\n zoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;\n }\n\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);\n }\n\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);\n }\n\n gesture.$imageEl.transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n },\n onGestureEnd: function onGestureEnd(e) {\n var swiper = this;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\n return;\n }\n\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].android) {\n return;\n }\n\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n zoom.currentScale = zoom.scale;\n zoom.isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n },\n onTouchStart: function onTouchStart(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].android) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove: function onTouchMove(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n\n if (swiper.rtl) {\n image.startX = -image.startX;\n image.startY = -image.startY;\n }\n } // Define if we need image drag\n\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !zoom.isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n return;\n }\n\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n return;\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);\n }\n\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);\n }\n\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);\n } // Velocity\n\n\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.$imageWrapEl.transform(\"translate3d(\".concat(image.currentX, \"px, \").concat(image.currentY, \"px,0)\"));\n },\n onTouchEnd: function onTouchEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n\n image.isTouched = false;\n image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocity.x * momentumDurationX;\n var newPositionX = image.currentX + momentumDistanceX;\n var momentumDistanceY = velocity.y * momentumDurationY;\n var newPositionY = image.currentY + momentumDistanceY; // Fix duration\n\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY; // Define if we need image drag\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.$imageWrapEl.transition(momentumDuration).transform(\"translate3d(\".concat(image.currentX, \"px, \").concat(image.currentY, \"px,0)\"));\n },\n onTransitionEnd: function onTransitionEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n },\n // Toggle Zoom\n toggle: function toggle(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoom.out();\n } else {\n // Zoom In\n zoom.in(e);\n }\n },\n in: function _in(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n\n if (!gesture.$slideEl) {\n gesture.$slideEl = swiper.clickedSlide ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n gesture.$slideEl.addClass(\"\".concat(params.zoomedSlideClass));\n var touchX;\n var touchY;\n var offsetX;\n var offsetY;\n var diffX;\n var diffY;\n var translateX;\n var translateY;\n var imageWidth;\n var imageHeight;\n var scaledWidth;\n var scaledHeight;\n var translateMinX;\n var translateMinY;\n var translateMaxX;\n var translateMaxY;\n var slideWidth;\n var slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left;\n offsetY = gesture.$slideEl.offset().top;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n\n gesture.$imageWrapEl.transition(300).transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px,0)\"));\n gesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n },\n out: function out() {\n var swiper = this;\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture;\n\n if (!gesture.$slideEl) {\n gesture.$slideEl = swiper.clickedSlide ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(\"\".concat(params.zoomedSlideClass));\n gesture.$slideEl = undefined;\n },\n // Attach/Detach Events\n enable: function enable() {\n var swiper = this;\n var zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false; // Scale image\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } // Move image\n\n\n swiper.$wrapperEl.on(swiper.touchEvents.move, \".\".concat(swiper.params.zoom.containerClass), zoom.onTouchMove);\n },\n disable: function disable() {\n var swiper = this;\n var zoom = swiper.zoom;\n if (!zoom.enabled) return;\n swiper.zoom.enabled = false;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false; // Scale image\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } // Move image\n\n\n swiper.$wrapperEl.off(swiper.touchEvents.move, \".\".concat(swiper.params.zoom.containerClass), zoom.onTouchMove);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'zoom',\n params: {\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n },\n create: function create() {\n var swiper = this;\n var zoom = {\n enabled: false,\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n }\n };\n 'onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out'.split(' ').forEach(function (methodName) {\n zoom[methodName] = Zoom[methodName].bind(swiper);\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n zoom: zoom\n });\n var scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get: function get() {\n return scale;\n },\n set: function set(value) {\n if (scale !== value) {\n var imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;\n var slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;\n swiper.emit('zoomChange', value, imageEl, slideEl);\n }\n\n scale = value;\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n\n if (swiper.params.zoom.enabled) {\n swiper.zoom.enable();\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.zoom.disable();\n },\n touchStart: function touchStart(e) {\n var swiper = this;\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchStart(e);\n },\n touchEnd: function touchEnd(e) {\n var swiper = this;\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchEnd(e);\n },\n doubleTap: function doubleTap(e) {\n var swiper = this;\n\n if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n swiper.zoom.toggle(e);\n }\n },\n transitionEnd: function transitionEnd() {\n var swiper = this;\n\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n swiper.zoom.onTransitionEnd();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js": /*!*******************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js ***! \*******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'browser',\n proto: {\n browser: _utils_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n browser: _utils_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js": /*!*****************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js ***! \*****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'device',\n proto: {\n device: _utils_device__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n device: _utils_device__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js ***! \*********************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\nvar Observer = {\n func: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].MutationObserver || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].WebkitMutationObserver,\n attach: function attach(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var swiper = this;\n var ObserverFunc = Observer.func;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame(observerUpdate);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n observer: {\n init: Observer.init.bind(swiper),\n attach: Observer.attach.bind(swiper),\n destroy: Observer.destroy.bind(swiper),\n observers: []\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.observer.init();\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.destroy();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js": /*!*****************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js ***! \*****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'resize',\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n resize: {\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this; // Emit resize\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy() {\n var swiper = this;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].removeEventListener('resize', swiper.resize.resizeHandler);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js": /*!*******************************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js ***! \*******************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'support',\n proto: {\n support: _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n support: _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/swiper.js": /*!**************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/swiper.js ***! \**************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_core_core_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/core/core-class */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js\");\n/* harmony import */ var _modules_device_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/device/device */ \"./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js\");\n/* harmony import */ var _modules_support_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/support/support */ \"./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js\");\n/* harmony import */ var _modules_browser_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/browser/browser */ \"./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js\");\n/* harmony import */ var _modules_resize_resize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/resize/resize */ \"./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js\");\n/* harmony import */ var _modules_observer_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/observer/observer */ \"./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js\");\n/* harmony import */ var _components_virtual_virtual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/virtual/virtual */ \"./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js\");\n/* harmony import */ var _components_navigation_navigation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/navigation/navigation */ \"./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js\");\n/* harmony import */ var _components_pagination_pagination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/pagination/pagination */ \"./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js\");\n/* harmony import */ var _components_scrollbar_scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/scrollbar/scrollbar */ \"./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js\");\n/* harmony import */ var _components_parallax_parallax__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/parallax/parallax */ \"./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js\");\n/* harmony import */ var _components_zoom_zoom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/zoom/zoom */ \"./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js\");\n/* harmony import */ var _components_lazy_lazy__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/lazy/lazy */ \"./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js\");\n/* harmony import */ var _components_controller_controller__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/controller/controller */ \"./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js\");\n/* harmony import */ var _components_a11y_a11y__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/a11y/a11y */ \"./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js\");\n/* harmony import */ var _components_autoplay_autoplay__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/autoplay/autoplay */ \"./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js\");\n/* harmony import */ var _components_effect_fade_effect_fade__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/effect-fade/effect-fade */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js\");\n/* harmony import */ var _components_effect_cube_effect_cube__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./components/effect-cube/effect-cube */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js\");\n/* harmony import */ var _components_effect_flip_effect_flip__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./components/effect-flip/effect-flip */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js\");\n/* harmony import */ var _components_effect_coverflow_effect_coverflow__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./components/effect-coverflow/effect-coverflow */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js\");\n/* harmony import */ var _components_thumbs_thumbs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./components/thumbs/thumbs */ \"./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js\");\n// Swiper Class\n // Core Modules\n\n\n\n\n\n // Components\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_components_core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use([_modules_device_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _modules_browser_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _modules_support_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _modules_resize_resize__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _modules_observer_observer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _components_virtual_virtual__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _components_navigation_navigation__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _components_pagination_pagination__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _components_scrollbar_scrollbar__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _components_parallax_parallax__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _components_zoom_zoom__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _components_lazy_lazy__WEBPACK_IMPORTED_MODULE_12__[\"default\"], _components_controller_controller__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _components_a11y_a11y__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _components_autoplay_autoplay__WEBPACK_IMPORTED_MODULE_15__[\"default\"], _components_effect_fade_effect_fade__WEBPACK_IMPORTED_MODULE_16__[\"default\"], _components_effect_cube_effect_cube__WEBPACK_IMPORTED_MODULE_17__[\"default\"], _components_effect_flip_effect_flip__WEBPACK_IMPORTED_MODULE_18__[\"default\"], _components_effect_coverflow_effect_coverflow__WEBPACK_IMPORTED_MODULE_19__[\"default\"], _components_thumbs_thumbs__WEBPACK_IMPORTED_MODULE_20__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_components_core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/swiper.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/browser.js": /*!*********************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/utils/browser.js ***! \*********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n\nvar Browser = function Browser() {\n function isSafari() {\n var ua = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isIE: !!ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent.match(/Trident/g) || !!ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent.match(/MSIE/g),\n isSafari: isSafari(),\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent)\n };\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browser);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/browser.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/utils/class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/class.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/device.js": /*!********************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/utils/device.js ***! \********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_device__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/device.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/dom.js": /*!*****************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/utils/dom.js ***! \*****************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/dom.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/support.js": /*!*********************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/utils/support.js ***! \*********************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/support.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/utils.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper-class/utils/utils.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/utils.js?"); /***/ }), /***/ "./node_modules/framework7/components/swiper/swiper.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/swiper/swiper.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _swiper_class_swiper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./swiper-class/swiper */ \"./node_modules/framework7/components/swiper/swiper-class/swiper.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\nif (false) {}\n\nfunction initSwiper(swiperEl) {\n var app = this;\n var $swiperEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiperEl);\n if ($swiperEl.length === 0) return;\n if ($swiperEl[0].swiper) return;\n var initialSlide;\n var params = {};\n var isTabs;\n var isRoutableTabs;\n\n if ($swiperEl.hasClass('tabs-swipeable-wrap')) {\n $swiperEl.addClass('swiper-container').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide');\n initialSlide = $swiperEl.children('.tabs').children('.tab-active').index();\n isTabs = true;\n isRoutableTabs = $swiperEl.find('.tabs-routable').length > 0;\n }\n\n if ($swiperEl.attr('data-swiper')) {\n params = JSON.parse($swiperEl.attr('data-swiper'));\n } else {\n params = $swiperEl.dataset();\n Object.keys(params).forEach(function (key) {\n var value = params[key];\n\n if (typeof value === 'string' && value.indexOf('{') === 0 && value.indexOf('}') > 0) {\n try {\n params[key] = JSON.parse(value);\n } catch (e) {// not JSON\n }\n }\n });\n }\n\n if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') {\n params.initialSlide = initialSlide;\n }\n\n var swiper = app.swiper.create($swiperEl[0], params);\n\n if (isTabs) {\n swiper.on('slideChange', function () {\n if (isRoutableTabs) {\n var view = app.views.get($swiperEl.parents('.view'));\n if (!view) view = app.views.main;\n var router = view.router;\n var tabRoute = router.findTabRoute(swiper.slides.eq(swiper.activeIndex)[0]);\n\n if (tabRoute) {\n setTimeout(function () {\n router.navigate(tabRoute.path);\n }, 0);\n }\n } else {\n app.tab.show({\n tabEl: swiper.slides.eq(swiper.activeIndex)\n });\n }\n });\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'swiper',\n static: {\n Swiper: _swiper_class_swiper__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.swiper = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.swiper-container',\n constructor: _swiper_class_swiper__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n domProp: 'swiper'\n });\n },\n on: {\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n app.swiper.destroy(swiperEl);\n });\n },\n pageMounted: function pageMounted(page) {\n var app = this;\n page.$el.find('.tabs-swipeable-wrap').each(function (index, swiperEl) {\n initSwiper.call(app, swiperEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n initSwiper.call(app, swiperEl);\n });\n },\n pageReinit: function pageReinit(page) {\n var app = this;\n page.$el.find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n var swiper = app.swiper.get(swiperEl);\n if (swiper && swiper.update) swiper.update();\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n initSwiper.call(app, swiperEl);\n });\n },\n tabShow: function tabShow(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n var swiper = app.swiper.get(swiperEl);\n if (swiper && swiper.update) swiper.update();\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n app.swiper.destroy(swiperEl);\n });\n }\n },\n vnode: {\n 'swiper-init': {\n insert: function insert(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n initSwiper.call(app, swiperEl);\n },\n destroy: function destroy(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n app.swiper.destroy(swiperEl);\n }\n },\n 'tabs-swipeable-wrap': {\n insert: function insert(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n initSwiper.call(app, swiperEl);\n },\n destroy: function destroy(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n app.swiper.destroy(swiperEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper.js?"); /***/ }), /***/ "./node_modules/framework7/components/tabs/tabs.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/tabs/tabs.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Tab = {\n show: function show() {\n var app = this;\n var tabEl;\n var tabLinkEl;\n var animate;\n var tabRoute;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor === Object) {\n tabEl = args[0].tabEl;\n tabLinkEl = args[0].tabLinkEl;\n animate = args[0].animate;\n tabRoute = args[0].tabRoute;\n } else {\n tabEl = args[0];\n tabLinkEl = args[1];\n animate = args[2];\n tabRoute = args[3];\n\n if (typeof args[1] === 'boolean') {\n tabEl = args[0];\n animate = args[1];\n tabLinkEl = args[2];\n tabRoute = args[3];\n\n if (args.length > 2 && tabLinkEl.constructor === Object) {\n tabEl = args[0];\n animate = args[1];\n tabRoute = args[2];\n tabLinkEl = args[3];\n }\n }\n }\n\n if (typeof animate === 'undefined') animate = true;\n var $newTabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n\n if (tabRoute && $newTabEl[0]) {\n $newTabEl[0].f7TabRoute = tabRoute;\n }\n\n if ($newTabEl.length === 0 || $newTabEl.hasClass('tab-active')) {\n return {\n $newTabEl: $newTabEl,\n newTabEl: $newTabEl[0]\n };\n }\n\n var $tabLinkEl;\n if (tabLinkEl) $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkEl);\n var $tabsEl = $newTabEl.parent('.tabs');\n\n if ($tabsEl.length === 0) {\n return {\n $newTabEl: $newTabEl,\n newTabEl: $newTabEl[0]\n };\n } // Release swipeouts in hidden tabs\n\n\n if (app.swipeout) app.swipeout.allowOpen = true; // Animated tabs\n\n var tabsChangedCallbacks = [];\n\n function onTabsChanged(callback) {\n tabsChangedCallbacks.push(callback);\n }\n\n function tabsChanged() {\n tabsChangedCallbacks.forEach(function (callback) {\n callback();\n });\n }\n\n var animated = false;\n\n if ($tabsEl.parent().hasClass('tabs-animated-wrap')) {\n $tabsEl.parent()[animate ? 'removeClass' : 'addClass']('not-animated');\n var transitionDuration = parseFloat($tabsEl.css('transition-duration').replace(',', '.'));\n\n if (animate && transitionDuration) {\n $tabsEl.transitionEnd(tabsChanged);\n animated = true;\n }\n\n var tabsTranslate = (app.rtl ? $newTabEl.index() : -$newTabEl.index()) * 100;\n $tabsEl.transform(\"translate3d(\".concat(tabsTranslate, \"%,0,0)\"));\n } // Swipeable tabs\n\n\n var swiper;\n\n if ($tabsEl.parent().hasClass('tabs-swipeable-wrap') && app.swiper) {\n swiper = $tabsEl.parent()[0].swiper;\n\n if (swiper && swiper.activeIndex !== $newTabEl.index()) {\n animated = true;\n swiper.once('slideChangeTransitionEnd', function () {\n tabsChanged();\n }).slideTo($newTabEl.index(), animate ? undefined : 0);\n } else if (swiper && swiper.animating) {\n animated = true;\n swiper.once('slideChangeTransitionEnd', function () {\n tabsChanged();\n });\n }\n } // Remove active class from old tabs\n\n\n var $oldTabEl = $tabsEl.children('.tab-active');\n $oldTabEl.removeClass('tab-active');\n\n if (!swiper || swiper && !swiper.animating || swiper && tabRoute) {\n $oldTabEl.trigger('tab:hide');\n app.emit('tabHide', $oldTabEl[0]);\n } // Trigger 'show' event on new tab\n\n\n $newTabEl.addClass('tab-active');\n\n if (!swiper || swiper && !swiper.animating || swiper && tabRoute) {\n $newTabEl.trigger('tab:show');\n app.emit('tabShow', $newTabEl[0]);\n } // Find related link for new tab\n\n\n if (!$tabLinkEl) {\n // Search by id\n if (typeof tabEl === 'string') $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"\".concat(tabEl, \"\\\"]\"));else $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"#\".concat($newTabEl.attr('id'), \"\\\"]\")); // Search by data-tab\n\n if (!$tabLinkEl || $tabLinkEl && $tabLinkEl.length === 0) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('[data-tab]').each(function (index, el) {\n if ($newTabEl.is(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tab'))) $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n });\n }\n\n if (tabRoute && (!$tabLinkEl || $tabLinkEl && $tabLinkEl.length === 0)) {\n $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"[data-route-tab-id=\\\"\".concat(tabRoute.route.tab.id, \"\\\"]\"));\n\n if ($tabLinkEl.length === 0) {\n $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"\".concat(tabRoute.url, \"\\\"]\"));\n }\n }\n\n if ($tabLinkEl.length > 1 && $newTabEl.parents('.page').length) {\n // eslint-disable-next-line\n $tabLinkEl = $tabLinkEl.filter(function (index, tabLinkElement) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement).parents('.page')[0] === $newTabEl.parents('.page')[0];\n });\n\n if (app.theme === 'ios' && $tabLinkEl.length === 0 && tabRoute) {\n var $pageEl = $newTabEl.parents('.page');\n var $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($pageEl));\n $tabLinkEl = $navbarEl.find(\"[data-route-tab-id=\\\"\".concat(tabRoute.route.tab.id, \"\\\"]\"));\n\n if ($tabLinkEl.length === 0) {\n $tabLinkEl = $navbarEl.find(\".tab-link[href=\\\"\".concat(tabRoute.url, \"\\\"]\"));\n }\n }\n }\n }\n\n if ($tabLinkEl.length > 0) {\n // Find related link for old tab\n var $oldTabLinkEl;\n\n if ($oldTabEl && $oldTabEl.length > 0) {\n // Search by id\n var oldTabId = $oldTabEl.attr('id');\n\n if (oldTabId) {\n $oldTabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"#\".concat(oldTabId, \"\\\"]\")); // Search by data-route-tab-id\n\n if (!$oldTabLinkEl || $oldTabLinkEl && $oldTabLinkEl.length === 0) {\n $oldTabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[data-route-tab-id=\\\"\".concat(oldTabId, \"\\\"]\"));\n }\n } // Search by data-tab\n\n\n if (!$oldTabLinkEl || $oldTabLinkEl && $oldTabLinkEl.length === 0) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('[data-tab]').each(function (index, tabLinkElement) {\n if ($oldTabEl.is(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement).attr('data-tab'))) $oldTabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement);\n });\n }\n\n if (!$oldTabLinkEl || $oldTabLinkEl && $oldTabLinkEl.length === 0) {\n $oldTabLinkEl = $tabLinkEl.siblings('.tab-link-active');\n }\n } else if (tabRoute) {\n $oldTabLinkEl = $tabLinkEl.siblings('.tab-link-active');\n }\n\n if ($oldTabLinkEl && $oldTabLinkEl.length > 1 && $oldTabEl && $oldTabEl.parents('.page').length) {\n // eslint-disable-next-line\n $oldTabLinkEl = $oldTabLinkEl.filter(function (index, tabLinkElement) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement).parents('.page')[0] === $oldTabEl.parents('.page')[0];\n });\n }\n\n if ($oldTabLinkEl && $oldTabLinkEl.length > 0) $oldTabLinkEl.removeClass('tab-link-active'); // Update links' classes\n\n if ($tabLinkEl && $tabLinkEl.length > 0) {\n $tabLinkEl.addClass('tab-link-active'); // Material Highlight\n\n if (app.theme === 'md' && app.toolbar) {\n var $tabbarEl = $tabLinkEl.parents('.tabbar, .tabbar-labels');\n\n if ($tabbarEl.length > 0) {\n app.toolbar.setHighlight($tabbarEl);\n }\n }\n }\n }\n\n return {\n $newTabEl: $newTabEl,\n newTabEl: $newTabEl[0],\n $oldTabEl: $oldTabEl,\n oldTabEl: $oldTabEl[0],\n onTabsChanged: onTabsChanged,\n animated: animated\n };\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'tabs',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n tab: {\n show: Tab.show.bind(app)\n }\n });\n },\n clicks: {\n '.tab-link': function tabLinkClick($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n\n if ($clickedEl.attr('href') && $clickedEl.attr('href').indexOf('#') === 0 || $clickedEl.attr('data-tab')) {\n app.tab.show({\n tabEl: data.tab || $clickedEl.attr('href'),\n tabLinkEl: $clickedEl,\n animate: data.animate\n });\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/tabs/tabs.js?"); /***/ }), /***/ "./node_modules/framework7/components/timeline/timeline.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/timeline/timeline.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'timeline'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/timeline/timeline.js?"); /***/ }), /***/ "./node_modules/framework7/components/toast/toast-class.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/toast/toast-class.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Toast = /*#__PURE__*/function (_Modal) {\n _inherits(Toast, _Modal);\n\n var _super = _createSuper(Toast);\n\n function Toast(app, params) {\n var _this;\n\n _classCallCheck(this, Toast);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n on: {}\n }, app.params.toast, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var toast = _assertThisInitialized(_this);\n\n toast.app = app;\n toast.params = extendedParams;\n var _toast$params = toast.params,\n closeButton = _toast$params.closeButton,\n closeTimeout = _toast$params.closeTimeout;\n var $el;\n\n if (!toast.params.el) {\n // Find Element\n var toastHtml = toast.render();\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(toastHtml);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(toast.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, toast.destroy());\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(toast, {\n $el: $el,\n el: $el[0],\n type: 'toast'\n });\n $el[0].f7Modal = toast;\n\n if (closeButton) {\n $el.find('.toast-button').on('click', function () {\n toast.emit('local::closeButtonClick toastCloseButtonClick', toast);\n toast.close();\n });\n toast.on('beforeDestroy', function () {\n $el.find('.toast-button').off('click');\n });\n }\n\n var timeoutId;\n toast.on('open', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.toast.modal-in').each(function (index, openedEl) {\n var toastInstance = app.toast.get(openedEl);\n\n if (openedEl !== toast.el && toastInstance) {\n toastInstance.close();\n }\n });\n\n if (closeTimeout) {\n timeoutId = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n toast.close();\n }, closeTimeout);\n }\n });\n toast.on('close', function () {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].clearTimeout(timeoutId);\n });\n\n if (toast.params.destroyOnClose) {\n toast.once('closed', function () {\n setTimeout(function () {\n toast.destroy();\n }, 0);\n });\n }\n\n return _possibleConstructorReturn(_this, toast);\n }\n\n _createClass(Toast, [{\n key: \"render\",\n value: function render() {\n var toast = this;\n if (toast.params.render) return toast.params.render.call(toast, toast);\n var _toast$params2 = toast.params,\n position = _toast$params2.position,\n cssClass = _toast$params2.cssClass,\n icon = _toast$params2.icon,\n text = _toast$params2.text,\n closeButton = _toast$params2.closeButton,\n closeButtonColor = _toast$params2.closeButtonColor,\n closeButtonText = _toast$params2.closeButtonText;\n return \"\\n
          \\n
          \\n \").concat(icon ? \"
          \".concat(icon, \"
          \") : '', \"\\n
          \").concat(text, \"
          \\n \").concat(closeButton && !icon ? \"\\n \").concat(closeButtonText, \"\\n \").trim() : '', \"\\n
          \\n
          \\n \").trim();\n }\n }]);\n\n return Toast;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Toast);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toast/toast-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/toast/toast.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/toast/toast.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _toast_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toast-class */ \"./node_modules/framework7/components/toast/toast-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'toast',\n static: {\n Toast: _toast_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.toast = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n app: app,\n constructor: _toast_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n defaultSelector: '.toast.modal-in'\n }), {\n // Shortcuts\n show: function show(params) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(params, {\n destroyOnClose: true\n });\n return new _toast_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, params).open();\n }\n });\n },\n params: {\n toast: {\n icon: null,\n text: null,\n position: 'bottom',\n closeButton: false,\n closeButtonColor: null,\n closeButtonText: 'Ok',\n closeTimeout: null,\n cssClass: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toast/toast.js?"); /***/ }), /***/ "./node_modules/framework7/components/toggle/toggle-class.js": /*!*******************************************************************!*\ !*** ./node_modules/framework7/components/toggle/toggle-class.js ***! \*******************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Toggle = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Toggle, _Framework7Class);\n\n var _super = _createSuper(Toggle);\n\n function Toggle(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Toggle);\n\n _this = _super.call(this, params, [app]);\n\n var toggle = _assertThisInitialized(_this);\n\n var defaults = {}; // Extend defaults with modules params\n\n toggle.useModulesParams(defaults);\n toggle.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var el = toggle.params.el;\n if (!el) return _possibleConstructorReturn(_this, toggle);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, toggle);\n if ($el[0].f7Toggle) return _possibleConstructorReturn(_this, $el[0].f7Toggle);\n var $inputEl = $el.children('input[type=\"checkbox\"]');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(toggle, {\n app: app,\n $el: $el,\n el: $el[0],\n $inputEl: $inputEl,\n inputEl: $inputEl[0],\n disabled: $el.hasClass('disabled') || $inputEl.hasClass('disabled') || $inputEl.attr('disabled') || $inputEl[0].disabled\n });\n Object.defineProperty(toggle, 'checked', {\n enumerable: true,\n configurable: true,\n set: function set(checked) {\n if (!toggle || typeof toggle.$inputEl === 'undefined') return;\n if (toggle.checked === checked) return;\n $inputEl[0].checked = checked;\n toggle.$inputEl.trigger('change');\n },\n get: function get() {\n return $inputEl[0].checked;\n }\n });\n $el[0].f7Toggle = toggle;\n var isTouched;\n var touchesStart = {};\n var isScrolling;\n var touchesDiff;\n var toggleWidth;\n var touchStartTime;\n var touchStartChecked;\n\n function handleTouchStart(e) {\n if (isTouched || toggle.disabled) 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 touchesDiff = 0;\n isTouched = true;\n isScrolling = undefined;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n touchStartChecked = toggle.checked;\n toggleWidth = $el[0].offsetWidth;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (isTouched) {\n $el.addClass('toggle-active-state');\n }\n });\n }\n\n function handleTouchMove(e) {\n if (!isTouched || toggle.disabled) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n var inverter = app.rtl ? -1 : 1;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x;\n var changed;\n\n if (touchesDiff * inverter < 0 && Math.abs(touchesDiff) > toggleWidth / 3 && touchStartChecked) {\n changed = true;\n }\n\n if (touchesDiff * inverter > 0 && Math.abs(touchesDiff) > toggleWidth / 3 && !touchStartChecked) {\n changed = true;\n }\n\n if (changed) {\n touchesStart.x = pageX;\n toggle.checked = !touchStartChecked;\n touchStartChecked = !touchStartChecked;\n }\n }\n\n function handleTouchEnd() {\n if (!isTouched || toggle.disabled) {\n if (isScrolling) $el.removeClass('toggle-active-state');\n isTouched = false;\n return;\n }\n\n var inverter = app.rtl ? -1 : 1;\n isTouched = false;\n $el.removeClass('toggle-active-state');\n var changed;\n\n if (_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now() - touchStartTime < 300) {\n if (touchesDiff * inverter < 0 && touchStartChecked) {\n changed = true;\n }\n\n if (touchesDiff * inverter > 0 && !touchStartChecked) {\n changed = true;\n }\n\n if (changed) {\n toggle.checked = !touchStartChecked;\n }\n }\n }\n\n function handleInputChange() {\n toggle.$el.trigger('toggle:change', toggle);\n toggle.emit('local::change toggleChange', toggle);\n }\n\n toggle.attachEvents = function attachEvents() {\n if ( true && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n\n toggle.$inputEl.on('change', handleInputChange);\n };\n\n toggle.detachEvents = function detachEvents() {\n if (\"development\".TARGET !== 'desktop' && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n\n toggle.$inputEl.off('change', handleInputChange);\n }; // Install Modules\n\n\n toggle.useModules(); // Init\n\n toggle.init();\n return _this;\n }\n\n _createClass(Toggle, [{\n key: \"toggle\",\n value: function toggle() {\n var toggle = this;\n toggle.checked = !toggle.checked;\n }\n }, {\n key: \"init\",\n value: function init() {\n var toggle = this;\n toggle.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var toggle = this;\n toggle.$el.trigger('toggle:beforedestroy', toggle);\n toggle.emit('local::beforeDestroy toggleBeforeDestroy', toggle);\n delete toggle.$el[0].f7Toggle;\n toggle.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(toggle);\n toggle = null;\n }\n }]);\n\n return Toggle;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Toggle);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toggle/toggle-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/toggle/toggle.js": /*!*************************************************************!*\ !*** ./node_modules/framework7/components/toggle/toggle.js ***! \*************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _toggle_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toggle-class */ \"./node_modules/framework7/components/toggle/toggle-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'toggle',\n create: function create() {\n var app = this;\n app.toggle = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.toggle',\n constructor: _toggle_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Toggle'\n });\n },\n static: {\n Toggle: _toggle_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.toggle-init').each(function (index, toggleEl) {\n return app.toggle.create({\n el: toggleEl\n });\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.toggle-init').each(function (index, toggleEl) {\n if (toggleEl.f7Toggle) toggleEl.f7Toggle.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.toggle-init').each(function (index, toggleEl) {\n return app.toggle.create({\n el: toggleEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.toggle-init').each(function (index, toggleEl) {\n if (toggleEl.f7Toggle) toggleEl.f7Toggle.destroy();\n });\n }\n },\n vnode: {\n 'toggle-init': {\n insert: function insert(vnode) {\n var app = this;\n var toggleEl = vnode.elm;\n app.toggle.create({\n el: toggleEl\n });\n },\n destroy: function destroy(vnode) {\n var toggleEl = vnode.elm;\n if (toggleEl.f7Toggle) toggleEl.f7Toggle.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toggle/toggle.js?"); /***/ }), /***/ "./node_modules/framework7/components/toolbar/toolbar.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/toolbar/toolbar.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Toolbar = {\n setHighlight: function setHighlight(tabbarEl) {\n var app = this;\n if (app.theme !== 'md') return;\n var $tabbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabbarEl);\n if ($tabbarEl.length === 0 || !($tabbarEl.hasClass('tabbar') || $tabbarEl.hasClass('tabbar-labels'))) return;\n var $highlightEl = $tabbarEl.find('.tab-link-highlight');\n var tabLinksCount = $tabbarEl.find('.tab-link').length;\n\n if (tabLinksCount === 0) {\n $highlightEl.remove();\n return;\n }\n\n if ($highlightEl.length === 0) {\n $tabbarEl.children('.toolbar-inner').append('');\n $highlightEl = $tabbarEl.find('.tab-link-highlight');\n } else if ($highlightEl.next().length) {\n $tabbarEl.children('.toolbar-inner').append($highlightEl);\n }\n\n var $activeLink = $tabbarEl.find('.tab-link-active');\n var highlightWidth;\n var highlightTranslate;\n\n if ($tabbarEl.hasClass('tabbar-scrollable') && $activeLink && $activeLink[0]) {\n highlightWidth = \"\".concat($activeLink[0].offsetWidth, \"px\");\n highlightTranslate = \"\".concat($activeLink[0].offsetLeft, \"px\");\n } else {\n var activeIndex = $activeLink.index();\n highlightWidth = \"\".concat(100 / tabLinksCount, \"%\");\n highlightTranslate = \"\".concat((app.rtl ? -activeIndex : activeIndex) * 100, \"%\");\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $highlightEl.css('width', highlightWidth).transform(\"translate3d(\".concat(highlightTranslate, \",0,0)\"));\n });\n },\n init: function init(tabbarEl) {\n var app = this;\n app.toolbar.setHighlight(tabbarEl);\n },\n hide: function hide(el) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.hasClass('toolbar-hidden')) return;\n var className = \"toolbar-hidden\".concat(animate ? ' toolbar-transitioning' : '');\n $el.transitionEnd(function () {\n $el.removeClass('toolbar-transitioning');\n });\n $el.addClass(className);\n },\n show: function show(el) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if (!$el.hasClass('toolbar-hidden')) return;\n\n if (animate) {\n $el.addClass('toolbar-transitioning');\n $el.transitionEnd(function () {\n $el.removeClass('toolbar-transitioning');\n });\n }\n\n $el.removeClass('toolbar-hidden');\n },\n initHideToolbarOnScroll: function initHideToolbarOnScroll(pageEl) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n var $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.find('.toolbar');\n }\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.parents('.views').children('.tabbar, .tabbar-labels');\n }\n\n if ($toolbarEl.length === 0) {\n return;\n }\n\n var previousScrollTop;\n var currentScrollTop;\n var scrollHeight;\n var offsetHeight;\n var reachEnd;\n var action;\n var toolbarHidden;\n\n function handleScroll(e) {\n var scrollContent = this;\n\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n\n if ($pageEl.hasClass('page-previous')) return;\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\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n $pageEl[0].f7ScrollToolbarHandler = handleScroll;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'toolbar',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n toolbar: {\n hide: Toolbar.hide.bind(app),\n show: Toolbar.show.bind(app),\n setHighlight: Toolbar.setHighlight.bind(app),\n initHideToolbarOnScroll: Toolbar.initHideToolbarOnScroll.bind(app),\n init: Toolbar.init.bind(app)\n }\n });\n },\n params: {\n toolbar: {\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true\n }\n },\n on: {\n pageBeforeRemove: function pageBeforeRemove(page) {\n if (page.$el[0].f7ScrollToolbarHandler) {\n page.$el.off('scroll', '.page-content', page.$el[0].f7ScrollToolbarHandler, true);\n }\n },\n pageBeforeIn: function pageBeforeIn(page) {\n var app = this;\n var $toolbarEl = page.$el.parents('.view').children('.toolbar');\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.parents('.views').children('.tabbar, .tabbar-labels');\n }\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.find('.toolbar');\n }\n\n if ($toolbarEl.length === 0) {\n return;\n }\n\n if (page.$el.hasClass('no-toolbar')) {\n app.toolbar.hide($toolbarEl);\n } else {\n app.toolbar.show($toolbarEl);\n }\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.tabbar, .tabbar-labels').each(function (index, tabbarEl) {\n app.toolbar.init(tabbarEl);\n });\n\n if (app.params.toolbar.hideOnPageScroll || page.$el.find('.hide-toolbar-on-scroll').length || page.$el.hasClass('hide-toolbar-on-scroll') || page.$el.find('.hide-bars-on-scroll').length || page.$el.hasClass('hide-bars-on-scroll')) {\n if (page.$el.find('.keep-toolbar-on-scroll').length || page.$el.hasClass('keep-toolbar-on-scroll') || page.$el.find('.keep-bars-on-scroll').length || page.$el.hasClass('keep-bars-on-scroll')) {\n return;\n }\n\n app.toolbar.initHideToolbarOnScroll(page.el);\n }\n },\n init: function init() {\n var app = this;\n app.root.find('.tabbar, .tabbar-labels').each(function (index, tabbarEl) {\n app.toolbar.init(tabbarEl);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toolbar/toolbar.js?"); /***/ }), /***/ "./node_modules/framework7/components/tooltip/tooltip-class.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/tooltip/tooltip-class.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Tooltip = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Tooltip, _Framework7Class);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Tooltip);\n\n _this = _super.call(this, params, [app]);\n\n var tooltip = _assertThisInitialized(_this);\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, app.params.tooltip); // Extend defaults with modules params\n\n tooltip.useModulesParams(defaults);\n tooltip.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var targetEl = tooltip.params.targetEl;\n if (!targetEl) return _possibleConstructorReturn(_this, tooltip);\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl);\n if ($targetEl.length === 0) return _possibleConstructorReturn(_this, tooltip);\n if ($targetEl[0].f7Tooltip) return _possibleConstructorReturn(_this, $targetEl[0].f7Tooltip);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tooltip.render()).eq(0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(tooltip, {\n app: app,\n $targetEl: $targetEl,\n targetEl: $targetEl && $targetEl[0],\n $el: $el,\n el: $el && $el[0],\n text: tooltip.params.text || '',\n visible: false,\n opened: false\n });\n $targetEl[0].f7Tooltip = tooltip;\n var touchesStart = {};\n var isTouched;\n\n function handleTouchStart(e) {\n if (isTouched) return;\n isTouched = true;\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 tooltip.show(this);\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n var distance = Math.pow(Math.pow(x - touchesStart.x, 2) + Math.pow(y - touchesStart.y, 2), 0.5);\n\n if (distance > 50) {\n isTouched = false;\n tooltip.hide();\n }\n }\n\n function handleTouchEnd() {\n if (!isTouched) return;\n isTouched = false;\n tooltip.hide();\n }\n\n function handleMouseEnter() {\n tooltip.show(this);\n }\n\n function handleMouseLeave() {\n tooltip.hide();\n }\n\n function handleTransitionEnd() {\n if (!$el.hasClass('tooltip-in')) {\n $el.removeClass('tooltip-out').remove();\n }\n }\n\n tooltip.attachEvents = function attachEvents() {\n $el.on('transitionend', handleTransitionEnd);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $targetEl.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n } else {\n $targetEl.on('mouseenter', handleMouseEnter);\n $targetEl.on('mouseleave', handleMouseLeave);\n }\n };\n\n tooltip.detachEvents = function detachEvents() {\n $el.off('transitionend', handleTransitionEnd);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $targetEl.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n } else {\n $targetEl.off('mouseenter', handleMouseEnter);\n $targetEl.off('mouseleave', handleMouseLeave);\n }\n }; // Install Modules\n\n\n tooltip.useModules();\n tooltip.init();\n return _possibleConstructorReturn(_this, tooltip);\n }\n\n _createClass(Tooltip, [{\n key: \"position\",\n value: function position(targetEl) {\n var tooltip = this;\n var $el = tooltip.$el,\n app = tooltip.app;\n $el.css({\n left: '',\n top: ''\n });\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl || tooltip.targetEl);\n var _ref = [$el.width(), $el.height()],\n width = _ref[0],\n height = _ref[1];\n $el.css({\n left: '',\n top: ''\n });\n var targetWidth;\n var targetHeight;\n var targetOffsetLeft;\n var targetOffsetTop;\n\n if ($targetEl && $targetEl.length > 0) {\n targetWidth = $targetEl.outerWidth();\n targetHeight = $targetEl.outerHeight();\n var targetOffset = $targetEl.offset();\n targetOffsetLeft = targetOffset.left - app.left;\n targetOffsetTop = targetOffset.top - app.top;\n var targetParentPage = $targetEl.parents('.page');\n\n if (targetParentPage.length > 0) {\n targetOffsetTop -= targetParentPage[0].scrollTop;\n }\n }\n\n var _ref2 = [0, 0, 0],\n left = _ref2[0],\n top = _ref2[1]; // Top Position\n\n var position = 'top';\n\n if (height < targetOffsetTop) {\n // On top\n top = targetOffsetTop - height;\n } else if (height < app.height - targetOffsetTop - targetHeight) {\n // On bottom\n position = 'bottom';\n top = targetOffsetTop + targetHeight;\n } else {\n // On middle\n position = 'middle';\n top = targetHeight / 2 + targetOffsetTop - height / 2;\n\n if (top <= 0) {\n top = 8;\n } else if (top + height >= app.height) {\n top = app.height - height - 8;\n }\n } // Horizontal Position\n\n\n if (position === 'top' || position === 'bottom') {\n left = targetWidth / 2 + targetOffsetLeft - width / 2;\n if (left < 8) left = 8;\n if (left + width > app.width) left = app.width - width - 8;\n if (left < 0) left = 0;\n } else if (position === 'middle') {\n left = targetOffsetLeft - width;\n\n if (left < 8 || left + width > app.width) {\n if (left < 8) left = targetOffsetLeft + targetWidth;\n if (left + width > app.width) left = app.width - width - 8;\n }\n } // Apply Styles\n\n\n $el.css({\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\")\n });\n }\n }, {\n key: \"show\",\n value: function show(aroundEl) {\n var tooltip = this;\n var app = tooltip.app,\n $el = tooltip.$el,\n $targetEl = tooltip.$targetEl;\n app.root.append($el);\n tooltip.position(aroundEl);\n var $aroundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(aroundEl);\n tooltip.visible = true;\n tooltip.opened = true;\n $targetEl.trigger('tooltip:show', tooltip);\n $el.trigger('tooltip:show', tooltip);\n\n if ($aroundEl.length && $aroundEl[0] !== $targetEl[0]) {\n $aroundEl.trigger('tooltip:show', tooltip);\n }\n\n tooltip.emit('local::show tooltipShow', tooltip);\n $el.removeClass('tooltip-out').addClass('tooltip-in');\n return tooltip;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var tooltip = this;\n var $el = tooltip.$el,\n $targetEl = tooltip.$targetEl;\n tooltip.visible = false;\n tooltip.opened = false;\n $targetEl.trigger('tooltip:hide', tooltip);\n $el.trigger('tooltip:hide', tooltip);\n tooltip.emit('local::hide tooltipHide', tooltip);\n $el.addClass('tooltip-out').removeClass('tooltip-in');\n return tooltip;\n }\n }, {\n key: \"render\",\n value: function render() {\n var tooltip = this;\n if (tooltip.params.render) return tooltip.params.render.call(tooltip, tooltip);\n var _tooltip$params = tooltip.params,\n cssClass = _tooltip$params.cssClass,\n text = _tooltip$params.text;\n return \"\\n
          \\n
          \").concat(text || '', \"
          \\n
          \\n \").trim();\n }\n }, {\n key: \"setText\",\n value: function setText(newText) {\n var tooltip = this;\n\n if (typeof newText === 'undefined') {\n return tooltip;\n }\n\n tooltip.params.text = newText;\n tooltip.text = newText;\n\n if (tooltip.$el) {\n tooltip.$el.children('.tooltip-content').html(newText);\n }\n\n if (tooltip.opened) {\n tooltip.position();\n }\n\n return tooltip;\n }\n }, {\n key: \"init\",\n value: function init() {\n var tooltip = this;\n tooltip.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var tooltip = this;\n if (!tooltip.$targetEl || tooltip.destroyed) return;\n tooltip.$targetEl.trigger('tooltip:beforedestroy', tooltip);\n tooltip.emit('local::beforeDestroy tooltipBeforeDestroy', tooltip);\n tooltip.$el.remove();\n delete tooltip.$targetEl[0].f7Tooltip;\n tooltip.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(tooltip);\n tooltip.destroyed = true;\n }\n }]);\n\n return Tooltip;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Tooltip);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/tooltip/tooltip-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/tooltip/tooltip.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/tooltip/tooltip.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _tooltip_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tooltip-class */ \"./node_modules/framework7/components/tooltip/tooltip-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'tooltip',\n static: {\n Tooltip: _tooltip_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.tooltip = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.tooltip',\n constructor: _tooltip_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Tooltip'\n });\n\n app.tooltip.show = function show(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var tooltip = $el[0].f7Tooltip;\n if (!tooltip) return undefined;\n tooltip.show($el[0]);\n return tooltip;\n };\n\n app.tooltip.hide = function hide(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var tooltip = $el[0].f7Tooltip;\n if (!tooltip) return undefined;\n tooltip.hide();\n return tooltip;\n };\n\n app.tooltip.setText = function text(el, newText) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var tooltip = $el[0].f7Tooltip;\n if (!tooltip) return undefined;\n tooltip.setText(newText);\n return tooltip;\n };\n },\n params: {\n tooltip: {\n targetEl: null,\n text: null,\n cssClass: null,\n render: null\n }\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.tooltip-init').each(function (index, el) {\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.tooltip-init').each(function (index, el) {\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.tooltip-init').each(function (index, el) {\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.tooltip-init').each(function (index, el) {\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n });\n }\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.tooltip-init').each(function (index, el) {\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.tooltip-init').each(function (index, el) {\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n });\n }\n }\n },\n vnode: {\n 'tooltip-init': {\n insert: function insert(vnode) {\n var app = this;\n var el = vnode.elm;\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n },\n update: function update(vnode) {\n var el = vnode.elm;\n if (!el.f7Tooltip) return;\n\n if (vnode && vnode.data && vnode.data.attrs && vnode.data.attrs['data-tooltip']) {\n el.f7Tooltip.setText(vnode.data.attrs['data-tooltip']);\n }\n },\n destroy: function destroy(vnode) {\n var el = vnode.elm;\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/tooltip/tooltip.js?"); /***/ }), /***/ "./node_modules/framework7/components/touch-ripple/touch-ripple-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/touch-ripple/touch-ripple-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return TouchRipple; });\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\nvar TouchRipple = /*#__PURE__*/function () {\n function TouchRipple($el, x, y) {\n _classCallCheck(this, TouchRipple);\n\n var ripple = this;\n if (!$el) return undefined;\n var box = $el[0].getBoundingClientRect();\n var center = {\n x: x - box.left,\n y: y - box.top\n };\n var width = box.width;\n var height = box.height;\n var diameter = Math.max(Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5), 48);\n ripple.$rippleWaveEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"
          \"));\n $el.prepend(ripple.$rippleWaveEl);\n ripple.rippleTransform = \"translate3d(\".concat(-center.x + width / 2, \"px, \").concat(-center.y + height / 2, \"px, 0) scale(1)\");\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n if (!ripple || !ripple.$rippleWaveEl) return;\n ripple.$rippleWaveEl.transform(ripple.rippleTransform);\n });\n return ripple;\n }\n\n _createClass(TouchRipple, [{\n key: \"destroy\",\n value: function destroy() {\n var ripple = this;\n\n if (ripple.$rippleWaveEl) {\n ripple.$rippleWaveEl.remove();\n }\n\n Object.keys(ripple).forEach(function (key) {\n ripple[key] = null;\n delete ripple[key];\n });\n ripple = null;\n }\n }, {\n key: \"remove\",\n value: function remove() {\n var ripple = this;\n if (ripple.removing) return;\n var $rippleWaveEl = this.$rippleWaveEl;\n var rippleTransform = this.rippleTransform;\n var removeTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n ripple.destroy();\n }, 400);\n ripple.removing = true;\n $rippleWaveEl.addClass('ripple-wave-fill').transform(rippleTransform.replace('scale(1)', 'scale(1.01)')).transitionEnd(function () {\n clearTimeout(removeTimeout);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $rippleWaveEl.addClass('ripple-wave-out').transform(rippleTransform.replace('scale(1)', 'scale(1.01)'));\n removeTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n ripple.destroy();\n }, 700);\n $rippleWaveEl.transitionEnd(function () {\n clearTimeout(removeTimeout);\n ripple.destroy();\n });\n });\n });\n }\n }]);\n\n return TouchRipple;\n}();\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/components/touch-ripple/touch-ripple-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/touch-ripple/touch-ripple.js": /*!*************************************************************************!*\ !*** ./node_modules/framework7/components/touch-ripple/touch-ripple.js ***! \*************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _touch_ripple_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./touch-ripple-class */ \"./node_modules/framework7/components/touch-ripple/touch-ripple-class.js\");\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'touch-ripple',\n static: {\n TouchRipple: _touch_ripple_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.touchRipple = {\n create: function create() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(_touch_ripple_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"], args);\n }\n };\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/touch-ripple/touch-ripple.js?"); /***/ }), /***/ "./node_modules/framework7/components/treeview/treeview.js": /*!*****************************************************************!*\ !*** ./node_modules/framework7/components/treeview/treeview.js ***! \*****************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Treeview = {\n open: function open(itemEl) {\n var app = this;\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).eq(0);\n if (!$itemEl.length) return;\n $itemEl.addClass('treeview-item-opened');\n $itemEl.trigger('treeview:open');\n app.emit('treeviewOpen', $itemEl[0]);\n\n function done() {\n $itemEl[0].f7TreeviewChildrenLoaded = true;\n $itemEl.find('.treeview-toggle').removeClass('treeview-toggle-hidden');\n $itemEl.find('.treeview-preloader').remove();\n }\n\n if ($itemEl.hasClass('treeview-load-children') && !$itemEl[0].f7TreeviewChildrenLoaded) {\n $itemEl.trigger('treeview:loadchildren', done);\n app.emit('treeviewLoadChildren', $itemEl[0], done);\n $itemEl.find('.treeview-toggle').addClass('treeview-toggle-hidden');\n $itemEl.find('.treeview-item-root').prepend(\"
          \".concat(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")], \"
          \"));\n }\n },\n close: function close(itemEl) {\n var app = this;\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).eq(0);\n if (!$itemEl.length) return;\n $itemEl.removeClass('treeview-item-opened');\n $itemEl.trigger('treeview:close');\n app.emit('treeviewClose', $itemEl[0]);\n },\n toggle: function toggle(itemEl) {\n var app = this;\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).eq(0);\n if (!$itemEl.length) return;\n var wasOpened = $itemEl.hasClass('treeview-item-opened');\n app.treeview[wasOpened ? 'close' : 'open']($itemEl);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'treeview',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n treeview: {\n open: Treeview.open.bind(app),\n close: Treeview.close.bind(app),\n toggle: Treeview.toggle.bind(app)\n }\n });\n },\n clicks: {\n '.treeview-toggle': function toggle($clickedEl, clickedData, e) {\n var app = this;\n if ($clickedEl.parents('.treeview-item-toggle').length) return;\n var $treeviewItemEl = $clickedEl.parents('.treeview-item').eq(0);\n if (!$treeviewItemEl.length) return;\n e.preventF7Router = true;\n app.treeview.toggle($treeviewItemEl[0]);\n },\n '.treeview-item-toggle': function toggle($clickedEl, clickedData, e) {\n var app = this;\n var $treeviewItemEl = $clickedEl.closest('.treeview-item').eq(0);\n if (!$treeviewItemEl.length) return;\n e.preventF7Router = true;\n app.treeview.toggle($treeviewItemEl[0]);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/treeview/treeview.js?"); /***/ }), /***/ "./node_modules/framework7/components/typography/typography.js": /*!*********************************************************************!*\ !*** ./node_modules/framework7/components/typography/typography.js ***! \*********************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'typography'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/typography/typography.js?"); /***/ }), /***/ "./node_modules/framework7/components/vi/vi-class.js": /*!***********************************************************!*\ !*** ./node_modules/framework7/components/vi/vi-class.js ***! \***********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar ViAd = /*#__PURE__*/function (_Framework7Class) {\n _inherits(ViAd, _Framework7Class);\n\n var _super = _createSuper(ViAd);\n\n function ViAd(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ViAd);\n\n _this = _super.call(this, params, [app]);\n\n var vi = _assertThisInitialized(_this);\n\n if (!ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].vi) {\n throw new Error('Framework7: vi SDK not found.');\n }\n\n var orientation;\n\n if (typeof ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation !== 'undefined') {\n orientation = ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation === -90 || ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation === 90 ? 'horizontal' : 'vertical';\n }\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, app.params.vi, {\n appId: app.id,\n appVer: app.version,\n language: app.language,\n width: app.width,\n height: app.height,\n os: _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].os,\n osVersion: _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].osVersion,\n orientation: orientation\n }); // Extend defaults with modules params\n\n vi.useModulesParams(defaults);\n vi.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n var adParams = {};\n var skipParams = 'on autoplay fallbackOverlay fallbackOverlayText enabled'.split(' ');\n Object.keys(vi.params).forEach(function (paramName) {\n if (skipParams.indexOf(paramName) >= 0) return;\n var paramValue = vi.params[paramName];\n if ([null, undefined].indexOf(paramValue) >= 0) return;\n adParams[paramName] = paramValue;\n });\n\n if (!vi.params.appId) {\n throw new Error('Framework7: \"app.id\" is required to display an ad. Make sure you have specified it on app initialization.');\n }\n\n if (!vi.params.placementId) {\n throw new Error('Framework7: \"placementId\" is required to display an ad.');\n }\n\n function onResize() {\n var $viFrame = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('iframe#viAd');\n if ($viFrame.length === 0) return;\n $viFrame.css({\n width: \"\".concat(app.width, \"px\"),\n height: \"\".concat(app.height, \"px\")\n });\n }\n\n function removeOverlay() {\n if (!vi.$overlayEl) return;\n vi.$overlayEl.off('click touchstart');\n vi.$overlayEl.remove();\n }\n\n function createOverlay(videoEl) {\n if (!videoEl) return;\n vi.$overlayEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\\n
          \\n \".concat(vi.params.fallbackOverlayText ? \"
          \".concat(vi.params.fallbackOverlayText, \"
          \") : '', \"\\n
          \\n
          \\n \").trim());\n var touchStartTime;\n vi.$overlayEl.on('touchstart', function () {\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n });\n vi.$overlayEl.on('click', function () {\n var timeDiff = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now() - touchStartTime;\n if (timeDiff > 300) return;\n\n if (videoEl) {\n videoEl.play();\n removeOverlay();\n return;\n }\n\n vi.start();\n removeOverlay();\n });\n app.root.append(vi.$overlayEl);\n } // Create ad\n\n\n vi.ad = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].vi.Ad(adParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(vi.ad, {\n onAdReady: function onAdReady() {\n app.on('resize', onResize);\n vi.emit('local::ready');\n\n if (vi.params.autoplay) {\n vi.start();\n }\n },\n onAdStarted: function onAdStarted() {\n vi.emit('local::started');\n },\n onAdClick: function onAdClick(targetUrl) {\n vi.emit('local::click', targetUrl);\n },\n onAdImpression: function onAdImpression() {\n vi.emit('local::impression');\n },\n onAdStopped: function onAdStopped(reason) {\n app.off('resize', onResize);\n removeOverlay();\n vi.emit('local::stopped', reason);\n\n if (reason === 'complete') {\n vi.emit('local::complete');\n vi.emit('local::completed');\n }\n\n if (reason === 'userexit') {\n vi.emit('local::userexit');\n }\n\n vi.destroyed = true;\n },\n onAutoPlayFailed: function onAutoPlayFailed(reason, videoEl) {\n vi.emit('local::autoplayFailed', reason, videoEl);\n\n if (reason && reason.name && reason.name.indexOf('NotAllowedError') !== -1 && vi.params.fallbackOverlay) {\n createOverlay(videoEl);\n }\n },\n onAdError: function onAdError(msg) {\n removeOverlay();\n app.off('resize', onResize);\n vi.emit('local::error', msg);\n vi.destroyed = true;\n }\n });\n vi.init();\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(vi, {\n app: app\n });\n return _this;\n }\n\n _createClass(ViAd, [{\n key: \"start\",\n value: function start() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.startAd();\n }\n }, {\n key: \"pause\",\n value: function pause() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.pauseAd();\n }\n }, {\n key: \"resume\",\n value: function resume() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.resumeAd();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.stopAd();\n }\n }, {\n key: \"init\",\n value: function init() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.initAd();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var vi = this;\n vi.destroyed = true;\n vi.emit('local::beforeDestroy');\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(vi);\n }\n }]);\n\n return ViAd;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ViAd);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/vi/vi-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/vi/vi.js": /*!*****************************************************!*\ !*** ./node_modules/framework7/components/vi/vi.js ***! \*****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _vi_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./vi-class */ \"./node_modules/framework7/components/vi/vi-class.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'vi',\n params: {\n vi: {\n enabled: false,\n autoplay: true,\n fallbackOverlay: true,\n fallbackOverlayText: 'Please watch this ad',\n showMute: true,\n startMuted: (_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].android) && !_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].cordova,\n appId: null,\n appVer: null,\n language: null,\n width: null,\n height: null,\n placementId: 'pltd4o7ibb9rc653x14',\n placementType: 'interstitial',\n videoSlot: null,\n showProgress: true,\n showBranding: true,\n os: null,\n osVersion: null,\n orientation: null,\n age: null,\n gender: null,\n advertiserId: null,\n latitude: null,\n longitude: null,\n accuracy: null,\n storeId: null,\n ip: null,\n manufacturer: null,\n model: null,\n connectionType: null,\n connectionProvider: null\n }\n },\n create: function create() {\n var app = this;\n app.vi = {\n sdkReady: false,\n createAd: function createAd(adParams) {\n return new _vi_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"](app, adParams);\n },\n loadSdk: function loadSdk() {\n if (app.vi.sdkReady) return;\n var script = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('script');\n\n script.onload = function onload() {\n app.emit('viSdkReady');\n app.vi.sdkReady = true;\n };\n\n script.src = 'https://c.vi-serve.com/viadshtml/vi.min.js';\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('head').append(script);\n }\n };\n },\n on: {\n init: function init() {\n var app = this;\n if (app.params.vi.enabled || app.passedParams.vi && app.passedParams.vi.enabled !== false) app.vi.loadSdk();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/vi/vi.js?"); /***/ }), /***/ "./node_modules/framework7/components/view/view-class.js": /*!***************************************************************!*\ !*** ./node_modules/framework7/components/view/view-class.js ***! \***************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modules_router_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../modules/router/router */ \"./node_modules/framework7/modules/router/router.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar View = /*#__PURE__*/function (_Framework7Class) {\n _inherits(View, _Framework7Class);\n\n var _super = _createSuper(View);\n\n function View(appInstance, el) {\n var _this;\n\n var viewParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, View);\n\n _this = _super.call(this, viewParams, [appInstance]);\n var app = appInstance;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n\n var view = _assertThisInitialized(_this);\n\n var defaults = {\n routes: [],\n routesAdd: []\n }; // Default View params\n\n view.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, app.params.view, viewParams); // Routes\n\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 } // Selector\n\n\n var selector;\n if (typeof el === 'string') selector = el;else {\n // Supposed to be HTMLElement or Dom7\n selector = ($el.attr('id') ? \"#\".concat($el.attr('id')) : '') + ($el.attr('class') ? \".\".concat($el.attr('class').replace(/ /g, '.').replace('.active', '')) : '');\n } // DynamicNavbar\n\n var $navbarEl;\n\n if (app.theme === 'ios' && view.params.iosDynamicNavbar && view.params.iosSeparateDynamicNavbar) {\n $navbarEl = $el.children('.navbar').eq(0);\n\n if ($navbarEl.length === 0) {\n $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('
          ');\n }\n } // View Props\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(false, view, {\n app: app,\n $el: $el,\n el: $el[0],\n name: view.params.name,\n main: view.params.main || $el.hasClass('view-main'),\n $navbarEl: $navbarEl,\n navbarEl: $navbarEl ? $navbarEl[0] : undefined,\n selector: selector,\n history: [],\n scrollHistory: {}\n }); // Save in DOM\n\n $el[0].f7View = view; // Install Modules\n\n view.useModules(); // Add to app\n\n app.views.push(view);\n\n if (view.main) {\n app.views.main = view;\n }\n\n if (view.name) {\n app.views[view.name] = view;\n } // Index\n\n\n view.index = app.views.indexOf(view); // View ID\n\n var viewId;\n\n if (view.name) {\n viewId = \"view_\".concat(view.name);\n } else if (view.main) {\n viewId = 'view_main';\n } else {\n viewId = \"view_\".concat(view.index);\n }\n\n view.id = viewId; // Init View\n\n if (app.initialized) {\n view.init();\n } else {\n app.on('init', function () {\n view.init();\n });\n }\n\n return _possibleConstructorReturn(_this, view);\n }\n\n _createClass(View, [{\n key: \"destroy\",\n value: function destroy() {\n var view = this;\n var app = view.app;\n view.$el.trigger('view:beforedestroy', view);\n view.emit('local::beforeDestroy viewBeforeDestroy', view);\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\n view.$el[0].f7View = null;\n delete view.$el[0].f7View;\n app.views.splice(app.views.indexOf(view), 1); // Destroy Router\n\n if (view.params.router && view.router) {\n view.router.destroy();\n }\n\n view.emit('local::destroy viewDestroy', view); // Delete props & methods\n\n Object.keys(view).forEach(function (viewProp) {\n view[viewProp] = null;\n delete view[viewProp];\n });\n view = null;\n }\n }, {\n key: \"checkmasterDetailBreakpoint\",\n value: function checkmasterDetailBreakpoint() {\n var view = this;\n var app = view.app;\n var wasMasterDetail = view.$el.hasClass('view-master-detail');\n\n if (app.width >= view.params.masterDetailBreakpoint) {\n view.$el.addClass('view-master-detail');\n\n if (!wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint');\n view.$el.trigger('view:masterDetailBreakpoint', view);\n }\n } else {\n view.$el.removeClass('view-master-detail');\n\n if (wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint');\n view.$el.trigger('view:masterDetailBreakpoint', view);\n }\n }\n }\n }, {\n key: \"initMasterDetail\",\n value: function initMasterDetail() {\n var view = this;\n var app = view.app;\n view.checkmasterDetailBreakpoint = view.checkmasterDetailBreakpoint.bind(view);\n view.checkmasterDetailBreakpoint();\n app.on('resize', view.checkmasterDetailBreakpoint);\n }\n }, {\n key: \"init\",\n value: function init() {\n var view = this;\n\n if (view.params.router) {\n if (view.params.masterDetailBreakpoint > 0) {\n view.initMasterDetail();\n }\n\n view.router.init();\n view.$el.trigger('view:init', view);\n view.emit('local::init viewInit', view);\n }\n }\n }]);\n\n return View;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]); // Use Router\n\n\nView.use(_modules_router_router__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (View);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/view/view-class.js?"); /***/ }), /***/ "./node_modules/framework7/components/view/view.js": /*!*********************************************************!*\ !*** ./node_modules/framework7/components/view/view.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _view_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./view-class */ \"./node_modules/framework7/components/view/view-class.js\");\n\n\n\n\nfunction getCurrentView(app) {\n var $popoverView = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popover.modal-in .view');\n var $popupView = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popup.modal-in .view');\n var $panelView = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active .view');\n var $viewsEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views');\n if ($viewsEl.length === 0) $viewsEl = app.root; // Find active view as tab\n\n var $viewEl = $viewsEl.children('.view'); // Propably in tabs or split view\n\n if ($viewEl.length > 1) {\n if ($viewEl.hasClass('tab')) {\n // Tabs\n $viewEl = $viewsEl.children('.view.tab-active');\n } else {// Split View, leave appView intact\n }\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\n if ($viewEl.length > 0) {\n if ($viewEl.length === 1 && $viewEl[0].f7View) return $viewEl[0].f7View;\n\n if ($viewEl.length > 1) {\n return app.views.main;\n }\n }\n\n return undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'view',\n params: {\n view: {\n name: undefined,\n main: false,\n router: true,\n linksView: null,\n stackPages: false,\n xhrCache: true,\n xhrCacheIgnore: [],\n xhrCacheIgnoreGetParameters: false,\n xhrCacheDuration: 1000 * 60 * 10,\n // Ten minutes\n preloadPreviousPage: true,\n allowDuplicateUrls: false,\n reloadPages: false,\n reloadDetail: false,\n masterDetailBreakpoint: 0,\n removeElements: true,\n removeElementsWithTimeout: false,\n removeElementsTimeout: 0,\n restoreScrollTopOnBack: true,\n unloadTabContent: true,\n passRouteQueryToRequest: true,\n passRouteParamsToRequest: false,\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 auroraSwipeBack: false,\n auroraSwipeBackAnimateShadow: false,\n auroraSwipeBackAnimateOpacity: true,\n auroraSwipeBackActiveArea: 30,\n auroraSwipeBackThreshold: 0,\n // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateAnimate: true,\n pushStateAnimateOnLoad: false,\n pushStateSeparator: '#!',\n pushStateOnLoad: true,\n // Animate Pages\n animate: true,\n // iOS Dynamic Navbar\n iosDynamicNavbar: true,\n iosSeparateDynamicNavbar: true,\n // Animate iOS Navbar Back Icon\n iosAnimateNavbarBackIcon: true,\n // Delays\n iosPageLoadDelay: 0,\n mdPageLoadDelay: 0,\n auroraPageLoadDelay: 0,\n // Routes hooks\n routesBeforeEnter: null,\n routesBeforeLeave: null\n }\n },\n static: {\n View: _view_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n views: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend([], {\n create: function create(el, params) {\n return new _view_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, el, params);\n },\n get: function get(viewEl) {\n var $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(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: function get() {\n return getCurrentView(app);\n }\n }); // Alias\n\n app.view = app.views;\n },\n on: {\n init: function init() {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.view-init').each(function (index, viewEl) {\n if (viewEl.f7View) return;\n var viewParams = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n modalOpen: function modalOpen(modal) {\n var app = this;\n modal.$el.find('.view-init').each(function (index, viewEl) {\n if (viewEl.f7View) return;\n var viewParams = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n modalBeforeDestroy: function modalBeforeDestroy(modal) {\n if (!modal || !modal.$el) return;\n modal.$el.find('.view-init').each(function (index, viewEl) {\n var view = viewEl.f7View;\n if (!view) return;\n view.destroy();\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/view/view.js?"); /***/ }), /***/ "./node_modules/framework7/components/virtual-list/virtual-list-class.js": /*!*******************************************************************************!*\ !*** ./node_modules/framework7/components/virtual-list/virtual-list-class.js ***! \*******************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar VirtualList = /*#__PURE__*/function (_Framework7Class) {\n _inherits(VirtualList, _Framework7Class);\n\n var _super = _createSuper(VirtualList);\n\n function VirtualList(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VirtualList);\n\n _this = _super.call(this, params, [app]);\n\n var vl = _assertThisInitialized(_this);\n\n var defaultHeight;\n\n if (app.theme === 'md') {\n defaultHeight = 48;\n } else if (app.theme === 'ios') {\n defaultHeight = 44;\n } else if (app.theme === 'aurora') {\n defaultHeight = 38;\n }\n\n var defaults = {\n cols: 1,\n height: defaultHeight,\n cache: true,\n dynamicHeightBufferSize: 1,\n showFilteredItemsOnly: false,\n renderExternal: undefined,\n setListHeight: true,\n searchByItem: undefined,\n searchAll: undefined,\n itemTemplate: undefined,\n ul: null,\n createUl: true,\n scrollableParentEl: undefined,\n renderItem: function renderItem(item) {\n return \"\\n
        • \\n
          \\n
          \\n
          \".concat(item, \"
          \\n
          \\n
          \\n
        • \\n \").trim();\n },\n on: {}\n }; // Extend defaults with modules params\n\n vl.useModulesParams(defaults);\n vl.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n\n if (vl.params.height === undefined || !vl.params.height) {\n vl.params.height = defaultHeight;\n }\n\n vl.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.el);\n vl.el = vl.$el[0];\n if (vl.$el.length === 0) return _possibleConstructorReturn(_this, undefined);\n vl.$el[0].f7VirtualList = vl;\n vl.items = vl.params.items;\n\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n\n if (vl.params.itemTemplate) {\n if (typeof vl.params.itemTemplate === 'string') vl.renderItem = app.t7.compile(vl.params.itemTemplate);else if (typeof vl.params.itemTemplate === 'function') vl.renderItem = vl.params.itemTemplate;\n } else if (vl.params.renderItem) {\n vl.renderItem = vl.params.renderItem;\n }\n\n vl.$pageContentEl = vl.$el.parents('.page-content');\n vl.pageContentEl = vl.$pageContentEl[0];\n vl.$scrollableParentEl = vl.params.scrollableParentEl ? Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(vl.params.scrollableParentEl).eq(0) : vl.$pageContentEl;\n\n if (!vl.$scrollableParentEl.length && vl.$pageContentEl.length) {\n vl.$scrollableParentEl = vl.$pageContentEl;\n }\n\n vl.scrollableParentEl = vl.$scrollableParentEl[0]; // Bad scroll\n\n if (typeof vl.params.updatableScroll !== 'undefined') {\n vl.updatableScroll = vl.params.updatableScroll;\n } else {\n vl.updatableScroll = true;\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].ios && _utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].osVersion.split('.')[0] < 8) {\n vl.updatableScroll = false;\n }\n } // Append