From 07f048b95c6ebd95388e731348db5bba8aa4bf9b Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 15 Apr 2020 21:26:11 +0200
Subject: [PATCH 01/26] refactor: Use early return
---
src/components/RecycleScroller.vue | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 236d2ba6..4fd3bb60 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -291,14 +291,10 @@ export default {
let startIndex, endIndex
let totalSize
- if (!count) {
- startIndex = endIndex = totalSize = 0
- } else if (this.$_prerender) {
- startIndex = 0
- endIndex = this.prerender
- totalSize = null
- } else {
- const scroll = this.getScroll()
+ let scroll
+
+ if (count && !this.$_prerender) {
+ scroll = this.getScroll()
// Skip update if use hasn't scrolled enough
if (checkPositionDiff) {
@@ -310,6 +306,15 @@ export default {
}
}
}
+ }
+
+ if (!count) {
+ startIndex = endIndex = totalSize = 0
+ } else if (this.$_prerender) {
+ startIndex = 0
+ endIndex = this.prerender
+ totalSize = null
+ } else {
this.$_lastUpdateScrollPosition = scroll.start
const buffer = this.buffer
From 35c0ad239201d2b7666ad7dec46ec6d7fea6b676 Mon Sep 17 00:00:00 2001
From: Damir
Date: Sun, 19 Apr 2020 12:44:40 +0200
Subject: [PATCH 02/26] fix: Items are not checked when scroll start is above
the fold
---
src/components/RecycleScroller.vue | 27 ++++++++++++++++-----------
1 file changed, 16 insertions(+), 11 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 4fd3bb60..13daf118 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -298,7 +298,7 @@ export default {
// Skip update if use hasn't scrolled enough
if (checkPositionDiff) {
- let positionDiff = scroll.start - this.$_lastUpdateScrollPosition
+ let positionDiff = scroll.originalStart - this.$_lastUpdateScrollPosition
if (positionDiff < 0) positionDiff = -positionDiff
if ((itemSize === null && positionDiff < minItemSize) || positionDiff < itemSize) {
return {
@@ -315,7 +315,7 @@ export default {
endIndex = this.prerender
totalSize = null
} else {
- this.$_lastUpdateScrollPosition = scroll.start
+ this.$_lastUpdateScrollPosition = scroll.originalStart
const buffer = this.buffer
scroll.start -= buffer
@@ -507,13 +507,15 @@ export default {
getScroll () {
const { $el: el, direction } = this
const isVertical = direction === 'vertical'
- let scrollState
if (this.pageMode) {
const bounds = el.getBoundingClientRect()
const boundsSize = isVertical ? bounds.height : bounds.width
- let start = -(isVertical ? bounds.top : bounds.left)
- let size = isVertical ? window.innerHeight : window.innerWidth
+ const originalStart = -(isVertical ? bounds.top : bounds.left)
+ const originalSize = isVertical ? window.innerHeight : window.innerWidth
+ let start = originalStart
+ let size = originalSize
+
if (start < 0) {
size += start
start = 0
@@ -521,23 +523,26 @@ export default {
if (start + size > boundsSize) {
size = boundsSize - start
}
- scrollState = {
+ return {
+ originalStart,
start,
end: start + size,
}
- } else if (isVertical) {
- scrollState = {
+ }
+
+ if (isVertical) {
+ return {
+ originalStart: el.scrollTop,
start: el.scrollTop,
end: el.scrollTop + el.clientHeight,
}
} else {
- scrollState = {
+ return {
+ originalStart: el.scrollLeft,
start: el.scrollLeft,
end: el.scrollLeft + el.clientWidth,
}
}
-
- return scrollState
},
applyPageMode () {
From 832a5bae5998486b1c2f40cab9f97b92f5020127 Mon Sep 17 00:00:00 2001
From: Damir
Date: Sun, 19 Apr 2020 12:51:51 +0200
Subject: [PATCH 03/26] refactor: Use absolute scroll diff
---
src/components/RecycleScroller.vue | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 13daf118..4575c209 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -298,8 +298,7 @@ export default {
// Skip update if use hasn't scrolled enough
if (checkPositionDiff) {
- let positionDiff = scroll.originalStart - this.$_lastUpdateScrollPosition
- if (positionDiff < 0) positionDiff = -positionDiff
+ const positionDiff = Math.abs(scroll.originalStart - this.$_lastUpdateScrollPosition)
if ((itemSize === null && positionDiff < minItemSize) || positionDiff < itemSize) {
return {
continuous: true,
From 2d6583d4914da1b683684e2c4f7421399e1363d1 Mon Sep 17 00:00:00 2001
From: Damir
Date: Sun, 19 Apr 2020 19:59:51 +0200
Subject: [PATCH 04/26] fix: scrollToItem works with pageMode
---
.../src/components/RecycleScrollerDemo.vue | 10 ++++++++++
src/components/RecycleScroller.vue | 20 +++++++++++++++----
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/docs-src/src/components/RecycleScrollerDemo.vue b/docs-src/src/components/RecycleScrollerDemo.vue
index 52772d31..02d79571 100644
--- a/docs-src/src/components/RecycleScrollerDemo.vue
+++ b/docs-src/src/components/RecycleScrollerDemo.vue
@@ -42,6 +42,15 @@
max="500000"
> buffer
+
+
+
+
@@ -113,6 +122,7 @@ export default {
enableLetters: true,
pageMode: false,
pageModeFullPage: true,
+ scrollTo: 100,
}),
computed: {
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 236d2ba6..ebe75a61 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -573,11 +573,23 @@ export default {
},
scrollToPosition (position) {
- if (this.direction === 'vertical') {
- this.$el.scrollTop = position
- } else {
- this.$el.scrollLeft = position
+ const direction = this.direction === 'vertical'
+ ? { scroll: 'scrollTop', start: 'top', size: 'height' }
+ : { scroll: 'scrollLeft', start: 'left', size: 'width' }
+
+ if (this.pageMode) {
+ const viewportEl = ScrollParent(this.$el)
+ // HTML doesn't overflow like other elements
+ const scrollTop = viewportEl.tagName === 'HTML' ? 0 : viewportEl[direction.scroll]
+ const viewport = viewportEl.getBoundingClientRect()
+
+ const scroller = this.$el.getBoundingClientRect()
+ const scrollerPosition = scroller[direction.start] - viewport[direction.start]
+ viewportEl[direction.scroll] = position + scrollTop + scrollerPosition
+ return
}
+
+ this.$el[direction.scroll] = position
},
itemsLimitError () {
From 7bfc355715808113f410514e365ed9db6ecf2e7e Mon Sep 17 00:00:00 2001
From: Damir
Date: Sun, 19 Apr 2020 20:13:19 +0200
Subject: [PATCH 05/26] fix: Remove unused property
---
src/components/RecycleScroller.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index ebe75a61..cbaf9fc1 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -574,8 +574,8 @@ export default {
scrollToPosition (position) {
const direction = this.direction === 'vertical'
- ? { scroll: 'scrollTop', start: 'top', size: 'height' }
- : { scroll: 'scrollLeft', start: 'left', size: 'width' }
+ ? { scroll: 'scrollTop', start: 'top' }
+ : { scroll: 'scrollLeft', start: 'left' }
if (this.pageMode) {
const viewportEl = ScrollParent(this.$el)
From f6302b3289e08bb80bf16d27b2e985d66d48ebb2 Mon Sep 17 00:00:00 2001
From: Damir
Date: Mon, 20 Apr 2020 18:54:02 +0200
Subject: [PATCH 06/26] feat: Allow client to fetch scrollPosition and decide
what to do with it
---
src/components/RecycleScroller.vue | 33 ++++++++++++++++++++----------
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index cbaf9fc1..e69b2a1c 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -563,16 +563,19 @@ export default {
},
scrollToItem (index) {
- let scroll
- if (this.itemSize === null) {
- scroll = index > 0 ? this.sizes[index - 1].accumulator : 0
- } else {
- scroll = index * this.itemSize
- }
- this.scrollToPosition(scroll)
+ const { viewport, scrollDirection, scrollDistance } = this.scrollToPosition(index)
+ viewport[scrollDirection] = scrollDistance
},
- scrollToPosition (position) {
+ scrollToPosition (index) {
+ const getPositionOfItem = (index) => {
+ if (this.itemSize === null) {
+ return index > 0 ? this.sizes[index - 1].accumulator : 0
+ } else {
+ return index * this.itemSize
+ }
+ }
+ const position = getPositionOfItem(index)
const direction = this.direction === 'vertical'
? { scroll: 'scrollTop', start: 'top' }
: { scroll: 'scrollLeft', start: 'left' }
@@ -585,11 +588,19 @@ export default {
const scroller = this.$el.getBoundingClientRect()
const scrollerPosition = scroller[direction.start] - viewport[direction.start]
- viewportEl[direction.scroll] = position + scrollTop + scrollerPosition
- return
+
+ return {
+ viewport: viewportEl,
+ scrollDirection: direction.scroll,
+ scrollDistance: position + scrollTop + scrollerPosition,
+ }
}
- this.$el[direction.scroll] = position
+ return {
+ viewport: this.$el,
+ scrollDirection: direction.scroll,
+ scrollDistance: position,
+ }
},
itemsLimitError () {
From 7305ab993733e7c7881017709709967fdc2152eb Mon Sep 17 00:00:00 2001
From: Damir
Date: Thu, 23 Apr 2020 17:35:49 +0200
Subject: [PATCH 07/26] fix: Remove sorting views
---
src/components/RecycleScroller.vue | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 09460dee..2ea76403 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -486,8 +486,6 @@ export default {
// After the user has finished scrolling
// Sort views so text selection is correct
- clearTimeout(this.$_sortTimer)
- this.$_sortTimer = setTimeout(this.sortViews, 300)
return {
continuous,
@@ -619,10 +617,6 @@ export default {
})
throw new Error('Rendered items limit reached')
},
-
- sortViews () {
- this.pool.sort((viewA, viewB) => viewA.nr.index - viewB.nr.index)
- },
},
}
From b683a4da0d6bd282bb0acd387a5d69eb2d47da59 Mon Sep 17 00:00:00 2001
From: Damir
Date: Thu, 23 Apr 2020 17:37:20 +0200
Subject: [PATCH 08/26] chore: Move to infinity namespace
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index c83c8b19..a73ba8a6 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "vue-virtual-scroller",
+ "name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
"version": "1.0.10",
"author": {
From bf92a323224ffe8c0bc8f08158608838e3a39a38 Mon Sep 17 00:00:00 2001
From: Damir
Date: Thu, 23 Apr 2020 17:45:13 +0200
Subject: [PATCH 09/26] 1.1.0
---
dist/vue-virtual-scroller.esm.js | 115 +++++++++++++++++----------
dist/vue-virtual-scroller.esm.js.map | 2 +-
dist/vue-virtual-scroller.min.js | 2 +-
dist/vue-virtual-scroller.min.js.map | 2 +-
dist/vue-virtual-scroller.umd.js | 115 +++++++++++++++++----------
dist/vue-virtual-scroller.umd.js.map | 2 +-
package.json | 2 +-
7 files changed, 149 insertions(+), 91 deletions(-)
diff --git a/dist/vue-virtual-scroller.esm.js b/dist/vue-virtual-scroller.esm.js
index 33e441d9..80dda954 100644
--- a/dist/vue-virtual-scroller.esm.js
+++ b/dist/vue-virtual-scroller.esm.js
@@ -405,19 +405,13 @@ var script = {
var pool = this.pool;
var startIndex, endIndex;
var totalSize;
+ var scroll;
- if (!count) {
- startIndex = endIndex = totalSize = 0;
- } else if (this.$_prerender) {
- startIndex = 0;
- endIndex = this.prerender;
- totalSize = null;
- } else {
- var scroll = this.getScroll(); // Skip update if use hasn't scrolled enough
+ if (count && !this.$_prerender) {
+ scroll = this.getScroll(); // Skip update if use hasn't scrolled enough
if (checkPositionDiff) {
- var positionDiff = scroll.start - this.$_lastUpdateScrollPosition;
- if (positionDiff < 0) positionDiff = -positionDiff;
+ var positionDiff = Math.abs(scroll.originalStart - this.$_lastUpdateScrollPosition);
if (itemSize === null && positionDiff < minItemSize || positionDiff < itemSize) {
return {
@@ -425,8 +419,16 @@ var script = {
};
}
}
+ }
- this.$_lastUpdateScrollPosition = scroll.start;
+ if (!count) {
+ startIndex = endIndex = totalSize = 0;
+ } else if (this.$_prerender) {
+ startIndex = 0;
+ endIndex = this.prerender;
+ totalSize = null;
+ } else {
+ this.$_lastUpdateScrollPosition = scroll.originalStart;
var buffer = this.buffer;
scroll.start -= buffer;
scroll.end += buffer; // Variable size mode
@@ -594,8 +596,6 @@ var script = {
if (this.emitUpdate) this.$emit('update', startIndex, endIndex); // After the user has finished scrolling
// Sort views so text selection is correct
- clearTimeout(this.$_sortTimer);
- this.$_sortTimer = setTimeout(this.sortViews, 300);
return {
continuous: continuous
};
@@ -613,13 +613,14 @@ var script = {
var el = this.$el,
direction = this.direction;
var isVertical = direction === 'vertical';
- var scrollState;
if (this.pageMode) {
var bounds = el.getBoundingClientRect();
var boundsSize = isVertical ? bounds.height : bounds.width;
- var start = -(isVertical ? bounds.top : bounds.left);
- var size = isVertical ? window.innerHeight : window.innerWidth;
+ var originalStart = -(isVertical ? bounds.top : bounds.left);
+ var originalSize = isVertical ? window.innerHeight : window.innerWidth;
+ var start = originalStart;
+ var size = originalSize;
if (start < 0) {
size += start;
@@ -630,23 +631,26 @@ var script = {
size = boundsSize - start;
}
- scrollState = {
+ return {
+ originalStart: originalStart,
start: start,
end: start + size
};
- } else if (isVertical) {
- scrollState = {
+ }
+
+ if (isVertical) {
+ return {
+ originalStart: el.scrollTop,
start: el.scrollTop,
end: el.scrollTop + el.clientHeight
};
} else {
- scrollState = {
+ return {
+ originalStart: el.scrollLeft,
start: el.scrollLeft,
end: el.scrollLeft + el.clientWidth
};
}
-
- return scrollState;
},
applyPageMode: function applyPageMode() {
if (this.pageMode) {
@@ -672,36 +676,61 @@ var script = {
this.listenerTarget = null;
},
scrollToItem: function scrollToItem(index) {
- var scroll;
+ var _this$scrollToPositio = this.scrollToPosition(index),
+ viewport = _this$scrollToPositio.viewport,
+ scrollDirection = _this$scrollToPositio.scrollDirection,
+ scrollDistance = _this$scrollToPositio.scrollDistance;
- if (this.itemSize === null) {
- scroll = index > 0 ? this.sizes[index - 1].accumulator : 0;
- } else {
- scroll = index * this.itemSize;
- }
-
- this.scrollToPosition(scroll);
+ viewport[scrollDirection] = scrollDistance;
},
- scrollToPosition: function scrollToPosition(position) {
- if (this.direction === 'vertical') {
- this.$el.scrollTop = position;
- } else {
- this.$el.scrollLeft = position;
+ scrollToPosition: function scrollToPosition(index) {
+ var _this4 = this;
+
+ var getPositionOfItem = function getPositionOfItem(index) {
+ if (_this4.itemSize === null) {
+ return index > 0 ? _this4.sizes[index - 1].accumulator : 0;
+ } else {
+ return index * _this4.itemSize;
+ }
+ };
+
+ var position = getPositionOfItem(index);
+ var direction = this.direction === 'vertical' ? {
+ scroll: 'scrollTop',
+ start: 'top'
+ } : {
+ scroll: 'scrollLeft',
+ start: 'left'
+ };
+
+ if (this.pageMode) {
+ var viewportEl = ScrollParent(this.$el); // HTML doesn't overflow like other elements
+
+ var scrollTop = viewportEl.tagName === 'HTML' ? 0 : viewportEl[direction.scroll];
+ var viewport = viewportEl.getBoundingClientRect();
+ var scroller = this.$el.getBoundingClientRect();
+ var scrollerPosition = scroller[direction.start] - viewport[direction.start];
+ return {
+ viewport: viewportEl,
+ scrollDirection: direction.scroll,
+ scrollDistance: position + scrollTop + scrollerPosition
+ };
}
+
+ return {
+ viewport: this.$el,
+ scrollDirection: direction.scroll,
+ scrollDistance: position
+ };
},
itemsLimitError: function itemsLimitError() {
- var _this4 = this;
+ var _this5 = this;
setTimeout(function () {
- console.log('It seems the scroller element isn\'t scrolling, so it tries to render all the items at once.', 'Scroller:', _this4.$el);
+ console.log('It seems the scroller element isn\'t scrolling, so it tries to render all the items at once.', 'Scroller:', _this5.$el);
console.log('Make sure the scroller has a fixed height (or width) and \'overflow-y\' (or \'overflow-x\') set to \'auto\' so it can scroll correctly and only render the items visible in the scroll viewport.');
});
throw new Error('Rendered items limit reached');
- },
- sortViews: function sortViews() {
- this.pool.sort(function (viewA, viewB) {
- return viewA.nr.index - viewB.nr.index;
- });
}
}
};
@@ -1539,7 +1568,7 @@ function registerComponents(Vue, prefix) {
var plugin = {
// eslint-disable-next-line no-undef
- version: "1.0.10",
+ version: "1.1.0",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
diff --git a/dist/vue-virtual-scroller.esm.js.map b/dist/vue-virtual-scroller.esm.js.map
index 9ec17bea..71a51062 100644
--- a/dist/vue-virtual-scroller.esm.js.map
+++ b/dist/vue-virtual-scroller.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.min.js b/dist/vue-virtual-scroller.min.js
index ba5df9d2..319da3b3 100644
--- a/dist/vue-virtual-scroller.min.js
+++ b/dist/vue-virtual-scroller.min.js
@@ -1,2 +1,2 @@
-var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function s(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function o(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,s=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,r=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw r}}}}var c=void 0;function d(){d.init||(d.init=!0,c=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}var u={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!c&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;d(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",c&&this.$el.appendChild(t),t.data="about:blank",c||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var h={version:"0.4.5",install:function(e){e.component("resize-observer",u),e.component("ResizeObserver",u)}},f=null;function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},o=function(o){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&p(t.prototype,i),n&&p(t,n),e}();function b(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new y(e,n,i);e._vue_visibilityState=r}}function _(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var g={bind:b,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===v(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):b(e,{value:n},i):_(e)}},unbind:_};var $={version:"0.4.6",install:function(e){e.directive("observe-visibility",g)}},S=null;"undefined"!=typeof window?S=window.Vue:"undefined"!=typeof global&&(S=global.Vue),S&&S.use($);var z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var w=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=z,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type,r=i.get(n);r||(r=[],i.set(n,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame((function(){t.$_scrollDirty=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))})))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},updateVisibleItems:function(e){var t,n,r,s,o=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.itemSize,a=this.$_computedMinItemSize,c=this.typeField,d=this.simpleArray?null:this.keyField,u=this.items,h=u.length,f=this.sizes,v=this.$_views,p=this.$_unusedViews,m=this.pool;if(h)if(this.$_prerender)t=0,n=this.prerender,r=null;else{var y=this.getScroll();if(o){var b=y.start-this.$_lastUpdateScrollPosition;if(b<0&&(b=-b),null===l&&by.start&&(S=z),z=~~(($+S)/2)}while(z!==g);for(z<0&&(z=0),t=z,r=f[h-1].accumulator,n=z;nh&&(n=h)}else(t=~~(y.start/l))<0&&(t=0),(n=Math.ceil(y.end/l))>h&&(n=h),r=h*l}else t=n=r=0;n-t>i.itemsLimit&&this.itemsLimitError(),this.totalSize=r;var w=t<=this.$_endIndex&&n>=this.$_startIndex;if(this.$_continuous!==w){if(w){v.clear(),p.clear();for(var O=0,x=m.length;O=n)&&this.unuseView(s));for(var D,R,T,P,k=w?null:new Map,A=t;A=T.length)&&(s=this.addView(m,A,D,E,R),this.unuseView(s,!0),T=p.get(R)),(s=T[P]).item=D,s.nr.used=!0,s.nr.index=A,s.nr.key=E,s.nr.type=R,k.set(R,P+1),P++),v.set(E,s)),s.position=null===l?f[A-1].accumulator:A*l):s&&this.unuseView(s)}return this.$_startIndex=t,this.$_endIndex=n,this.emitUpdate&&this.$emit("update",t,n),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,300),{continuous:w}},getListenerTarget:function(){var e=w(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e,t=this.$el,i="vertical"===this.direction;if(this.pageMode){var n=t.getBoundingClientRect(),r=i?n.height:n.width,s=-(i?n.top:n.left),o=i?window.innerHeight:window.innerWidth;s<0&&(o+=s,s=0),s+o>r&&(o=r-s),e={start:s,end:s+o}}else e=i?{start:t.scrollTop,end:t.scrollTop+t.clientHeight}:{start:t.scrollLeft,end:t.scrollLeft+t.clientWidth};return e},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!I&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t;t=null===this.itemSize?e>0?this.sizes[e-1].accumulator:0:e*this.itemSize,this.scrollToPosition(t)},scrollToPosition:function(e){"vertical"===this.direction?this.$el.scrollTop=e:this.$el.scrollLeft=e},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")},sortViews:function(){this.pool.sort((function(e,t){return e.nr.index-t.nr.index}))}}};var P=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",class:{hover:i.hoverKey===e.nr.key},style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(t){i.hoverKey=e.nr.key},mouseleave:function(e){i.hoverKey=null}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),r("ResizeObserver",{on:{notify:i.handleResize}})],1)};P._withStripped=!0;const k=R({render:P,staticRenderFns:[]},void 0,T,void 0,!1,void 0,!1,void 0,void 0,void 0);const A={name:"DynamicScroller",components:{RecycleScroller:k},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:o({},O,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:x,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,s=0;s0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var E=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};E._withStripped=!0;const j=R({render:E,staticRenderFns:[]},void 0,A,void 0,!1,void 0,!1,void 0,void 0,void 0);const U=R({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var C={version:"1.0.10",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),k),e.component("".concat(t,"RecycleScroller"),k),e.component("".concat(t,"dynamic-scroller"),j),e.component("".concat(t,"DynamicScroller"),j),e.component("".concat(t,"dynamic-scroller-item"),U),e.component("".concat(t,"DynamicScrollerItem"),U)}(e,n.componentsPrefix)}},M=null;return"undefined"!=typeof window?M=window.Vue:"undefined"!=typeof global&&(M=global.Vue),M&&M.use(C),e.DynamicScroller=j,e.DynamicScrollerItem=U,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},s=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return s.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=k,e.default=C,e}({},Vue);
+var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}var c=void 0;function d(){d.init||(d.init=!0,c=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}var u={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!c&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;d(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",c&&this.$el.appendChild(t),t.data="about:blank",c||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var h={version:"0.4.5",install:function(e){e.component("resize-observer",u),e.component("ResizeObserver",u)}},f=null;function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&p(t.prototype,i),n&&p(t,n),e}();function b(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new y(e,n,i);e._vue_visibilityState=r}}function g(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var _={bind:b,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===v(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):b(e,{value:n},i):g(e)}},unbind:g};var S={version:"0.4.6",install:function(e){e.directive("observe-visibility",_)}},$=null;"undefined"!=typeof window?$=window.Vue:"undefined"!=typeof global&&($=global.Vue),$&&$.use(S);var z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var w=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=z,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type,r=i.get(n);r||(r=[],i.set(n,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame((function(){t.$_scrollDirty=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))})))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},updateVisibleItems:function(e){var t,n,r,o,s,l=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.itemSize,c=this.$_computedMinItemSize,d=this.typeField,u=this.simpleArray?null:this.keyField,h=this.items,f=h.length,v=this.sizes,p=this.$_views,m=this.$_unusedViews,y=this.pool;if(f&&!this.$_prerender&&(o=this.getScroll(),l)){var b=Math.abs(o.originalStart-this.$_lastUpdateScrollPosition);if(null===a&&bo.start&&($=z),z=~~((S+$)/2)}while(z!==_);for(z<0&&(z=0),t=z,r=v[f-1].accumulator,n=z;nf&&(n=f)}else(t=~~(o.start/a))<0&&(t=0),(n=Math.ceil(o.end/a))>f&&(n=f),r=f*a}else t=n=r=0;n-t>i.itemsLimit&&this.itemsLimitError(),this.totalSize=r;var w=t<=this.$_endIndex&&n>=this.$_startIndex;if(this.$_continuous!==w){if(w){p.clear(),m.clear();for(var O=0,D=y.length;O=n)&&this.unuseView(s));for(var R,V,T,P,k=w?null:new Map,A=t;A=T.length)&&(s=this.addView(y,A,R,E,V),this.unuseView(s,!0),T=m.get(V)),(s=T[P]).item=R,s.nr.used=!0,s.nr.index=A,s.nr.key=E,s.nr.type=V,k.set(V,P+1),P++),p.set(E,s)),s.position=null===a?v[A-1].accumulator:A*a):s&&this.unuseView(s)}return this.$_startIndex=t,this.$_endIndex=n,this.emitUpdate&&this.$emit("update",t,n),{continuous:w}},getListenerTarget:function(){var e=w(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!x&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=w(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var P=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",class:{hover:i.hoverKey===e.nr.key},style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(t){i.hoverKey=e.nr.key},mouseleave:function(e){i.hoverKey=null}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),r("ResizeObserver",{on:{notify:i.handleResize}})],1)};P._withStripped=!0;const k=V({render:P,staticRenderFns:[]},void 0,T,void 0,!1,void 0,!1,void 0,void 0,void 0);const A={name:"DynamicScroller",components:{RecycleScroller:k},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},O,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:D,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var E=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};E._withStripped=!0;const j=V({render:E,staticRenderFns:[]},void 0,A,void 0,!1,void 0,!1,void 0,void 0,void 0);const U=V({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var M={version:"1.1.0",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),k),e.component("".concat(t,"RecycleScroller"),k),e.component("".concat(t,"dynamic-scroller"),j),e.component("".concat(t,"DynamicScroller"),j),e.component("".concat(t,"dynamic-scroller-item"),U),e.component("".concat(t,"DynamicScrollerItem"),U)}(e,n.componentsPrefix)}},C=null;return"undefined"!=typeof window?C=window.Vue:"undefined"!=typeof global&&(C=global.Vue),C&&C.use(M),e.DynamicScroller=j,e.DynamicScrollerItem=U,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=k,e.default=M,e}({},Vue);
//# sourceMappingURL=vue-virtual-scroller.min.js.map
diff --git a/dist/vue-virtual-scroller.min.js.map b/dist/vue-virtual-scroller.min.js.map
index 9060c89b..320e524a 100644
--- a/dist/vue-virtual-scroller.min.js.map
+++ b/dist/vue-virtual-scroller.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","isIE","initCompat","init","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","this","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","addEventListener","removeResizeHandlers","onload","removeEventListener","mounted","_this","$nextTick","object","document","createElement","setAttribute","type","appendChild","data","beforeDestroy","plugin","version","install","Vue","component","GlobalVue","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","global","use","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","staticProps","value","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","directive","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","scrollingElement","documentElement","module","exports","Scrollparent","items","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","isIE","initCompat","init","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","this","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","addEventListener","removeResizeHandlers","onload","removeEventListener","mounted","_this","$nextTick","object","document","createElement","setAttribute","type","appendChild","data","beforeDestroy","plugin","version","install","Vue","component","GlobalVue","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","global","use","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","staticProps","value","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","directive","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","scrollingElement","documentElement","module","exports","Scrollparent","items","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.umd.js b/dist/vue-virtual-scroller.umd.js
index 1853f791..5ecb83b6 100644
--- a/dist/vue-virtual-scroller.umd.js
+++ b/dist/vue-virtual-scroller.umd.js
@@ -875,19 +875,13 @@
var pool = this.pool;
var startIndex, endIndex;
var totalSize;
+ var scroll;
- if (!count) {
- startIndex = endIndex = totalSize = 0;
- } else if (this.$_prerender) {
- startIndex = 0;
- endIndex = this.prerender;
- totalSize = null;
- } else {
- var scroll = this.getScroll(); // Skip update if use hasn't scrolled enough
+ if (count && !this.$_prerender) {
+ scroll = this.getScroll(); // Skip update if use hasn't scrolled enough
if (checkPositionDiff) {
- var positionDiff = scroll.start - this.$_lastUpdateScrollPosition;
- if (positionDiff < 0) positionDiff = -positionDiff;
+ var positionDiff = Math.abs(scroll.originalStart - this.$_lastUpdateScrollPosition);
if (itemSize === null && positionDiff < minItemSize || positionDiff < itemSize) {
return {
@@ -895,8 +889,16 @@
};
}
}
+ }
- this.$_lastUpdateScrollPosition = scroll.start;
+ if (!count) {
+ startIndex = endIndex = totalSize = 0;
+ } else if (this.$_prerender) {
+ startIndex = 0;
+ endIndex = this.prerender;
+ totalSize = null;
+ } else {
+ this.$_lastUpdateScrollPosition = scroll.originalStart;
var buffer = this.buffer;
scroll.start -= buffer;
scroll.end += buffer; // Variable size mode
@@ -1064,8 +1066,6 @@
if (this.emitUpdate) this.$emit('update', startIndex, endIndex); // After the user has finished scrolling
// Sort views so text selection is correct
- clearTimeout(this.$_sortTimer);
- this.$_sortTimer = setTimeout(this.sortViews, 300);
return {
continuous: continuous
};
@@ -1083,13 +1083,14 @@
var el = this.$el,
direction = this.direction;
var isVertical = direction === 'vertical';
- var scrollState;
if (this.pageMode) {
var bounds = el.getBoundingClientRect();
var boundsSize = isVertical ? bounds.height : bounds.width;
- var start = -(isVertical ? bounds.top : bounds.left);
- var size = isVertical ? window.innerHeight : window.innerWidth;
+ var originalStart = -(isVertical ? bounds.top : bounds.left);
+ var originalSize = isVertical ? window.innerHeight : window.innerWidth;
+ var start = originalStart;
+ var size = originalSize;
if (start < 0) {
size += start;
@@ -1100,23 +1101,26 @@
size = boundsSize - start;
}
- scrollState = {
+ return {
+ originalStart: originalStart,
start: start,
end: start + size
};
- } else if (isVertical) {
- scrollState = {
+ }
+
+ if (isVertical) {
+ return {
+ originalStart: el.scrollTop,
start: el.scrollTop,
end: el.scrollTop + el.clientHeight
};
} else {
- scrollState = {
+ return {
+ originalStart: el.scrollLeft,
start: el.scrollLeft,
end: el.scrollLeft + el.clientWidth
};
}
-
- return scrollState;
},
applyPageMode: function applyPageMode() {
if (this.pageMode) {
@@ -1142,36 +1146,61 @@
this.listenerTarget = null;
},
scrollToItem: function scrollToItem(index) {
- var scroll;
+ var _this$scrollToPositio = this.scrollToPosition(index),
+ viewport = _this$scrollToPositio.viewport,
+ scrollDirection = _this$scrollToPositio.scrollDirection,
+ scrollDistance = _this$scrollToPositio.scrollDistance;
- if (this.itemSize === null) {
- scroll = index > 0 ? this.sizes[index - 1].accumulator : 0;
- } else {
- scroll = index * this.itemSize;
- }
-
- this.scrollToPosition(scroll);
+ viewport[scrollDirection] = scrollDistance;
},
- scrollToPosition: function scrollToPosition(position) {
- if (this.direction === 'vertical') {
- this.$el.scrollTop = position;
- } else {
- this.$el.scrollLeft = position;
+ scrollToPosition: function scrollToPosition(index) {
+ var _this4 = this;
+
+ var getPositionOfItem = function getPositionOfItem(index) {
+ if (_this4.itemSize === null) {
+ return index > 0 ? _this4.sizes[index - 1].accumulator : 0;
+ } else {
+ return index * _this4.itemSize;
+ }
+ };
+
+ var position = getPositionOfItem(index);
+ var direction = this.direction === 'vertical' ? {
+ scroll: 'scrollTop',
+ start: 'top'
+ } : {
+ scroll: 'scrollLeft',
+ start: 'left'
+ };
+
+ if (this.pageMode) {
+ var viewportEl = scrollparent(this.$el); // HTML doesn't overflow like other elements
+
+ var scrollTop = viewportEl.tagName === 'HTML' ? 0 : viewportEl[direction.scroll];
+ var viewport = viewportEl.getBoundingClientRect();
+ var scroller = this.$el.getBoundingClientRect();
+ var scrollerPosition = scroller[direction.start] - viewport[direction.start];
+ return {
+ viewport: viewportEl,
+ scrollDirection: direction.scroll,
+ scrollDistance: position + scrollTop + scrollerPosition
+ };
}
+
+ return {
+ viewport: this.$el,
+ scrollDirection: direction.scroll,
+ scrollDistance: position
+ };
},
itemsLimitError: function itemsLimitError() {
- var _this4 = this;
+ var _this5 = this;
setTimeout(function () {
- console.log('It seems the scroller element isn\'t scrolling, so it tries to render all the items at once.', 'Scroller:', _this4.$el);
+ console.log('It seems the scroller element isn\'t scrolling, so it tries to render all the items at once.', 'Scroller:', _this5.$el);
console.log('Make sure the scroller has a fixed height (or width) and \'overflow-y\' (or \'overflow-x\') set to \'auto\' so it can scroll correctly and only render the items visible in the scroll viewport.');
});
throw new Error('Rendered items limit reached');
- },
- sortViews: function sortViews() {
- this.pool.sort(function (viewA, viewB) {
- return viewA.nr.index - viewB.nr.index;
- });
}
}
};
@@ -2009,7 +2038,7 @@
var plugin$2 = {
// eslint-disable-next-line no-undef
- version: "1.0.10",
+ version: "1.1.0",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
diff --git a/dist/vue-virtual-scroller.umd.js.map b/dist/vue-virtual-scroller.umd.js.map
index 7aca6a78..1aa4282b 100644
--- a/dist/vue-virtual-scroller.umd.js.map
+++ b/dist/vue-virtual-scroller.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","ResizeObserver","_typeof","install","plugin","GlobalVue","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","version","VERSION","options","finalOptions","assign","installComponents","componentsPrefix","key","config","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","ResizeObserver","_typeof","install","plugin","GlobalVue","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","version","VERSION","options","finalOptions","assign","installComponents","componentsPrefix","key","config","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/package.json b/package.json
index a73ba8a6..c99b612f 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
- "version": "1.0.10",
+ "version": "1.1.0",
"author": {
"name": "Guillaume Chau",
"email": "guillaume.b.chau@gmail.com"
From 656308fe80d69a8054b443fb2d62e2308eb2e88a Mon Sep 17 00:00:00 2001
From: Damir
Date: Sun, 26 Apr 2020 15:03:19 +0200
Subject: [PATCH 10/26] feature: Skip vue when assigning hover class
---
src/components/RecycleScroller.vue | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 2ea76403..86324920 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -28,9 +28,8 @@
:key="view.nr.id"
:style="ready ? { transform: `translate${direction === 'vertical' ? 'Y' : 'X'}(${view.position}px)` } : null"
class="vue-recycle-scroller__item-view"
- :class="{ hover: hoverKey === view.nr.key }"
- @mouseenter="hoverKey = view.nr.key"
- @mouseleave="hoverKey = null"
+ @mouseenter="$event.target.classList.add('hover')"
+ @mouseleave="$event.target.classList.remove('hover')"
>
Date: Sun, 26 Apr 2020 15:06:26 +0200
Subject: [PATCH 11/26] 1.1.1
---
dist/vue-virtual-scroller.esm.js | 7 +++----
dist/vue-virtual-scroller.esm.js.map | 2 +-
dist/vue-virtual-scroller.min.js | 2 +-
dist/vue-virtual-scroller.min.js.map | 2 +-
dist/vue-virtual-scroller.umd.js | 7 +++----
dist/vue-virtual-scroller.umd.js.map | 2 +-
package.json | 2 +-
7 files changed, 11 insertions(+), 13 deletions(-)
diff --git a/dist/vue-virtual-scroller.esm.js b/dist/vue-virtual-scroller.esm.js
index 80dda954..3ae77055 100644
--- a/dist/vue-virtual-scroller.esm.js
+++ b/dist/vue-virtual-scroller.esm.js
@@ -870,7 +870,6 @@ var __vue_render__ = function() {
{
key: view.nr.id,
staticClass: "vue-recycle-scroller__item-view",
- class: { hover: _vm.hoverKey === view.nr.key },
style: _vm.ready
? {
transform:
@@ -883,10 +882,10 @@ var __vue_render__ = function() {
: null,
on: {
mouseenter: function($event) {
- _vm.hoverKey = view.nr.key;
+ return $event.target.classList.add("hover")
},
mouseleave: function($event) {
- _vm.hoverKey = null;
+ return $event.target.classList.remove("hover")
}
}
},
@@ -1568,7 +1567,7 @@ function registerComponents(Vue, prefix) {
var plugin = {
// eslint-disable-next-line no-undef
- version: "1.1.0",
+ version: '"1.1.1"',
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
diff --git a/dist/vue-virtual-scroller.esm.js.map b/dist/vue-virtual-scroller.esm.js.map
index 71a51062..2939b91d 100644
--- a/dist/vue-virtual-scroller.esm.js.map
+++ b/dist/vue-virtual-scroller.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: 'VERSION',\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.min.js b/dist/vue-virtual-scroller.min.js
index 319da3b3..a091d099 100644
--- a/dist/vue-virtual-scroller.min.js
+++ b/dist/vue-virtual-scroller.min.js
@@ -1,2 +1,2 @@
-var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}var c=void 0;function d(){d.init||(d.init=!0,c=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}var u={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!c&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;d(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",c&&this.$el.appendChild(t),t.data="about:blank",c||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var h={version:"0.4.5",install:function(e){e.component("resize-observer",u),e.component("ResizeObserver",u)}},f=null;function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&p(t.prototype,i),n&&p(t,n),e}();function b(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new y(e,n,i);e._vue_visibilityState=r}}function g(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var _={bind:b,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===v(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):b(e,{value:n},i):g(e)}},unbind:g};var S={version:"0.4.6",install:function(e){e.directive("observe-visibility",_)}},$=null;"undefined"!=typeof window?$=window.Vue:"undefined"!=typeof global&&($=global.Vue),$&&$.use(S);var z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var w=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=z,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type,r=i.get(n);r||(r=[],i.set(n,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame((function(){t.$_scrollDirty=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))})))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},updateVisibleItems:function(e){var t,n,r,o,s,l=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.itemSize,c=this.$_computedMinItemSize,d=this.typeField,u=this.simpleArray?null:this.keyField,h=this.items,f=h.length,v=this.sizes,p=this.$_views,m=this.$_unusedViews,y=this.pool;if(f&&!this.$_prerender&&(o=this.getScroll(),l)){var b=Math.abs(o.originalStart-this.$_lastUpdateScrollPosition);if(null===a&&bo.start&&($=z),z=~~((S+$)/2)}while(z!==_);for(z<0&&(z=0),t=z,r=v[f-1].accumulator,n=z;nf&&(n=f)}else(t=~~(o.start/a))<0&&(t=0),(n=Math.ceil(o.end/a))>f&&(n=f),r=f*a}else t=n=r=0;n-t>i.itemsLimit&&this.itemsLimitError(),this.totalSize=r;var w=t<=this.$_endIndex&&n>=this.$_startIndex;if(this.$_continuous!==w){if(w){p.clear(),m.clear();for(var O=0,D=y.length;O=n)&&this.unuseView(s));for(var R,V,T,P,k=w?null:new Map,A=t;A=T.length)&&(s=this.addView(y,A,R,E,V),this.unuseView(s,!0),T=m.get(V)),(s=T[P]).item=R,s.nr.used=!0,s.nr.index=A,s.nr.key=E,s.nr.type=V,k.set(V,P+1),P++),p.set(E,s)),s.position=null===a?v[A-1].accumulator:A*a):s&&this.unuseView(s)}return this.$_startIndex=t,this.$_endIndex=n,this.emitUpdate&&this.$emit("update",t,n),{continuous:w}},getListenerTarget:function(){var e=w(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!x&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=w(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var P=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",class:{hover:i.hoverKey===e.nr.key},style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(t){i.hoverKey=e.nr.key},mouseleave:function(e){i.hoverKey=null}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),r("ResizeObserver",{on:{notify:i.handleResize}})],1)};P._withStripped=!0;const k=V({render:P,staticRenderFns:[]},void 0,T,void 0,!1,void 0,!1,void 0,void 0,void 0);const A={name:"DynamicScroller",components:{RecycleScroller:k},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},O,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:D,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var E=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};E._withStripped=!0;const j=V({render:E,staticRenderFns:[]},void 0,A,void 0,!1,void 0,!1,void 0,void 0,void 0);const U=V({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var M={version:"1.1.0",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),k),e.component("".concat(t,"RecycleScroller"),k),e.component("".concat(t,"dynamic-scroller"),j),e.component("".concat(t,"DynamicScroller"),j),e.component("".concat(t,"dynamic-scroller-item"),U),e.component("".concat(t,"DynamicScrollerItem"),U)}(e,n.componentsPrefix)}},C=null;return"undefined"!=typeof window?C=window.Vue:"undefined"!=typeof global&&(C=global.Vue),C&&C.use(M),e.DynamicScroller=j,e.DynamicScrollerItem=U,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=k,e.default=M,e}({},Vue);
+var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}var c=void 0;function d(){d.init||(d.init=!0,c=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}var u={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!c&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;d(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",c&&this.$el.appendChild(t),t.data="about:blank",c||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var h={version:"0.4.5",install:function(e){e.component("resize-observer",u),e.component("ResizeObserver",u)}},f=null;function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&p(t.prototype,i),n&&p(t,n),e}();function b(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new y(e,n,i);e._vue_visibilityState=r}}function g(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var _={bind:b,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===v(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):b(e,{value:n},i):g(e)}},unbind:g};var S={version:"0.4.6",install:function(e){e.directive("observe-visibility",_)}},$=null;"undefined"!=typeof window?$=window.Vue:"undefined"!=typeof global&&($=global.Vue),$&&$.use(S);var z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var w=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=z,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type,r=i.get(n);r||(r=[],i.set(n,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame((function(){t.$_scrollDirty=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))})))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},updateVisibleItems:function(e){var t,n,r,o,s,l=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.itemSize,c=this.$_computedMinItemSize,d=this.typeField,u=this.simpleArray?null:this.keyField,h=this.items,f=h.length,v=this.sizes,p=this.$_views,m=this.$_unusedViews,y=this.pool;if(f&&!this.$_prerender&&(o=this.getScroll(),l)){var b=Math.abs(o.originalStart-this.$_lastUpdateScrollPosition);if(null===a&&bo.start&&($=z),z=~~((S+$)/2)}while(z!==_);for(z<0&&(z=0),t=z,r=v[f-1].accumulator,n=z;nf&&(n=f)}else(t=~~(o.start/a))<0&&(t=0),(n=Math.ceil(o.end/a))>f&&(n=f),r=f*a}else t=n=r=0;n-t>i.itemsLimit&&this.itemsLimitError(),this.totalSize=r;var w=t<=this.$_endIndex&&n>=this.$_startIndex;if(this.$_continuous!==w){if(w){p.clear(),m.clear();for(var O=0,D=y.length;O=n)&&this.unuseView(s));for(var R,V,T,P,A=w?null:new Map,k=t;k=T.length)&&(s=this.addView(y,k,R,E,V),this.unuseView(s,!0),T=m.get(V)),(s=T[P]).item=R,s.nr.used=!0,s.nr.index=k,s.nr.key=E,s.nr.type=V,A.set(V,P+1),P++),p.set(E,s)),s.position=null===a?v[k-1].accumulator:k*a):s&&this.unuseView(s)}return this.$_startIndex=t,this.$_endIndex=n,this.emitUpdate&&this.$emit("update",t,n),{continuous:w}},getListenerTarget:function(){var e=w(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!x&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=w(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var P=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),r("ResizeObserver",{on:{notify:i.handleResize}})],1)};P._withStripped=!0;const A=V({render:P,staticRenderFns:[]},void 0,T,void 0,!1,void 0,!1,void 0,void 0,void 0);const k={name:"DynamicScroller",components:{RecycleScroller:A},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},O,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:D,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var E=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};E._withStripped=!0;const j=V({render:E,staticRenderFns:[]},void 0,k,void 0,!1,void 0,!1,void 0,void 0,void 0);const U=V({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var M={version:'"1.1.1"',install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),A),e.component("".concat(t,"RecycleScroller"),A),e.component("".concat(t,"dynamic-scroller"),j),e.component("".concat(t,"DynamicScroller"),j),e.component("".concat(t,"dynamic-scroller-item"),U),e.component("".concat(t,"DynamicScrollerItem"),U)}(e,n.componentsPrefix)}},C=null;return"undefined"!=typeof window?C=window.Vue:"undefined"!=typeof global&&(C=global.Vue),C&&C.use(M),e.DynamicScroller=j,e.DynamicScrollerItem=U,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=A,e.default=M,e}({},Vue);
//# sourceMappingURL=vue-virtual-scroller.min.js.map
diff --git a/dist/vue-virtual-scroller.min.js.map b/dist/vue-virtual-scroller.min.js.map
index 320e524a..896e6dbd 100644
--- a/dist/vue-virtual-scroller.min.js.map
+++ b/dist/vue-virtual-scroller.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","isIE","initCompat","init","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","this","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","addEventListener","removeResizeHandlers","onload","removeEventListener","mounted","_this","$nextTick","object","document","createElement","setAttribute","type","appendChild","data","beforeDestroy","plugin","version","install","Vue","component","GlobalVue","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","global","use","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","staticProps","value","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","directive","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","scrollingElement","documentElement","module","exports","Scrollparent","items","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: 'VERSION',\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","isIE","initCompat","init","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","this","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","addEventListener","removeResizeHandlers","onload","removeEventListener","mounted","_this","$nextTick","object","document","createElement","setAttribute","type","appendChild","data","beforeDestroy","plugin","version","install","Vue","component","GlobalVue","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","global","use","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","staticProps","value","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","directive","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","scrollingElement","documentElement","module","exports","Scrollparent","items","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","finalOptions","assign","installComponents","componentsPrefix","config","prefix","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.umd.js b/dist/vue-virtual-scroller.umd.js
index 5ecb83b6..796d0c52 100644
--- a/dist/vue-virtual-scroller.umd.js
+++ b/dist/vue-virtual-scroller.umd.js
@@ -1340,7 +1340,6 @@
{
key: view.nr.id,
staticClass: "vue-recycle-scroller__item-view",
- class: { hover: _vm.hoverKey === view.nr.key },
style: _vm.ready
? {
transform:
@@ -1353,10 +1352,10 @@
: null,
on: {
mouseenter: function($event) {
- _vm.hoverKey = view.nr.key;
+ return $event.target.classList.add("hover")
},
mouseleave: function($event) {
- _vm.hoverKey = null;
+ return $event.target.classList.remove("hover")
}
}
},
@@ -2038,7 +2037,7 @@
var plugin$2 = {
// eslint-disable-next-line no-undef
- version: "1.1.0",
+ version: '"1.1.1"',
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
diff --git a/dist/vue-virtual-scroller.umd.js.map b/dist/vue-virtual-scroller.umd.js.map
index 1aa4282b..2374d03e 100644
--- a/dist/vue-virtual-scroller.umd.js.map
+++ b/dist/vue-virtual-scroller.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","ResizeObserver","_typeof","install","plugin","GlobalVue","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","version","VERSION","options","finalOptions","assign","installComponents","componentsPrefix","key","config","global","use"],"mappings":";;;;;;;;AAAA,eAAe;EACbA,EAAAA,UAAU,EAAE;EADC,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECAA,SAAS,0BAA0B,GAAG;EACtC,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;AACrC;EACA,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;EAChC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;EACf;EACA,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EACrE,EAAE;AACF;EACA,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;EACtC,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;EAClB;EACA,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;EAC7B,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EACjE,EAAE;AACF;EACA,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;EAChC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;EACf;EACA,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EACrE,EAAE;AACF;EACA;EACA,CAAC,OAAO,CAAC,CAAC,CAAC;EACX,CAAC;AACD;EACA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;AAClB;EACA,SAAS,UAAU,GAAG;EACtB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;EACvB,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;EACzB,EAAE,IAAI,GAAG,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC;EAC7C,EAAE;EACF,CAAC;AACD;EACA,IAAIC,gBAAc,GAAG,EAAE,MAAM,EAAE,SAAS,MAAM,GAAG;EACjD,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;EAC3J,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB;EACpD,CAAC,IAAI,EAAE,iBAAiB;AACxB;EACA,CAAC,OAAO,EAAE;EACV,EAAE,gBAAgB,EAAE,SAAS,gBAAgB,GAAG;EAChD,GAAG,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;EAC9E,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;EACnC,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;EACpC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;EACzB,IAAI;EACJ,GAAG;EACH,EAAE,iBAAiB,EAAE,SAAS,iBAAiB,GAAG;EAClD,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;EACpG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAC3B,GAAG;EACH,EAAE,oBAAoB,EAAE,SAAS,oBAAoB,GAAG;EACxD,GAAG,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;EACxD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE;EACrD,KAAK,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;EACzG,KAAK;EACL,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;EACrC,IAAI;EACJ,GAAG;EACH,EAAE;AACF;EACA,CAAC,OAAO,EAAE,SAAS,OAAO,GAAG;EAC7B,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;AACnB;EACA,EAAE,UAAU,EAAE,CAAC;EACf,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;EAC7B,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;EACpC,GAAG,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;EACrC,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;EAChD,EAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;EAC9B,EAAE,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;EAC7C,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;EACtC,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;EACzC,EAAE,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;EAC5B,EAAE,IAAI,IAAI,EAAE;EACZ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAChC,GAAG;EACH,EAAE,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;EAC9B,EAAE,IAAI,CAAC,IAAI,EAAE;EACb,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAChC,GAAG;EACH,EAAE;EACF,CAAC,aAAa,EAAE,SAAS,aAAa,GAAG;EACzC,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC9B,EAAE;EACF,CAAC,CAAC;AACF;EACA;EACA,SAAS,OAAO,CAAC,GAAG,EAAE;EACtB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAEA,gBAAc,CAAC,CAAC;EAClD,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAEA,gBAAc,CAAC,CAAC;EACjD,CAAC;AACD;EACA;EACA,IAAI,MAAM,GAAG;EACb;EACA,CAAC,OAAO,EAAE,OAAO;EACjB,CAAC,OAAO,EAAE,OAAO;EACjB,CAAC,CAAC;AACF;EACA;EACA,IAAI,SAAS,GAAG,IAAI,CAAC;EACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EACnC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;EACxB,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EAC1C,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;EACxB,CAAC;EACD,IAAI,SAAS,EAAE;EACf,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;EACvB;;EC/GA,SAASC,SAAO,CAAC,GAAG,EAAE;EACtB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;EAC3E,IAAIA,SAAO,GAAG,UAAU,GAAG,EAAE;EAC7B,MAAM,OAAO,OAAO,GAAG,CAAC;EACxB,KAAK,CAAC;EACN,GAAG,MAAM;EACT,IAAIA,SAAO,GAAG,UAAU,GAAG,EAAE;EAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC;EACnI,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,OAAOA,SAAO,CAAC,GAAG,CAAC,CAAC;EACtB,CAAC;AACD;EACA,SAAS,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE;EAChD,EAAE,IAAI,EAAE,QAAQ,YAAY,WAAW,CAAC,EAAE;EAC1C,IAAI,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;EAC7D,GAAG;EACH,CAAC;AACD;EACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;EAC1C,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACzC,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9B,IAAI,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;EAC3D,IAAI,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;EACnC,IAAI,IAAI,OAAO,IAAI,UAAU,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;EAC1D,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;EAC9D,GAAG;EACH,CAAC;AACD;EACA,SAAS,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;EAC5D,EAAE,IAAI,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;EACvE,EAAE,IAAI,WAAW,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;EAC/D,EAAE,OAAO,WAAW,CAAC;EACrB,CAAC;AACD;EACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;EACjC,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,kBAAkB,EAAE,CAAC;EAClF,CAAC;AACD;EACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;EACjC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EAC1B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACxF;EACA,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;EACH,CAAC;AACD;EACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;EAChC,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,oBAAoB,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAChI,CAAC;AACD;EACA,SAAS,kBAAkB,GAAG;EAC9B,EAAE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;EACzE,CAAC;AACD;EACA,SAAS,cAAc,CAAC,KAAK,EAAE;EAC/B,EAAE,IAAI,OAAO,CAAC;AACd;EACA,EAAE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;EACnC;EACA,IAAI,OAAO,GAAG;EACd,MAAM,QAAQ,EAAE,KAAK;EACrB,KAAK,CAAC;EACN,GAAG,MAAM;EACT;EACA,IAAI,OAAO,GAAG,KAAK,CAAC;EACpB,GAAG;AACH;EACA,EAAE,OAAO,OAAO,CAAC;EACjB,CAAC;EACD,SAAS,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE;EACnC,EAAE,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;EACvF,EAAE,IAAI,OAAO,CAAC;EACd,EAAE,IAAI,SAAS,CAAC;EAChB,EAAE,IAAI,WAAW,CAAC;AAClB;EACA,EAAE,IAAI,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;EAC5C,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;EAChH,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;EACvC,KAAK;AACL;EACA,IAAI,WAAW,GAAG,IAAI,CAAC;EACvB,IAAI,IAAI,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,OAAO;EAC/C,IAAI,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAClC;EACA,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;EACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;EAC1C,KAAK;AACL;EACA,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,KAAK,OAAO,EAAE;EACtD,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;EAC9E,KAAK;AACL;EACA,IAAI,SAAS,GAAG,KAAK,CAAC;EACtB,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;EAC1B,IAAI,OAAO,GAAG,UAAU,CAAC,YAAY;EACrC,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;EAC9E,MAAM,OAAO,GAAG,CAAC,CAAC;EAClB,KAAK,EAAE,KAAK,CAAC,CAAC;EACd,GAAG,CAAC;AACJ;EACA,EAAE,SAAS,CAAC,MAAM,GAAG,YAAY;EACjC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;EAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;EACnB,GAAG,CAAC;AACJ;EACA,EAAE,OAAO,SAAS,CAAC;EACnB,CAAC;EACD,SAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE;EAC/B,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC;AACjC;EACA,EAAE,IAAIA,SAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;EAClC,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;EAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;EAC5C,QAAQ,OAAO,KAAK,CAAC;EACrB,OAAO;EACP,KAAK;AACL;EACA,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;AACH;EACA,EAAE,OAAO,KAAK,CAAC;EACf,CAAC;AACD;EACA,IAAI,eAAe;EACnB;EACA,YAAY;EACZ,EAAE,SAAS,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;EAC/C,IAAI,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAC3C;EACA,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;EACjB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACzB,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACxB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EACxC,GAAG;AACH;EACA,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC;EACjC,IAAI,GAAG,EAAE,gBAAgB;EACzB,IAAI,KAAK,EAAE,SAAS,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE;EACnD,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC;AACvB;EACA,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;EACzB,QAAQ,IAAI,CAAC,eAAe,EAAE,CAAC;EAC/B,OAAO;AACP;EACA,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;EAC9B,MAAM,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAC7C;EACA,MAAM,IAAI,CAAC,QAAQ,GAAG,UAAU,MAAM,EAAE,KAAK,EAAE;EAC/C,QAAQ,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C;EACA,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;EAC1C,UAAU,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AAC9B;EACA,UAAU,KAAK,CAAC,eAAe,EAAE,CAAC;EAClC,SAAS;EACT,OAAO,CAAC;AACR;AACA;EACA,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;EAClD,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE;EACrD,YAAY,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC;EACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;EACvE,UAAU,OAAO,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;EAC3C,YAAY,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC;EAC7G,WAAW;EACX,SAAS,CAAC,CAAC;EACX,OAAO;AACP;EACA,MAAM,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;EACjC,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,UAAU,OAAO,EAAE;EAClE,QAAQ,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/B;EACA,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;EAChC,UAAU,IAAI,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EAC5D,YAAY,OAAO,CAAC,CAAC,cAAc,CAAC;EACpC,WAAW,CAAC,CAAC;AACb;EACA,UAAU,IAAI,iBAAiB,EAAE;EACjC,YAAY,KAAK,GAAG,iBAAiB,CAAC;EACtC,WAAW;EACX,SAAS;AACT;EACA,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;EAC5B;EACA,UAAU,IAAI,MAAM,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS,CAAC;EAC1F,UAAU,IAAI,MAAM,KAAK,KAAK,CAAC,SAAS,EAAE,OAAO;EACjD,UAAU,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;AACnC;EACA,UAAU,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;EACxC,SAAS;EACT,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AACpC;EACA,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY;EAC1C,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;EAC5B,UAAU,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;EAC3C,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,iBAAiB;EAC1B,IAAI,KAAK,EAAE,SAAS,eAAe,GAAG;EACtC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;EACzB,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;EACnC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EAC7B,OAAO;AACP;AACA;EACA,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;EACjD,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC/B;EACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EAC7B,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,WAAW;EACpB,IAAI,GAAG,EAAE,SAAS,GAAG,GAAG;EACxB,MAAM,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC;EACnF,KAAK;EACL,GAAG,CAAC,CAAC,CAAC;AACN;EACA,EAAE,OAAO,eAAe,CAAC;EACzB,CAAC,EAAE,CAAC;AACJ;EACA,SAAS,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;EAChC,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;EAC1B,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO;AACrB;EACA,EAAE,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;EACnD,IAAI,OAAO,CAAC,IAAI,CAAC,oLAAoL,CAAC,CAAC;EACvM,GAAG,MAAM;EACT,IAAI,IAAI,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;EACtD,IAAI,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC;EACpC,GAAG;EACH,CAAC;AACD;EACA,SAAS,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;EAClC,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK;EACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;EAChC,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO;EACzC,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC,oBAAoB,CAAC;AACtC;EACA,EAAE,IAAI,CAAC,KAAK,EAAE;EACd,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;EACf,IAAI,OAAO;EACX,GAAG;AACH;EACA,EAAE,IAAI,KAAK,EAAE;EACb,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EACvC,GAAG,MAAM;EACT,IAAI,IAAI,CAAC,EAAE,EAAE;EACb,MAAM,KAAK,EAAE,KAAK;EAClB,KAAK,EAAE,KAAK,CAAC,CAAC;EACd,GAAG;EACH,CAAC;AACD;EACA,SAAS,MAAM,CAAC,EAAE,EAAE;EACpB,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC,oBAAoB,CAAC;AACtC;EACA,EAAE,IAAI,KAAK,EAAE;EACb,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;EAC5B,IAAI,OAAO,EAAE,CAAC,oBAAoB,CAAC;EACnC,GAAG;EACH,CAAC;AACD;EACA,IAAI,iBAAiB,GAAG;EACxB,EAAE,IAAI,EAAE,IAAI;EACZ,EAAE,MAAM,EAAE,MAAM;EAChB,EAAE,MAAM,EAAE,MAAM;EAChB,CAAC,CAAC;AACF;EACA,SAASC,SAAO,CAAC,GAAG,EAAE;EACtB,EAAE,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;EACzD;EACA,CAAC;EACD;AACA;EACA;EACA;AACA;EACA,IAAIC,QAAM,GAAG;EACb;EACA,EAAE,OAAO,EAAE,OAAO;EAClB,EAAE,OAAO,EAAED,SAAO;EAClB,CAAC,CAAC;AACF;EACA,IAAIE,WAAS,GAAG,IAAI,CAAC;AACrB;EACA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EACnC,EAAEA,WAAS,GAAG,MAAM,CAAC,GAAG,CAAC;EACzB,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EAC1C,EAAEA,WAAS,GAAG,MAAM,CAAC,GAAG,CAAC;EACzB,CAAC;AACD;EACA,IAAIA,WAAS,EAAE;EACf,EAAEA,WAAS,CAAC,GAAG,CAACD,QAAM,CAAC,CAAC;EACxB;;;;;;;;;EC1SA,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE;EAC1B,EAES,KAAkC,MAAM,CAAC,OAAO,EAAE;EAC3D,IAAI,cAAc,GAAG,OAAO,EAAE,CAAC;EAC/B,GAAG,MAAM;EACT,IAAI,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,CAAC;EAClC,GAAG;EACH,CAAC,CAACE,cAAI,EAAE,YAAY;EACpB,EAAE,IAAI,KAAK,GAAG,eAAe,CAAC;AAC9B;EACA,EAAE,IAAI,OAAO,GAAG,UAAU,IAAI,EAAE,EAAE,EAAE;EACpC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AAChD;EACA,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACvD,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,KAAK,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE;EACpC,IAAI,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;EAC/D,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,QAAQ,GAAG,UAAU,IAAI,EAAE;EACjC,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;EAC3F,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,MAAM,GAAG,UAAU,IAAI,EAAE;EAC/B,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;EACrC,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,YAAY,GAAG,UAAU,IAAI,EAAE;EACrC,IAAI,IAAI,EAAE,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,UAAU,CAAC,EAAE;EACtE,MAAM,QAAQ;EACd,KAAK;AACL;EACA,IAAI,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC1C;EACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;EAC3C,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;EACzB,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;EACrB,OAAO;EACP,KAAK;AACL;EACA,IAAI,OAAO,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,eAAe,CAAC;EACjE,GAAG,CAAC;AACJ;EACA,EAAE,OAAO,YAAY,CAAC;EACtB,CAAC,CAAC;;;EC9CK,IAAMC,KAAK,GAAG;EACnBC,EAAAA,KAAK,EAAE;EACLC,IAAAA,IAAI,EAAEC,KADD;EAELC,IAAAA,QAAQ,EAAE;EAFL,GADY;EAMnBC,EAAAA,QAAQ,EAAE;EACRH,IAAAA,IAAI,EAAEI,MADE;EAERC,IAAAA,OAAO,EAAE;EAFD,GANS;EAWnBC,EAAAA,SAAS,EAAE;EACTN,IAAAA,IAAI,EAAEI,MADG;EAETC,IAAAA,OAAO,EAAE,UAFA;EAGTE,IAAAA,SAAS,EAAE,mBAACC,KAAD;EAAA,aAAW,CAAC,UAAD,EAAa,YAAb,EAA2BC,QAA3B,CAAoCD,KAApC,CAAX;EAAA;EAHF;EAXQ,CAAd;EAkBA,SAASE,WAAT,GAAwB;EAC7B,SAAO,KAAKX,KAAL,CAAWY,MAAX,IAAqB,QAAO,KAAKZ,KAAL,CAAW,CAAX,CAAP,MAAyB,QAArD;EACD;;ECpBM,IAAIa,eAAe,GAAG,KAAtB;;EAEP,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;EACjCD,EAAAA,eAAe,GAAG,KAAlB;;EACA,MAAI;EACF,QAAIE,IAAI,GAAGC,MAAM,CAACC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;EAC9CC,MAAAA,GAD8C,iBACvC;EACLL,QAAAA,eAAe,GAAG,IAAlB;EACD;EAH6C,KAArC,CAAX;EAKAC,IAAAA,MAAM,CAACK,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCJ,IAAtC;EACD,GAPD,CAOE,OAAOK,CAAP,EAAU;EACb;;ECmDD,WAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA;;ECjEA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,oBAAoB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE;EAC7L,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE;EACzC,QAAQ,iBAAiB,GAAG,cAAc,CAAC;EAC3C,QAAQ,cAAc,GAAG,UAAU,CAAC;EACpC,QAAQ,UAAU,GAAG,KAAK,CAAC;EAC3B,KAAK;EACL;EACA,IAAI,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;EAC3E;EACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;EACrC,QAAQ,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;EACzC,QAAQ,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;EAC3D,QAAQ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;EACjC;EACA,QAAQ,IAAI,oBAAoB,EAAE;EAClC,YAAY,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;EACtC,SAAS;EACT,KAAK;EACL;EACA,IAAI,IAAI,OAAO,EAAE;EACjB,QAAQ,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;EACnC,KAAK;EACL,IAAI,IAAI,IAAI,CAAC;EACb,IAAI,IAAI,gBAAgB,EAAE;EAC1B;EACA,QAAQ,IAAI,GAAG,UAAU,OAAO,EAAE;EAClC;EACA,YAAY,OAAO;EACnB,gBAAgB,OAAO;EACvB,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;EAC3D,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;EACzF;EACA,YAAY,IAAI,CAAC,OAAO,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;EACxE,gBAAgB,OAAO,GAAG,mBAAmB,CAAC;EAC9C,aAAa;EACb;EACA,YAAY,IAAI,KAAK,EAAE;EACvB,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;EAC7D,aAAa;EACb;EACA,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;EAC1D,gBAAgB,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;EACpE,aAAa;EACb,SAAS,CAAC;EACV;EACA;EACA,QAAQ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;EACpC,KAAK;EACL,SAAS,IAAI,KAAK,EAAE;EACpB,QAAQ,IAAI,GAAG,UAAU;EACzB,cAAc,UAAU,OAAO,EAAE;EACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;EAChG,aAAa;EACb,cAAc,UAAU,OAAO,EAAE;EACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;EAC1D,aAAa,CAAC;EACd,KAAK;EACL,IAAI,IAAI,IAAI,EAAE;EACd,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;EAChC;EACA,YAAY,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;EAClD,YAAY,OAAO,CAAC,MAAM,GAAG,SAAS,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE;EAC3E,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACnC,gBAAgB,OAAO,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;EAClD,aAAa,CAAC;EACd,SAAS;EACT,aAAa;EACb;EACA,YAAY,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;EAClD,YAAY,OAAO,CAAC,YAAY,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;EACjF,SAAS;EACT,KAAK;EACL,IAAI,OAAO,MAAM,CAAC;EAClB;;;EDvEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEiCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA;;;EAjCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA;;;EACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECAe,oBAEP;EAAA,iFAAJ,EAAI;EAAA,yBADNC,MACM;EAAA,MADNA,MACM,4BADG,UAAAC,EAAE;EAAA,WAAIA,EAAE,CAACC,IAAH,CAAQC,EAAZ;EAAA,GACL;;EACN,MAAMC,KAAK,GAAG,EAAd;EACA,MAAMH,EAAE,GAAG,IAAII,GAAJ,CAAQ;EACjBC,IAAAA,IADiB,kBACT;EACN,aAAO;EACLF,QAAAA,KAAK,EAALA;EADK,OAAP;EAGD;EALgB,GAAR,CAAX,CAFM;;EAWN,SAAO;EACLE,IAAAA,IADK,kBACG;EACN,aAAO;EACLC,QAAAA,OAAO,EAAE;EADJ,OAAP;EAGD,KALI;EAOLC,IAAAA,OAPK,qBAOM;EAAA;;EACT,WAAKC,IAAL,GAAY,IAAZ;;EACA,UAAI,OAAOT,MAAP,KAAkB,UAAtB,EAAkC;EAChC,aAAKU,OAAL,GAAe;EAAA,iBAAMV,MAAM,CAACW,IAAP,CAAY,KAAZ,EAAkB,KAAlB,CAAN;EAAA,SAAf;EACD,OAFD,MAEO;EACL,aAAKD,OAAL,GAAe;EAAA,iBAAM,KAAI,CAACV,MAAD,CAAV;EAAA,SAAf;EACD;;EACD,WAAKY,MAAL,CAAY,KAAKF,OAAjB,EAA0B;EACxBG,QAAAA,OADwB,mBACfzB,KADe,EACR;EAAA;;EACd,eAAK0B,SAAL,CAAe,YAAM;EACnB,YAAA,MAAI,CAACL,IAAL,GAAYrB,KAAZ;EACD,WAFD;EAGD,SALuB;EAMxB2B,QAAAA,SAAS,EAAE;EANa,OAA1B;EAQA,WAAKC,eAAL;EACD,KAvBI;EAyBLC,IAAAA,YAzBK,0BAyBW;EACd,WAAKD,eAAL;EACD,KA3BI;EA6BLE,IAAAA,OAAO,EAAE;EACP;;;;EAIAC,MAAAA,aALO,yBAKQhB,EALR,EAKY;EACjB,YAAMiB,OAAO,GAAG,KAAKC,QAAL,CAAcd,OAA9B;;EACA,YAAI,OAAOa,OAAP,KAAmB,UAAvB,EAAmC;EACjC,cAAMd,IAAI,GAAGc,OAAO,CAACT,IAAR,CAAa,IAAb,EAAmB,IAAnB,CAAb;EACAV,UAAAA,EAAE,CAACqB,IAAH,CAAQlB,KAAR,EAAeD,EAAf,EAAmBG,IAAnB;EACA,eAAKG,IAAL,GAAYN,EAAZ;EACA,iBAAOG,IAAP;EACD,SALD,MAKO;EACL,gBAAM,IAAIiB,KAAJ,CAAU,qEAAV,CAAN;EACD;EACF,OAfM;;EAiBP;;;EAGAP,MAAAA,eApBO,6BAoBY;EACjB,YAAMb,EAAE,GAAG,KAAKO,OAAL,EAAX;;EACA,YAAIP,EAAE,IAAI,IAAV,EAAgB;EACdqB,UAAAA,OAAO,CAACC,IAAR,iDAAsDzB,MAAtD;EACD;;EACD,YAAIG,EAAE,KAAK,KAAKM,IAAhB,EAAsB;EACpB,cAAI,CAACL,KAAK,CAACD,EAAD,CAAV,EAAgB;EACd,iBAAKgB,aAAL,CAAmBhB,EAAnB;EACD;;EACD,eAAKI,OAAL,GAAeH,KAAK,CAACD,EAAD,CAApB;EACD;EACF;EA/BM;EA7BJ,GAAP;EA+DD;;EChED,SAASuB,kBAAT,CAA6BrB,GAA7B,EAAkCsB,MAAlC,EAA0C;EACxCtB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CE,iBAA3C;EACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CE,iBAA1C;EACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CG,mBAA3C;EACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CG,mBAA1C;EACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,4BAAgDI,mBAAhD;EACA1B,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,0BAA8CI,mBAA9C;EACD;;EAED,IAAMxD,QAAM,GAAG;EACb;EACAyD,EAAAA,OAAO,EAAEC,OAFI;EAGb3D,EAAAA,OAHa,mBAGJ+B,GAHI,EAGC6B,OAHD,EAGU;EACrB,QAAMC,YAAY,GAAGxC,MAAM,CAACyC,MAAP,CAAc,EAAd,EAAkB;EACrCC,MAAAA,iBAAiB,EAAE,IADkB;EAErCC,MAAAA,gBAAgB,EAAE;EAFmB,KAAlB,EAGlBJ,OAHkB,CAArB;;EAKA,SAAK,IAAMK,GAAX,IAAkBJ,YAAlB,EAAgC;EAC9B,UAAI,OAAOA,YAAY,CAACI,GAAD,CAAnB,KAA6B,WAAjC,EAA8C;EAC5CC,QAAAA,MAAM,CAACD,GAAD,CAAN,GAAcJ,YAAY,CAACI,GAAD,CAA1B;EACD;EACF;;EAED,QAAIJ,YAAY,CAACE,iBAAjB,EAAoC;EAClCX,MAAAA,kBAAkB,CAACrB,GAAD,EAAM8B,YAAY,CAACG,gBAAnB,CAAlB;EACD;EACF;EAlBY,CAAf;;EAwBA,IAAI9D,WAAS,GAAG,IAAhB;;EACA,IAAI,OAAOiB,MAAP,KAAkB,WAAtB,EAAmC;EACjCjB,EAAAA,WAAS,GAAGiB,MAAM,CAACY,GAAnB;EACD,CAFD,MAEO,IAAI,OAAOoC,MAAP,KAAkB,WAAtB,EAAmC;EACxCjE,EAAAA,WAAS,GAAGiE,MAAM,CAACpC,GAAnB;EACD;;EACD,IAAI7B,WAAJ,EAAe;EACbA,EAAAA,WAAS,CAACkE,GAAV,CAAcnE,QAAd;EACD;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: 'VERSION',\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","ResizeObserver","_typeof","install","plugin","GlobalVue","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","version","options","finalOptions","assign","installComponents","componentsPrefix","key","config","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/package.json b/package.json
index c99b612f..676ad47e 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
- "version": "1.1.0",
+ "version": "1.1.1",
"author": {
"name": "Guillaume Chau",
"email": "guillaume.b.chau@gmail.com"
From cfca3562b62c091db5276d5c048aa674af2f2486 Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 29 Apr 2020 19:25:09 +0200
Subject: [PATCH 12/26] refactor: Default group
---
src/components/RecycleScroller.vue | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 86324920..0199b536 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -228,11 +228,10 @@ export default {
unuseView (view, fake = false) {
const unusedViews = this.$_unusedViews
const type = view.nr.type
- let unusedPool = unusedViews.get(type)
- if (!unusedPool) {
- unusedPool = []
- unusedViews.set(type, unusedPool)
+ if (!unusedViews.get(type)) {
+ unusedViews.set(type, [])
}
+ const unusedPool = unusedViews.get(type)
unusedPool.push(view)
if (!fake) {
view.nr.used = false
From 33036a45a3bb18597413a56d93296456910c5544 Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 29 Apr 2020 19:53:56 +0200
Subject: [PATCH 13/26] refactor: extract calculating start end and total
---
src/components/RecycleScroller.vue | 69 +++++++++++++++++++-----------
1 file changed, 43 insertions(+), 26 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 0199b536..d102e497 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -286,8 +286,6 @@ export default {
const views = this.$_views
const unusedViews = this.$_unusedViews
const pool = this.pool
- let startIndex, endIndex
- let totalSize
let scroll
@@ -305,13 +303,22 @@ export default {
}
}
- if (!count) {
- startIndex = endIndex = totalSize = 0
- } else if (this.$_prerender) {
- startIndex = 0
- endIndex = this.prerender
- totalSize = null
- } else {
+ function getStartEnd () {
+ if (!count) {
+ return {
+ startIndex: 0,
+ endIndex: 0,
+ totalSize: 0,
+ }
+ }
+ if (this.$_prerender) {
+ return {
+ startIndex: 0,
+ endIndex: this.prerender,
+ totalSize: null,
+ }
+ }
+
this.$_lastUpdateScrollPosition = scroll.originalStart
const buffer = this.buffer
@@ -338,33 +345,43 @@ export default {
i = ~~((a + b) / 2)
} while (i !== oldI)
i < 0 && (i = 0)
- startIndex = i
+ const startIndex = i
// For container style
- totalSize = sizes[count - 1].accumulator
+ const totalSize = sizes[count - 1].accumulator
// Searching for endIndex
- for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++);
- if (endIndex === -1) {
- endIndex = items.length - 1
- } else {
- endIndex++
- // Bounds
- endIndex > count && (endIndex = count)
+ let endIndex
+ for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++) {
+ if (endIndex === -1) {
+ endIndex = items.length - 1
+ } else {
+ endIndex++
+ // Bounds
+ endIndex > count && (endIndex = count)
+ }
}
- } else {
- // Fixed size mode
- startIndex = ~~(scroll.start / itemSize)
- endIndex = Math.ceil(scroll.end / itemSize)
- // Bounds
- startIndex < 0 && (startIndex = 0)
- endIndex > count && (endIndex = count)
+ return {
+ startIndex,
+ endIndex,
+ totalSize,
+ }
+ }
+ // Fixed size mode
+ const startIndex = Math.max(0, ~~(scroll.start / itemSize))
+ const endIndex = Math.min(count, Math.ceil(scroll.end / itemSize))
+ const totalSize = count * itemSize
- totalSize = count * itemSize
+ return {
+ startIndex,
+ endIndex,
+ totalSize,
}
}
+ const { startIndex, endIndex, totalSize } = getStartEnd.call(this)
+
if (endIndex - startIndex > config.itemsLimit) {
this.itemsLimitError()
}
From c03e5304f6ff9f44fe0de756bb1d2fbab7181576 Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 29 Apr 2020 21:37:56 +0200
Subject: [PATCH 14/26] fix: Extract getting start and end index
---
src/components/RecycleScroller.vue | 164 +++++++++++++++--------------
1 file changed, 85 insertions(+), 79 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index d102e497..9ee76f6b 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -192,6 +192,8 @@ export default {
mounted () {
this.applyPageMode()
+ const { totalSize } = this.startEndIndex(this.getScroll())
+ this.$refs.wrapper.style[this.direction === 'vertical' ? 'minHeight' : 'minWidth'] = totalSize + 'px'
this.$nextTick(() => {
// In SSR mode, render the real number of visible items
this.$_prerender = false
@@ -264,7 +266,7 @@ export default {
handleVisibilityChange (isVisible, entry) {
if (this.ready) {
- if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {
+ if (isVisible) {
this.$emit('visible')
requestAnimationFrame(() => {
this.updateVisibleItems(false)
@@ -274,8 +276,89 @@ export default {
}
}
},
+ startEndIndex (scroll) {
+ const itemSize = this.itemSize
+ const items = this.items
+ const count = items.length
+ const sizes = this.sizes
+ if (!count) {
+ return {
+ startIndex: 0,
+ endIndex: 0,
+ totalSize: 0,
+ }
+ }
+ if (this.$_prerender) {
+ return {
+ startIndex: 0,
+ endIndex: this.prerender,
+ totalSize: null,
+ }
+ }
+
+ this.$_lastUpdateScrollPosition = scroll.originalStart
+
+ const buffer = this.buffer
+ scroll.start -= buffer
+ scroll.end += buffer
+
+ // Variable size mode
+ if (itemSize === null) {
+ let h
+ let a = 0
+ let b = count - 1
+ let i = ~~(count / 2)
+ let oldI
+
+ // Searching for startIndex
+ do {
+ oldI = i
+ h = sizes[i].accumulator
+ if (h < scroll.start) {
+ a = i
+ } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
+ b = i
+ }
+ i = ~~((a + b) / 2)
+ } while (i !== oldI)
+ i < 0 && (i = 0)
+ const startIndex = i
+
+ // For container style
+ const totalSize = sizes[count - 1].accumulator
+
+ // Searching for endIndex
+ let endIndex
+ for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++) {
+ if (endIndex === -1) {
+ endIndex = items.length - 1
+ } else {
+ endIndex++
+ // Bounds
+ endIndex > count && (endIndex = count)
+ }
+ }
+
+ return {
+ startIndex,
+ endIndex,
+ totalSize,
+ }
+ }
+ // Fixed size mode
+ const startIndex = Math.max(0, ~~(scroll.start / itemSize))
+ const endIndex = Math.min(count, Math.ceil(scroll.end / itemSize))
+ const totalSize = count * itemSize
+
+ return {
+ startIndex,
+ endIndex,
+ totalSize,
+ }
+ },
updateVisibleItems (checkItem, checkPositionDiff = false) {
+ console.log('updating')
const itemSize = this.itemSize
const minItemSize = this.$_computedMinItemSize
const typeField = this.typeField
@@ -303,84 +386,7 @@ export default {
}
}
- function getStartEnd () {
- if (!count) {
- return {
- startIndex: 0,
- endIndex: 0,
- totalSize: 0,
- }
- }
- if (this.$_prerender) {
- return {
- startIndex: 0,
- endIndex: this.prerender,
- totalSize: null,
- }
- }
-
- this.$_lastUpdateScrollPosition = scroll.originalStart
-
- const buffer = this.buffer
- scroll.start -= buffer
- scroll.end += buffer
-
- // Variable size mode
- if (itemSize === null) {
- let h
- let a = 0
- let b = count - 1
- let i = ~~(count / 2)
- let oldI
-
- // Searching for startIndex
- do {
- oldI = i
- h = sizes[i].accumulator
- if (h < scroll.start) {
- a = i
- } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
- b = i
- }
- i = ~~((a + b) / 2)
- } while (i !== oldI)
- i < 0 && (i = 0)
- const startIndex = i
-
- // For container style
- const totalSize = sizes[count - 1].accumulator
-
- // Searching for endIndex
- let endIndex
- for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++) {
- if (endIndex === -1) {
- endIndex = items.length - 1
- } else {
- endIndex++
- // Bounds
- endIndex > count && (endIndex = count)
- }
- }
-
- return {
- startIndex,
- endIndex,
- totalSize,
- }
- }
- // Fixed size mode
- const startIndex = Math.max(0, ~~(scroll.start / itemSize))
- const endIndex = Math.min(count, Math.ceil(scroll.end / itemSize))
- const totalSize = count * itemSize
-
- return {
- startIndex,
- endIndex,
- totalSize,
- }
- }
-
- const { startIndex, endIndex, totalSize } = getStartEnd.call(this)
+ const { startIndex, endIndex, totalSize } = this.startEndIndex(scroll)
if (endIndex - startIndex > config.itemsLimit) {
this.itemsLimitError()
From 1faa05b82895a2c2bf52635e47f518a996426667 Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 29 Apr 2020 22:06:37 +0200
Subject: [PATCH 15/26] refactor: Cancel animation frame
---
src/components/RecycleScroller.vue | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 9ee76f6b..d7aac6c7 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -179,7 +179,7 @@ export default {
this.$_endIndex = 0
this.$_views = new Map()
this.$_unusedViews = new Map()
- this.$_scrollDirty = false
+ this.$_scrollAnimationRequest = null
this.$_lastUpdateScrollPosition = 0
// In SSR mode, we also prerender the same number of item for the first render
@@ -248,20 +248,18 @@ export default {
},
handleScroll (event) {
- if (!this.$_scrollDirty) {
- this.$_scrollDirty = true
- requestAnimationFrame(() => {
- this.$_scrollDirty = false
- const { continuous } = this.updateVisibleItems(false, true)
-
- // It seems sometimes chrome doesn't fire scroll event :/
- // When non continous scrolling is ending, we force a refresh
- if (!continuous) {
- clearTimeout(this.$_refreshTimout)
- this.$_refreshTimout = setTimeout(this.handleScroll, 100)
- }
- })
- }
+ cancelAnimationFrame(this.$_scrollAnimationRequest)
+ this.$_scrollAnimationRequest = requestAnimationFrame(() => {
+ this.$_scrollAnimationRequest = false
+ const { continuous } = this.updateVisibleItems(false, true)
+
+ // It seems sometimes chrome doesn't fire scroll event :/
+ // When non continous scrolling is ending, we force a refresh
+ if (!continuous) {
+ clearTimeout(this.$_refreshTimout)
+ this.$_refreshTimout = setTimeout(this.handleScroll, 100)
+ }
+ })
},
handleVisibilityChange (isVisible, entry) {
@@ -358,7 +356,6 @@ export default {
}
},
updateVisibleItems (checkItem, checkPositionDiff = false) {
- console.log('updating')
const itemSize = this.itemSize
const minItemSize = this.$_computedMinItemSize
const typeField = this.typeField
@@ -378,6 +375,7 @@ export default {
// Skip update if use hasn't scrolled enough
if (checkPositionDiff) {
const positionDiff = Math.abs(scroll.originalStart - this.$_lastUpdateScrollPosition)
+
if ((itemSize === null && positionDiff < minItemSize) || positionDiff < itemSize) {
return {
continuous: true,
From 13cd5b2ba6cff5c06c8580f3ff9b8f7d1309934d Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 29 Apr 2020 22:14:56 +0200
Subject: [PATCH 16/26] fix: Remove resize observer. Change of item number will
handle it.
---
package.json | 3 +--
src/components/RecycleScroller.vue | 2 --
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/package.json b/package.json
index 676ad47e..0d5a87d2 100644
--- a/package.json
+++ b/package.json
@@ -34,8 +34,7 @@
"homepage": "https://github.com/Akryum/vue-virtual-scroller#readme",
"dependencies": {
"scrollparent": "^2.0.1",
- "vue-observe-visibility": "^0.4.4",
- "vue-resize": "^0.4.5"
+ "vue-observe-visibility": "^0.4.4"
},
"peerDependencies": {
"vue": "^2.6.11"
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index d7aac6c7..94050d33 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -47,8 +47,6 @@
name="after"
/>
-
-
From 6c0ca4f19ad297fe6d6c3ac32c7f4ceddc030f9b Mon Sep 17 00:00:00 2001
From: Damir
Date: Wed, 29 Apr 2020 22:17:07 +0200
Subject: [PATCH 17/26] 1.2.0
---
dist/vue-virtual-scroller.esm.js | 223 ++++++++--------
dist/vue-virtual-scroller.esm.js.map | 2 +-
dist/vue-virtual-scroller.min.js | 2 +-
dist/vue-virtual-scroller.min.js.map | 2 +-
dist/vue-virtual-scroller.umd.js | 365 ++++++++++-----------------
dist/vue-virtual-scroller.umd.js.map | 2 +-
package.json | 2 +-
src/components/RecycleScroller.vue | 5 -
8 files changed, 264 insertions(+), 339 deletions(-)
diff --git a/dist/vue-virtual-scroller.esm.js b/dist/vue-virtual-scroller.esm.js
index 3ae77055..cdd12ad3 100644
--- a/dist/vue-virtual-scroller.esm.js
+++ b/dist/vue-virtual-scroller.esm.js
@@ -1,4 +1,3 @@
-import { ResizeObserver as ResizeObserver$1 } from 'vue-resize';
import { ObserveVisibility } from 'vue-observe-visibility';
import ScrollParent from 'scrollparent';
import Vue from 'vue';
@@ -183,9 +182,6 @@ if (typeof window !== 'undefined') {
var uid = 0;
var script = {
name: 'RecycleScroller',
- components: {
- ResizeObserver: ResizeObserver$1
- },
directives: {
ObserveVisibility: ObserveVisibility
},
@@ -289,7 +285,7 @@ var script = {
this.$_endIndex = 0;
this.$_views = new Map();
this.$_unusedViews = new Map();
- this.$_scrollDirty = false;
+ this.$_scrollAnimationRequest = null;
this.$_lastUpdateScrollPosition = 0; // In SSR mode, we also prerender the same number of item for the first render
// to avoir mismatch between server and client templates
@@ -302,6 +298,11 @@ var script = {
var _this = this;
this.applyPageMode();
+
+ var _this$startEndIndex = this.startEndIndex(this.getScroll()),
+ totalSize = _this$startEndIndex.totalSize;
+
+ this.$refs.wrapper.style[this.direction === 'vertical' ? 'minHeight' : 'minWidth'] = totalSize + 'px';
this.$nextTick(function () {
// In SSR mode, render the real number of visible items
_this.$_prerender = false;
@@ -338,13 +339,12 @@ var script = {
var fake = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var unusedViews = this.$_unusedViews;
var type = view.nr.type;
- var unusedPool = unusedViews.get(type);
- if (!unusedPool) {
- unusedPool = [];
- unusedViews.set(type, unusedPool);
+ if (!unusedViews.get(type)) {
+ unusedViews.set(type, []);
}
+ var unusedPool = unusedViews.get(type);
unusedPool.push(view);
if (!fake) {
@@ -360,28 +360,26 @@ var script = {
handleScroll: function handleScroll(event) {
var _this2 = this;
- if (!this.$_scrollDirty) {
- this.$_scrollDirty = true;
- requestAnimationFrame(function () {
- _this2.$_scrollDirty = false;
+ cancelAnimationFrame(this.$_scrollAnimationRequest);
+ this.$_scrollAnimationRequest = requestAnimationFrame(function () {
+ _this2.$_scrollAnimationRequest = false;
- var _this2$updateVisibleI = _this2.updateVisibleItems(false, true),
- continuous = _this2$updateVisibleI.continuous; // It seems sometimes chrome doesn't fire scroll event :/
- // When non continous scrolling is ending, we force a refresh
+ var _this2$updateVisibleI = _this2.updateVisibleItems(false, true),
+ continuous = _this2$updateVisibleI.continuous; // It seems sometimes chrome doesn't fire scroll event :/
+ // When non continous scrolling is ending, we force a refresh
- if (!continuous) {
- clearTimeout(_this2.$_refreshTimout);
- _this2.$_refreshTimout = setTimeout(_this2.handleScroll, 100);
- }
- });
- }
+ if (!continuous) {
+ clearTimeout(_this2.$_refreshTimout);
+ _this2.$_refreshTimout = setTimeout(_this2.handleScroll, 100);
+ }
+ });
},
handleVisibilityChange: function handleVisibilityChange(isVisible, entry) {
var _this3 = this;
if (this.ready) {
- if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {
+ if (isVisible) {
this.$emit('visible');
requestAnimationFrame(function () {
_this3.updateVisibleItems(false);
@@ -391,6 +389,87 @@ var script = {
}
}
},
+ startEndIndex: function startEndIndex(scroll) {
+ var itemSize = this.itemSize;
+ var items = this.items;
+ var count = items.length;
+ var sizes = this.sizes;
+
+ if (!count) {
+ return {
+ startIndex: 0,
+ endIndex: 0,
+ totalSize: 0
+ };
+ }
+
+ if (this.$_prerender) {
+ return {
+ startIndex: 0,
+ endIndex: this.prerender,
+ totalSize: null
+ };
+ }
+
+ this.$_lastUpdateScrollPosition = scroll.originalStart;
+ var buffer = this.buffer;
+ scroll.start -= buffer;
+ scroll.end += buffer; // Variable size mode
+
+ if (itemSize === null) {
+ var h;
+ var a = 0;
+ var b = count - 1;
+ var i = ~~(count / 2);
+ var oldI; // Searching for startIndex
+
+ do {
+ oldI = i;
+ h = sizes[i].accumulator;
+
+ if (h < scroll.start) {
+ a = i;
+ } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
+ b = i;
+ }
+
+ i = ~~((a + b) / 2);
+ } while (i !== oldI);
+
+ i < 0 && (i = 0);
+ var _startIndex = i; // For container style
+
+ var _totalSize = sizes[count - 1].accumulator; // Searching for endIndex
+
+ var _endIndex;
+
+ for (_endIndex = i; _endIndex < count && sizes[_endIndex].accumulator < scroll.end; _endIndex++) {
+ if (_endIndex === -1) {
+ _endIndex = items.length - 1;
+ } else {
+ _endIndex++; // Bounds
+
+ _endIndex > count && (_endIndex = count);
+ }
+ }
+
+ return {
+ startIndex: _startIndex,
+ endIndex: _endIndex,
+ totalSize: _totalSize
+ };
+ } // Fixed size mode
+
+
+ var startIndex = Math.max(0, ~~(scroll.start / itemSize));
+ var endIndex = Math.min(count, Math.ceil(scroll.end / itemSize));
+ var totalSize = count * itemSize;
+ return {
+ startIndex: startIndex,
+ endIndex: endIndex,
+ totalSize: totalSize
+ };
+ },
updateVisibleItems: function updateVisibleItems(checkItem) {
var checkPositionDiff = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var itemSize = this.itemSize;
@@ -403,8 +482,6 @@ var script = {
var views = this.$_views;
var unusedViews = this.$_unusedViews;
var pool = this.pool;
- var startIndex, endIndex;
- var totalSize;
var scroll;
if (count && !this.$_prerender) {
@@ -421,63 +498,10 @@ var script = {
}
}
- if (!count) {
- startIndex = endIndex = totalSize = 0;
- } else if (this.$_prerender) {
- startIndex = 0;
- endIndex = this.prerender;
- totalSize = null;
- } else {
- this.$_lastUpdateScrollPosition = scroll.originalStart;
- var buffer = this.buffer;
- scroll.start -= buffer;
- scroll.end += buffer; // Variable size mode
-
- if (itemSize === null) {
- var h;
- var a = 0;
- var b = count - 1;
- var i = ~~(count / 2);
- var oldI; // Searching for startIndex
-
- do {
- oldI = i;
- h = sizes[i].accumulator;
-
- if (h < scroll.start) {
- a = i;
- } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
- b = i;
- }
-
- i = ~~((a + b) / 2);
- } while (i !== oldI);
-
- i < 0 && (i = 0);
- startIndex = i; // For container style
-
- totalSize = sizes[count - 1].accumulator; // Searching for endIndex
-
- for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++) {
- }
-
- if (endIndex === -1) {
- endIndex = items.length - 1;
- } else {
- endIndex++; // Bounds
-
- endIndex > count && (endIndex = count);
- }
- } else {
- // Fixed size mode
- startIndex = ~~(scroll.start / itemSize);
- endIndex = Math.ceil(scroll.end / itemSize); // Bounds
-
- startIndex < 0 && (startIndex = 0);
- endIndex > count && (endIndex = count);
- totalSize = count * itemSize;
- }
- }
+ var _this$startEndIndex2 = this.startEndIndex(scroll),
+ startIndex = _this$startEndIndex2.startIndex,
+ endIndex = _this$startEndIndex2.endIndex,
+ totalSize = _this$startEndIndex2.totalSize;
if (endIndex - startIndex > config.itemsLimit) {
this.itemsLimitError();
@@ -492,16 +516,16 @@ var script = {
views.clear();
unusedViews.clear();
- for (var _i = 0, l = pool.length; _i < l; _i++) {
- view = pool[_i];
+ for (var i = 0, l = pool.length; i < l; i++) {
+ view = pool[i];
this.unuseView(view);
}
}
this.$_continuous = continuous;
} else if (continuous) {
- for (var _i2 = 0, _l = pool.length; _i2 < _l; _i2++) {
- view = pool[_i2];
+ for (var _i = 0, _l = pool.length; _i < _l; _i++) {
+ view = pool[_i];
if (view.nr.used) {
// Update view item index
@@ -523,8 +547,8 @@ var script = {
var item, type, unusedPool;
var v;
- for (var _i3 = startIndex; _i3 < endIndex; _i3++) {
- item = items[_i3];
+ for (var _i2 = startIndex; _i2 < endIndex; _i2++) {
+ item = items[_i2];
var key = keyField ? item[keyField] : item;
if (key == null) {
@@ -533,7 +557,7 @@ var script = {
view = views.get(key);
- if (!itemSize && !sizes[_i3].size) {
+ if (!itemSize && !sizes[_i2].size) {
if (view) this.unuseView(view);
continue;
} // No view assigned to item
@@ -549,11 +573,11 @@ var script = {
view = unusedPool.pop();
view.item = item;
view.nr.used = true;
- view.nr.index = _i3;
+ view.nr.index = _i2;
view.nr.key = key;
view.nr.type = type;
} else {
- view = this.addView(pool, _i3, item, key, type);
+ view = this.addView(pool, _i2, item, key, type);
}
} else {
// Use existing view
@@ -562,7 +586,7 @@ var script = {
v = unusedIndex.get(type) || 0;
if (!unusedPool || v >= unusedPool.length) {
- view = this.addView(pool, _i3, item, key, type);
+ view = this.addView(pool, _i2, item, key, type);
this.unuseView(view, true);
unusedPool = unusedViews.get(type);
}
@@ -570,7 +594,7 @@ var script = {
view = unusedPool[v];
view.item = item;
view.nr.used = true;
- view.nr.index = _i3;
+ view.nr.index = _i2;
view.nr.key = key;
view.nr.type = type;
unusedIndex.set(type, v + 1);
@@ -585,9 +609,9 @@ var script = {
if (itemSize === null) {
- view.position = sizes[_i3 - 1].accumulator;
+ view.position = sizes[_i2 - 1].accumulator;
} else {
- view.position = _i3 * itemSize;
+ view.position = _i2 * itemSize;
}
}
@@ -909,11 +933,8 @@ var __vue_render__ = function() {
[_vm._t("after")],
2
)
- : _vm._e(),
- _vm._v(" "),
- _c("ResizeObserver", { on: { notify: _vm.handleResize } })
- ],
- 1
+ : _vm._e()
+ ]
)
};
var __vue_staticRenderFns__ = [];
@@ -1567,7 +1588,7 @@ function registerComponents(Vue, prefix) {
var plugin = {
// eslint-disable-next-line no-undef
- version: '"1.1.1"',
+ version: "1.2.0",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
diff --git a/dist/vue-virtual-scroller.esm.js.map b/dist/vue-virtual-scroller.esm.js.map
index 2939b91d..d71d9fa7 100644
--- a/dist/vue-virtual-scroller.esm.js.map
+++ b/dist/vue-virtual-scroller.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: 'VERSION',\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":";;;;;AAAA,aAAe;AACbA,EAAAA,UAAU,EAAE;AADC,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAO,IAAMC,KAAK,GAAG;AACnBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,KADD;AAELC,IAAAA,QAAQ,EAAE;AAFL,GADY;AAMnBC,EAAAA,QAAQ,EAAE;AACRH,IAAAA,IAAI,EAAEI,MADE;AAERC,IAAAA,OAAO,EAAE;AAFD,GANS;AAWnBC,EAAAA,SAAS,EAAE;AACTN,IAAAA,IAAI,EAAEI,MADG;AAETC,IAAAA,OAAO,EAAE,UAFA;AAGTE,IAAAA,SAAS,EAAE,mBAACC,KAAD;AAAA,aAAW,CAAC,UAAD,EAAa,YAAb,EAA2BC,QAA3B,CAAoCD,KAApC,CAAX;AAAA;AAHF;AAXQ,CAAd;AAkBA,SAASE,WAAT,GAAwB;AAC7B,SAAO,KAAKX,KAAL,CAAWY,MAAX,IAAqB,QAAO,KAAKZ,KAAL,CAAW,CAAX,CAAP,MAAyB,QAArD;AACD;;ACpBM,IAAIa,eAAe,GAAG,KAAtB;;AAEP,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjCD,EAAAA,eAAe,GAAG,KAAlB;;AACA,MAAI;AACF,QAAIE,IAAI,GAAGC,MAAM,CAACC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC9CC,MAAAA,GAD8C,iBACvC;AACLL,QAAAA,eAAe,GAAG,IAAlB;AACD;AAH6C,KAArC,CAAX;AAKAC,IAAAA,MAAM,CAACK,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCJ,IAAtC;AACD,GAPD,CAOE,OAAOK,CAAP,EAAU;AACb;;ACkDD,WAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;AChEA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,oBAAoB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE;AAC7L,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE;AACzC,QAAQ,iBAAiB,GAAG,cAAc,CAAC;AAC3C,QAAQ,cAAc,GAAG,UAAU,CAAC;AACpC,QAAQ,UAAU,GAAG,KAAK,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;AAC3E;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACrC,QAAQ,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzC,QAAQ,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC3D,QAAQ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACjC;AACA,QAAQ,IAAI,oBAAoB,EAAE;AAClC,YAAY,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AACtC,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,gBAAgB,EAAE;AAC1B;AACA,QAAQ,IAAI,GAAG,UAAU,OAAO,EAAE;AAClC;AACA,YAAY,OAAO;AACnB,gBAAgB,OAAO;AACvB,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3D,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzF;AACA,YAAY,IAAI,CAAC,OAAO,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AACxE,gBAAgB,OAAO,GAAG,mBAAmB,CAAC;AAC9C,aAAa;AACb;AACA,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,aAAa;AACb;AACA,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC1D,gBAAgB,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA,QAAQ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AACpC,KAAK;AACL,SAAS,IAAI,KAAK,EAAE;AACpB,QAAQ,IAAI,GAAG,UAAU;AACzB,cAAc,UAAU,OAAO,EAAE;AACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAChG,aAAa;AACb,cAAc,UAAU,OAAO,EAAE;AACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,aAAa,CAAC;AACd,KAAK;AACL,IAAI,IAAI,IAAI,EAAE;AACd,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;AAChC;AACA,YAAY,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;AAClD,YAAY,OAAO,CAAC,MAAM,GAAG,SAAS,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE;AAC3E,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,gBAAgB,OAAO,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb;AACA,YAAY,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;AAClD,YAAY,OAAO,CAAC,YAAY,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjF,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB;;;ADvEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEiCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;;AAjCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAe,oBAEP;AAAA,iFAAJ,EAAI;AAAA,yBADNC,MACM;AAAA,MADNA,MACM,4BADG,UAAAC,EAAE;AAAA,WAAIA,EAAE,CAACC,IAAH,CAAQC,EAAZ;AAAA,GACL;;AACN,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMH,EAAE,GAAG,IAAII,GAAJ,CAAQ;AACjBC,IAAAA,IADiB,kBACT;AACN,aAAO;AACLF,QAAAA,KAAK,EAALA;AADK,OAAP;AAGD;AALgB,GAAR,CAAX,CAFM;;AAWN,SAAO;AACLE,IAAAA,IADK,kBACG;AACN,aAAO;AACLC,QAAAA,OAAO,EAAE;AADJ,OAAP;AAGD,KALI;AAOLC,IAAAA,OAPK,qBAOM;AAAA;;AACT,WAAKC,IAAL,GAAY,IAAZ;;AACA,UAAI,OAAOT,MAAP,KAAkB,UAAtB,EAAkC;AAChC,aAAKU,OAAL,GAAe;AAAA,iBAAMV,MAAM,CAACW,IAAP,CAAY,KAAZ,EAAkB,KAAlB,CAAN;AAAA,SAAf;AACD,OAFD,MAEO;AACL,aAAKD,OAAL,GAAe;AAAA,iBAAM,KAAI,CAACV,MAAD,CAAV;AAAA,SAAf;AACD;;AACD,WAAKY,MAAL,CAAY,KAAKF,OAAjB,EAA0B;AACxBG,QAAAA,OADwB,mBACfzB,KADe,EACR;AAAA;;AACd,eAAK0B,SAAL,CAAe,YAAM;AACnB,YAAA,MAAI,CAACL,IAAL,GAAYrB,KAAZ;AACD,WAFD;AAGD,SALuB;AAMxB2B,QAAAA,SAAS,EAAE;AANa,OAA1B;AAQA,WAAKC,eAAL;AACD,KAvBI;AAyBLC,IAAAA,YAzBK,0BAyBW;AACd,WAAKD,eAAL;AACD,KA3BI;AA6BLE,IAAAA,OAAO,EAAE;AACP;;;;AAIAC,MAAAA,aALO,yBAKQhB,EALR,EAKY;AACjB,YAAMiB,OAAO,GAAG,KAAKC,QAAL,CAAcd,OAA9B;;AACA,YAAI,OAAOa,OAAP,KAAmB,UAAvB,EAAmC;AACjC,cAAMd,IAAI,GAAGc,OAAO,CAACT,IAAR,CAAa,IAAb,EAAmB,IAAnB,CAAb;AACAV,UAAAA,EAAE,CAACqB,IAAH,CAAQlB,KAAR,EAAeD,EAAf,EAAmBG,IAAnB;AACA,eAAKG,IAAL,GAAYN,EAAZ;AACA,iBAAOG,IAAP;AACD,SALD,MAKO;AACL,gBAAM,IAAIiB,KAAJ,CAAU,qEAAV,CAAN;AACD;AACF,OAfM;;AAiBP;;;AAGAP,MAAAA,eApBO,6BAoBY;AACjB,YAAMb,EAAE,GAAG,KAAKO,OAAL,EAAX;;AACA,YAAIP,EAAE,IAAI,IAAV,EAAgB;AACdqB,UAAAA,OAAO,CAACC,IAAR,iDAAsDzB,MAAtD;AACD;;AACD,YAAIG,EAAE,KAAK,KAAKM,IAAhB,EAAsB;AACpB,cAAI,CAACL,KAAK,CAACD,EAAD,CAAV,EAAgB;AACd,iBAAKgB,aAAL,CAAmBhB,EAAnB;AACD;;AACD,eAAKI,OAAL,GAAeH,KAAK,CAACD,EAAD,CAApB;AACD;AACF;AA/BM;AA7BJ,GAAP;AA+DD;;AChED,SAASuB,kBAAT,CAA6BrB,GAA7B,EAAkCsB,MAAlC,EAA0C;AACxCtB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CE,iBAA3C;AACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CE,iBAA1C;AACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CG,mBAA3C;AACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CG,mBAA1C;AACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,4BAAgDI,mBAAhD;AACA1B,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,0BAA8CI,mBAA9C;AACD;;AAED,IAAMC,MAAM,GAAG;AACb;AACAC,EAAAA,OAAO,EAAE,SAFI;AAGbC,EAAAA,OAHa,mBAGJ7B,GAHI,EAGC8B,OAHD,EAGU;AACrB,QAAMC,YAAY,GAAGzC,MAAM,CAAC0C,MAAP,CAAc,EAAd,EAAkB;AACrCC,MAAAA,iBAAiB,EAAE,IADkB;AAErCC,MAAAA,gBAAgB,EAAE;AAFmB,KAAlB,EAGlBJ,OAHkB,CAArB;;AAKA,SAAK,IAAMK,GAAX,IAAkBJ,YAAlB,EAAgC;AAC9B,UAAI,OAAOA,YAAY,CAACI,GAAD,CAAnB,KAA6B,WAAjC,EAA8C;AAC5CC,QAAAA,MAAM,CAACD,GAAD,CAAN,GAAcJ,YAAY,CAACI,GAAD,CAA1B;AACD;AACF;;AAED,QAAIJ,YAAY,CAACE,iBAAjB,EAAoC;AAClCZ,MAAAA,kBAAkB,CAACrB,GAAD,EAAM+B,YAAY,CAACG,gBAAnB,CAAlB;AACD;AACF;AAlBY,CAAf;;AAwBA,IAAIG,SAAS,GAAG,IAAhB;;AACA,IAAI,OAAOjD,MAAP,KAAkB,WAAtB,EAAmC;AACjCiD,EAAAA,SAAS,GAAGjD,MAAM,CAACY,GAAnB;AACD,CAFD,MAEO,IAAI,OAAOsC,MAAP,KAAkB,WAAtB,EAAmC;AACxCD,EAAAA,SAAS,GAAGC,MAAM,CAACtC,GAAnB;AACD;;AACD,IAAIqC,SAAJ,EAAe;AACbA,EAAAA,SAAS,CAACE,GAAV,CAAcZ,MAAd;AACD;;;;;"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.min.js b/dist/vue-virtual-scroller.min.js
index a091d099..ea448314 100644
--- a/dist/vue-virtual-scroller.min.js
+++ b/dist/vue-virtual-scroller.min.js
@@ -1,2 +1,2 @@
-var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}var c=void 0;function d(){d.init||(d.init=!0,c=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}var u={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!c&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;d(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",c&&this.$el.appendChild(t),t.data="about:blank",c||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var h={version:"0.4.5",install:function(e){e.component("resize-observer",u),e.component("ResizeObserver",u)}},f=null;function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&p(t.prototype,i),n&&p(t,n),e}();function b(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new y(e,n,i);e._vue_visibilityState=r}}function g(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var _={bind:b,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===v(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):b(e,{value:n},i):g(e)}},unbind:g};var S={version:"0.4.6",install:function(e){e.directive("observe-visibility",_)}},$=null;"undefined"!=typeof window?$=window.Vue:"undefined"!=typeof global&&($=global.Vue),$&&$.use(S);var z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var w=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=z,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type,r=i.get(n);r||(r=[],i.set(n,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame((function(){t.$_scrollDirty=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))})))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},updateVisibleItems:function(e){var t,n,r,o,s,l=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.itemSize,c=this.$_computedMinItemSize,d=this.typeField,u=this.simpleArray?null:this.keyField,h=this.items,f=h.length,v=this.sizes,p=this.$_views,m=this.$_unusedViews,y=this.pool;if(f&&!this.$_prerender&&(o=this.getScroll(),l)){var b=Math.abs(o.originalStart-this.$_lastUpdateScrollPosition);if(null===a&&bo.start&&($=z),z=~~((S+$)/2)}while(z!==_);for(z<0&&(z=0),t=z,r=v[f-1].accumulator,n=z;nf&&(n=f)}else(t=~~(o.start/a))<0&&(t=0),(n=Math.ceil(o.end/a))>f&&(n=f),r=f*a}else t=n=r=0;n-t>i.itemsLimit&&this.itemsLimitError(),this.totalSize=r;var w=t<=this.$_endIndex&&n>=this.$_startIndex;if(this.$_continuous!==w){if(w){p.clear(),m.clear();for(var O=0,D=y.length;O=n)&&this.unuseView(s));for(var R,V,T,P,A=w?null:new Map,k=t;k=T.length)&&(s=this.addView(y,k,R,E,V),this.unuseView(s,!0),T=m.get(V)),(s=T[P]).item=R,s.nr.used=!0,s.nr.index=k,s.nr.key=E,s.nr.type=V,A.set(V,P+1),P++),p.set(E,s)),s.position=null===a?v[k-1].accumulator:k*a):s&&this.unuseView(s)}return this.$_startIndex=t,this.$_endIndex=n,this.emitUpdate&&this.$emit("update",t,n),{continuous:w}},getListenerTarget:function(){var e=w(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!x&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=w(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var P=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),r("ResizeObserver",{on:{notify:i.handleResize}})],1)};P._withStripped=!0;const A=V({render:P,staticRenderFns:[]},void 0,T,void 0,!1,void 0,!1,void 0,void 0,void 0);const k={name:"DynamicScroller",components:{RecycleScroller:A},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},O,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:D,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var E=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};E._withStripped=!0;const j=V({render:E,staticRenderFns:[]},void 0,k,void 0,!1,void 0,!1,void 0,void 0,void 0);const U=V({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var M={version:'"1.1.1"',install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),A),e.component("".concat(t,"RecycleScroller"),A),e.component("".concat(t,"dynamic-scroller"),j),e.component("".concat(t,"DynamicScroller"),j),e.component("".concat(t,"dynamic-scroller-item"),U),e.component("".concat(t,"DynamicScrollerItem"),U)}(e,n.componentsPrefix)}},C=null;return"undefined"!=typeof window?C=window.Vue:"undefined"!=typeof global&&(C=global.Vue),C&&C.use(M),e.DynamicScroller=j,e.DynamicScrollerItem=U,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=A,e.default=M,e}({},Vue);
+var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&u(t.prototype,i),n&&u(t,n),e}();function f(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new h(e,n,i);e._vue_visibilityState=r}}function v(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var p={bind:f,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===c(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):f(e,{value:n},i):v(e)}},unbind:v};var m={version:"0.4.6",install:function(e){e.directive("observe-visibility",p)}},y=null;"undefined"!=typeof window?y=window.Vue:"undefined"!=typeof global&&(y=global.Vue),y&&y.use(m);var b="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var g=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=b,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type;i.get(n)||i.set(n,[]);var r=i.get(n);r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;cancelAnimationFrame(this.$_scrollAnimationRequest),this.$_scrollAnimationRequest=requestAnimationFrame((function(){t.$_scrollAnimationRequest=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))}))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},startEndIndex:function(e){var t=this.itemSize,i=this.items,n=i.length,r=this.sizes;if(!n)return{startIndex:0,endIndex:0,totalSize:0};if(this.$_prerender)return{startIndex:0,endIndex:this.prerender,totalSize:null};this.$_lastUpdateScrollPosition=e.originalStart;var o=this.buffer;if(e.start-=o,e.end+=o,null===t){var s,l=0,a=n-1,c=~~(n/2);do{s=c,r[c].accumulatore.start&&(a=c),c=~~((l+a)/2)}while(c!==s);c<0&&(c=0);var u,d=c,h=r[n-1].accumulator;for(u=c;un&&(u=n);return{startIndex:d,endIndex:u,totalSize:h}}return{startIndex:Math.max(0,~~(e.start/t)),endIndex:Math.min(n,Math.ceil(e.end/t)),totalSize:n*t}},updateVisibleItems:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.itemSize,o=this.$_computedMinItemSize,s=this.typeField,l=this.simpleArray?null:this.keyField,a=this.items,c=a.length,u=this.sizes,d=this.$_views,h=this.$_unusedViews,f=this.pool;if(c&&!this.$_prerender&&(t=this.getScroll(),n)){var v=Math.abs(t.originalStart-this.$_lastUpdateScrollPosition);if(null===r&&vi.itemsLimit&&this.itemsLimitError(),this.totalSize=g;var S=y<=this.$_endIndex&&b>=this.$_startIndex;if(this.$_continuous!==S){if(S){d.clear(),h.clear();for(var _=0,$=f.length;_<$;_++)p=f[_],this.unuseView(p)}this.$_continuous=S}else if(S)for(var z=0,w=f.length;z=b)&&this.unuseView(p));for(var I,x,O,D,V=S?null:new Map,R=y;R=O.length)&&(p=this.addView(f,R,I,T,x),this.unuseView(p,!0),O=h.get(x)),(p=O[D]).item=I,p.nr.used=!0,p.nr.index=R,p.nr.key=T,p.nr.type=x,V.set(x,D+1),D++),d.set(T,p)),p.position=null===r?u[R-1].accumulator:R*r):p&&this.unuseView(p)}return this.$_startIndex=y,this.$_endIndex=b,this.emitUpdate&&this.$emit("update",y,b),{continuous:S}},getListenerTarget:function(){var e=g(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!$&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=g(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var O=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e()])};O._withStripped=!0;const D=I({render:O,staticRenderFns:[]},void 0,x,void 0,!1,void 0,!1,void 0,void 0,void 0);const V={name:"DynamicScroller",components:{RecycleScroller:D},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},S,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:_,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var R=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};R._withStripped=!0;const T=I({render:R,staticRenderFns:[]},void 0,V,void 0,!1,void 0,!1,void 0,void 0,void 0);const P=I({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var A={version:"1.2.0",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),D),e.component("".concat(t,"RecycleScroller"),D),e.component("".concat(t,"dynamic-scroller"),T),e.component("".concat(t,"DynamicScroller"),T),e.component("".concat(t,"dynamic-scroller-item"),P),e.component("".concat(t,"DynamicScrollerItem"),P)}(e,n.componentsPrefix)}},k=null;return"undefined"!=typeof window?k=window.Vue:"undefined"!=typeof global&&(k=global.Vue),k&&k.use(A),e.DynamicScroller=T,e.DynamicScrollerItem=P,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=D,e.default=A,e}({},Vue);
//# sourceMappingURL=vue-virtual-scroller.min.js.map
diff --git a/dist/vue-virtual-scroller.min.js.map b/dist/vue-virtual-scroller.min.js.map
index 896e6dbd..615a54c7 100644
--- a/dist/vue-virtual-scroller.min.js.map
+++ b/dist/vue-virtual-scroller.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: 'VERSION',\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","isIE","initCompat","init","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","this","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","addEventListener","removeResizeHandlers","onload","removeEventListener","mounted","_this","$nextTick","object","document","createElement","setAttribute","type","appendChild","data","beforeDestroy","plugin","version","install","Vue","component","GlobalVue","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","global","use","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","observer","frozen","createObserver","protoProps","staticProps","value","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","directive","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","scrollingElement","documentElement","module","exports","Scrollparent","items","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","finalOptions","assign","installComponents","componentsPrefix","config","prefix","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","staticProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","plugin","version","install","Vue","directive","GlobalVue","window","global","use","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","document","scrollingElement","documentElement","module","exports","Scrollparent","items","type","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","addEventListener","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","data","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.umd.js b/dist/vue-virtual-scroller.umd.js
index 796d0c52..e41ff127 100644
--- a/dist/vue-virtual-scroller.umd.js
+++ b/dist/vue-virtual-scroller.umd.js
@@ -147,119 +147,6 @@
};
}
- function getInternetExplorerVersion() {
- var ua = window.navigator.userAgent;
-
- var msie = ua.indexOf('MSIE ');
- if (msie > 0) {
- // IE 10 or older => return version number
- return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
- }
-
- var trident = ua.indexOf('Trident/');
- if (trident > 0) {
- // IE 11 => return version number
- var rv = ua.indexOf('rv:');
- return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
- }
-
- var edge = ua.indexOf('Edge/');
- if (edge > 0) {
- // Edge (IE 12+) => return version number
- return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
- }
-
- // other browser
- return -1;
- }
-
- var isIE = void 0;
-
- function initCompat() {
- if (!initCompat.init) {
- initCompat.init = true;
- isIE = getInternetExplorerVersion() !== -1;
- }
- }
-
- var ResizeObserver$1 = { render: function render() {
- var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: "resize-observer", attrs: { "tabindex": "-1" } });
- }, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',
- name: 'resize-observer',
-
- methods: {
- compareAndNotify: function compareAndNotify() {
- if (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {
- this._w = this.$el.offsetWidth;
- this._h = this.$el.offsetHeight;
- this.$emit('notify');
- }
- },
- addResizeHandlers: function addResizeHandlers() {
- this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);
- this.compareAndNotify();
- },
- removeResizeHandlers: function removeResizeHandlers() {
- if (this._resizeObject && this._resizeObject.onload) {
- if (!isIE && this._resizeObject.contentDocument) {
- this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);
- }
- delete this._resizeObject.onload;
- }
- }
- },
-
- mounted: function mounted() {
- var _this = this;
-
- initCompat();
- this.$nextTick(function () {
- _this._w = _this.$el.offsetWidth;
- _this._h = _this.$el.offsetHeight;
- });
- var object = document.createElement('object');
- this._resizeObject = object;
- object.setAttribute('aria-hidden', 'true');
- object.setAttribute('tabindex', -1);
- object.onload = this.addResizeHandlers;
- object.type = 'text/html';
- if (isIE) {
- this.$el.appendChild(object);
- }
- object.data = 'about:blank';
- if (!isIE) {
- this.$el.appendChild(object);
- }
- },
- beforeDestroy: function beforeDestroy() {
- this.removeResizeHandlers();
- }
- };
-
- // Install the components
- function install(Vue) {
- Vue.component('resize-observer', ResizeObserver$1);
- Vue.component('ResizeObserver', ResizeObserver$1);
- }
-
- // Plugin
- var plugin = {
- // eslint-disable-next-line no-undef
- version: "0.4.5",
- install: install
- };
-
- // Auto-install
- var GlobalVue = null;
- if (typeof window !== 'undefined') {
- GlobalVue = window.Vue;
- } else if (typeof global !== 'undefined') {
- GlobalVue = global.Vue;
- }
- if (GlobalVue) {
- GlobalVue.use(plugin);
- }
-
function _typeof$1(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof$1 = function (obj) {
@@ -533,7 +420,7 @@
unbind: unbind
};
- function install$1(Vue) {
+ function install(Vue) {
Vue.directive('observe-visibility', ObserveVisibility);
/* -- Add more components here -- */
}
@@ -542,22 +429,22 @@
/* You shouldn't have to modify the code below */
// Plugin
- var plugin$1 = {
+ var plugin = {
// eslint-disable-next-line no-undef
version: "0.4.6",
- install: install$1
+ install: install
};
- var GlobalVue$1 = null;
+ var GlobalVue = null;
if (typeof window !== 'undefined') {
- GlobalVue$1 = window.Vue;
+ GlobalVue = window.Vue;
} else if (typeof global !== 'undefined') {
- GlobalVue$1 = global.Vue;
+ GlobalVue = global.Vue;
}
- if (GlobalVue$1) {
- GlobalVue$1.use(plugin$1);
+ if (GlobalVue) {
+ GlobalVue.use(plugin);
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -653,9 +540,6 @@
var uid = 0;
var script = {
name: 'RecycleScroller',
- components: {
- ResizeObserver: ResizeObserver$1
- },
directives: {
ObserveVisibility: ObserveVisibility
},
@@ -759,7 +643,7 @@
this.$_endIndex = 0;
this.$_views = new Map();
this.$_unusedViews = new Map();
- this.$_scrollDirty = false;
+ this.$_scrollAnimationRequest = null;
this.$_lastUpdateScrollPosition = 0; // In SSR mode, we also prerender the same number of item for the first render
// to avoir mismatch between server and client templates
@@ -772,6 +656,11 @@
var _this = this;
this.applyPageMode();
+
+ var _this$startEndIndex = this.startEndIndex(this.getScroll()),
+ totalSize = _this$startEndIndex.totalSize;
+
+ this.$refs.wrapper.style[this.direction === 'vertical' ? 'minHeight' : 'minWidth'] = totalSize + 'px';
this.$nextTick(function () {
// In SSR mode, render the real number of visible items
_this.$_prerender = false;
@@ -808,13 +697,12 @@
var fake = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var unusedViews = this.$_unusedViews;
var type = view.nr.type;
- var unusedPool = unusedViews.get(type);
- if (!unusedPool) {
- unusedPool = [];
- unusedViews.set(type, unusedPool);
+ if (!unusedViews.get(type)) {
+ unusedViews.set(type, []);
}
+ var unusedPool = unusedViews.get(type);
unusedPool.push(view);
if (!fake) {
@@ -830,28 +718,26 @@
handleScroll: function handleScroll(event) {
var _this2 = this;
- if (!this.$_scrollDirty) {
- this.$_scrollDirty = true;
- requestAnimationFrame(function () {
- _this2.$_scrollDirty = false;
+ cancelAnimationFrame(this.$_scrollAnimationRequest);
+ this.$_scrollAnimationRequest = requestAnimationFrame(function () {
+ _this2.$_scrollAnimationRequest = false;
- var _this2$updateVisibleI = _this2.updateVisibleItems(false, true),
- continuous = _this2$updateVisibleI.continuous; // It seems sometimes chrome doesn't fire scroll event :/
- // When non continous scrolling is ending, we force a refresh
+ var _this2$updateVisibleI = _this2.updateVisibleItems(false, true),
+ continuous = _this2$updateVisibleI.continuous; // It seems sometimes chrome doesn't fire scroll event :/
+ // When non continous scrolling is ending, we force a refresh
- if (!continuous) {
- clearTimeout(_this2.$_refreshTimout);
- _this2.$_refreshTimout = setTimeout(_this2.handleScroll, 100);
- }
- });
- }
+ if (!continuous) {
+ clearTimeout(_this2.$_refreshTimout);
+ _this2.$_refreshTimout = setTimeout(_this2.handleScroll, 100);
+ }
+ });
},
handleVisibilityChange: function handleVisibilityChange(isVisible, entry) {
var _this3 = this;
if (this.ready) {
- if (isVisible || entry.boundingClientRect.width !== 0 || entry.boundingClientRect.height !== 0) {
+ if (isVisible) {
this.$emit('visible');
requestAnimationFrame(function () {
_this3.updateVisibleItems(false);
@@ -861,6 +747,87 @@
}
}
},
+ startEndIndex: function startEndIndex(scroll) {
+ var itemSize = this.itemSize;
+ var items = this.items;
+ var count = items.length;
+ var sizes = this.sizes;
+
+ if (!count) {
+ return {
+ startIndex: 0,
+ endIndex: 0,
+ totalSize: 0
+ };
+ }
+
+ if (this.$_prerender) {
+ return {
+ startIndex: 0,
+ endIndex: this.prerender,
+ totalSize: null
+ };
+ }
+
+ this.$_lastUpdateScrollPosition = scroll.originalStart;
+ var buffer = this.buffer;
+ scroll.start -= buffer;
+ scroll.end += buffer; // Variable size mode
+
+ if (itemSize === null) {
+ var h;
+ var a = 0;
+ var b = count - 1;
+ var i = ~~(count / 2);
+ var oldI; // Searching for startIndex
+
+ do {
+ oldI = i;
+ h = sizes[i].accumulator;
+
+ if (h < scroll.start) {
+ a = i;
+ } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
+ b = i;
+ }
+
+ i = ~~((a + b) / 2);
+ } while (i !== oldI);
+
+ i < 0 && (i = 0);
+ var _startIndex = i; // For container style
+
+ var _totalSize = sizes[count - 1].accumulator; // Searching for endIndex
+
+ var _endIndex;
+
+ for (_endIndex = i; _endIndex < count && sizes[_endIndex].accumulator < scroll.end; _endIndex++) {
+ if (_endIndex === -1) {
+ _endIndex = items.length - 1;
+ } else {
+ _endIndex++; // Bounds
+
+ _endIndex > count && (_endIndex = count);
+ }
+ }
+
+ return {
+ startIndex: _startIndex,
+ endIndex: _endIndex,
+ totalSize: _totalSize
+ };
+ } // Fixed size mode
+
+
+ var startIndex = Math.max(0, ~~(scroll.start / itemSize));
+ var endIndex = Math.min(count, Math.ceil(scroll.end / itemSize));
+ var totalSize = count * itemSize;
+ return {
+ startIndex: startIndex,
+ endIndex: endIndex,
+ totalSize: totalSize
+ };
+ },
updateVisibleItems: function updateVisibleItems(checkItem) {
var checkPositionDiff = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var itemSize = this.itemSize;
@@ -873,8 +840,6 @@
var views = this.$_views;
var unusedViews = this.$_unusedViews;
var pool = this.pool;
- var startIndex, endIndex;
- var totalSize;
var scroll;
if (count && !this.$_prerender) {
@@ -891,63 +856,10 @@
}
}
- if (!count) {
- startIndex = endIndex = totalSize = 0;
- } else if (this.$_prerender) {
- startIndex = 0;
- endIndex = this.prerender;
- totalSize = null;
- } else {
- this.$_lastUpdateScrollPosition = scroll.originalStart;
- var buffer = this.buffer;
- scroll.start -= buffer;
- scroll.end += buffer; // Variable size mode
-
- if (itemSize === null) {
- var h;
- var a = 0;
- var b = count - 1;
- var i = ~~(count / 2);
- var oldI; // Searching for startIndex
-
- do {
- oldI = i;
- h = sizes[i].accumulator;
-
- if (h < scroll.start) {
- a = i;
- } else if (i < count - 1 && sizes[i + 1].accumulator > scroll.start) {
- b = i;
- }
-
- i = ~~((a + b) / 2);
- } while (i !== oldI);
-
- i < 0 && (i = 0);
- startIndex = i; // For container style
-
- totalSize = sizes[count - 1].accumulator; // Searching for endIndex
-
- for (endIndex = i; endIndex < count && sizes[endIndex].accumulator < scroll.end; endIndex++) {
- }
-
- if (endIndex === -1) {
- endIndex = items.length - 1;
- } else {
- endIndex++; // Bounds
-
- endIndex > count && (endIndex = count);
- }
- } else {
- // Fixed size mode
- startIndex = ~~(scroll.start / itemSize);
- endIndex = Math.ceil(scroll.end / itemSize); // Bounds
-
- startIndex < 0 && (startIndex = 0);
- endIndex > count && (endIndex = count);
- totalSize = count * itemSize;
- }
- }
+ var _this$startEndIndex2 = this.startEndIndex(scroll),
+ startIndex = _this$startEndIndex2.startIndex,
+ endIndex = _this$startEndIndex2.endIndex,
+ totalSize = _this$startEndIndex2.totalSize;
if (endIndex - startIndex > config.itemsLimit) {
this.itemsLimitError();
@@ -962,16 +874,16 @@
views.clear();
unusedViews.clear();
- for (var _i = 0, l = pool.length; _i < l; _i++) {
- view = pool[_i];
+ for (var i = 0, l = pool.length; i < l; i++) {
+ view = pool[i];
this.unuseView(view);
}
}
this.$_continuous = continuous;
} else if (continuous) {
- for (var _i2 = 0, _l = pool.length; _i2 < _l; _i2++) {
- view = pool[_i2];
+ for (var _i = 0, _l = pool.length; _i < _l; _i++) {
+ view = pool[_i];
if (view.nr.used) {
// Update view item index
@@ -993,8 +905,8 @@
var item, type, unusedPool;
var v;
- for (var _i3 = startIndex; _i3 < endIndex; _i3++) {
- item = items[_i3];
+ for (var _i2 = startIndex; _i2 < endIndex; _i2++) {
+ item = items[_i2];
var key = keyField ? item[keyField] : item;
if (key == null) {
@@ -1003,7 +915,7 @@
view = views.get(key);
- if (!itemSize && !sizes[_i3].size) {
+ if (!itemSize && !sizes[_i2].size) {
if (view) this.unuseView(view);
continue;
} // No view assigned to item
@@ -1019,11 +931,11 @@
view = unusedPool.pop();
view.item = item;
view.nr.used = true;
- view.nr.index = _i3;
+ view.nr.index = _i2;
view.nr.key = key;
view.nr.type = type;
} else {
- view = this.addView(pool, _i3, item, key, type);
+ view = this.addView(pool, _i2, item, key, type);
}
} else {
// Use existing view
@@ -1032,7 +944,7 @@
v = unusedIndex.get(type) || 0;
if (!unusedPool || v >= unusedPool.length) {
- view = this.addView(pool, _i3, item, key, type);
+ view = this.addView(pool, _i2, item, key, type);
this.unuseView(view, true);
unusedPool = unusedViews.get(type);
}
@@ -1040,7 +952,7 @@
view = unusedPool[v];
view.item = item;
view.nr.used = true;
- view.nr.index = _i3;
+ view.nr.index = _i2;
view.nr.key = key;
view.nr.type = type;
unusedIndex.set(type, v + 1);
@@ -1055,9 +967,9 @@
if (itemSize === null) {
- view.position = sizes[_i3 - 1].accumulator;
+ view.position = sizes[_i2 - 1].accumulator;
} else {
- view.position = _i3 * itemSize;
+ view.position = _i2 * itemSize;
}
}
@@ -1379,11 +1291,8 @@
[_vm._t("after")],
2
)
- : _vm._e(),
- _vm._v(" "),
- _c("ResizeObserver", { on: { notify: _vm.handleResize } })
- ],
- 1
+ : _vm._e()
+ ]
)
};
var __vue_staticRenderFns__ = [];
@@ -2035,9 +1944,9 @@
Vue.component("".concat(prefix, "DynamicScrollerItem"), __vue_component__$2);
}
- var plugin$2 = {
+ var plugin$1 = {
// eslint-disable-next-line no-undef
- version: '"1.1.1"',
+ version: "1.2.0",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
@@ -2056,23 +1965,23 @@
}
};
- var GlobalVue$2 = null;
+ var GlobalVue$1 = null;
if (typeof window !== 'undefined') {
- GlobalVue$2 = window.Vue;
+ GlobalVue$1 = window.Vue;
} else if (typeof global !== 'undefined') {
- GlobalVue$2 = global.Vue;
+ GlobalVue$1 = global.Vue;
}
- if (GlobalVue$2) {
- GlobalVue$2.use(plugin$2);
+ if (GlobalVue$1) {
+ GlobalVue$1.use(plugin$1);
}
exports.DynamicScroller = __vue_component__$1;
exports.DynamicScrollerItem = __vue_component__$2;
exports.IdState = IdState;
exports.RecycleScroller = __vue_component__;
- exports.default = plugin$2;
+ exports.default = plugin$1;
Object.defineProperty(exports, '__esModule', { value: true });
diff --git a/dist/vue-virtual-scroller.umd.js.map b/dist/vue-virtual-scroller.umd.js.map
index 2374d03e..62df407b 100644
--- a/dist/vue-virtual-scroller.umd.js.map
+++ b/dist/vue-virtual-scroller.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: 'VERSION',\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","ResizeObserver","_typeof","install","plugin","GlobalVue","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","version","options","finalOptions","assign","installComponents","componentsPrefix","key","config","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","_typeof","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/package.json b/package.json
index 0d5a87d2..c6a9916d 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
- "version": "1.1.1",
+ "version": "1.2.0",
"author": {
"name": "Guillaume Chau",
"email": "guillaume.b.chau@gmail.com"
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 94050d33..0cd598e8 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -51,7 +51,6 @@
\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":";;;;AAAA,aAAe;AACbA,EAAAA,UAAU,EAAE;AADC,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAO,IAAMC,KAAK,GAAG;AACnBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,KADD;AAELC,IAAAA,QAAQ,EAAE;AAFL,GADY;AAMnBC,EAAAA,QAAQ,EAAE;AACRH,IAAAA,IAAI,EAAEI,MADE;AAERC,IAAAA,OAAO,EAAE;AAFD,GANS;AAWnBC,EAAAA,SAAS,EAAE;AACTN,IAAAA,IAAI,EAAEI,MADG;AAETC,IAAAA,OAAO,EAAE,UAFA;AAGTE,IAAAA,SAAS,EAAE,mBAACC,KAAD;AAAA,aAAW,CAAC,UAAD,EAAa,YAAb,EAA2BC,QAA3B,CAAoCD,KAApC,CAAX;AAAA;AAHF;AAXQ,CAAd;AAkBA,SAASE,WAAT,GAAwB;AAC7B,SAAO,KAAKX,KAAL,CAAWY,MAAX,IAAqB,QAAO,KAAKZ,KAAL,CAAW,CAAX,CAAP,MAAyB,QAArD;AACD;;ACpBM,IAAIa,eAAe,GAAG,KAAtB;;AAEP,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjCD,EAAAA,eAAe,GAAG,KAAlB;;AACA,MAAI;AACF,QAAIE,IAAI,GAAGC,MAAM,CAACC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC9CC,MAAAA,GAD8C,iBACvC;AACLL,QAAAA,eAAe,GAAG,IAAlB;AACD;AAH6C,KAArC,CAAX;AAKAC,IAAAA,MAAM,CAACK,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCJ,IAAtC;AACD,GAPD,CAOE,OAAOK,CAAP,EAAU;AACb;;AC+CD,WAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;AC7DA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,oBAAoB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE;AAC7L,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE;AACzC,QAAQ,iBAAiB,GAAG,cAAc,CAAC;AAC3C,QAAQ,cAAc,GAAG,UAAU,CAAC;AACpC,QAAQ,UAAU,GAAG,KAAK,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;AAC3E;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACrC,QAAQ,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzC,QAAQ,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC3D,QAAQ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACjC;AACA,QAAQ,IAAI,oBAAoB,EAAE;AAClC,YAAY,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AACtC,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,gBAAgB,EAAE;AAC1B;AACA,QAAQ,IAAI,GAAG,UAAU,OAAO,EAAE;AAClC;AACA,YAAY,OAAO;AACnB,gBAAgB,OAAO;AACvB,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3D,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzF;AACA,YAAY,IAAI,CAAC,OAAO,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AACxE,gBAAgB,OAAO,GAAG,mBAAmB,CAAC;AAC9C,aAAa;AACb;AACA,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,aAAa;AACb;AACA,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC1D,gBAAgB,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA,QAAQ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AACpC,KAAK;AACL,SAAS,IAAI,KAAK,EAAE;AACpB,QAAQ,IAAI,GAAG,UAAU;AACzB,cAAc,UAAU,OAAO,EAAE;AACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAChG,aAAa;AACb,cAAc,UAAU,OAAO,EAAE;AACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,aAAa,CAAC;AACd,KAAK;AACL,IAAI,IAAI,IAAI,EAAE;AACd,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;AAChC;AACA,YAAY,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;AAClD,YAAY,OAAO,CAAC,MAAM,GAAG,SAAS,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE;AAC3E,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,gBAAgB,OAAO,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb;AACA,YAAY,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;AAClD,YAAY,OAAO,CAAC,YAAY,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjF,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB;;;ADvEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEiCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;;AAjCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAe,oBAEP;AAAA,iFAAJ,EAAI;AAAA,yBADNC,MACM;AAAA,MADNA,MACM,4BADG,UAAAC,EAAE;AAAA,WAAIA,EAAE,CAACC,IAAH,CAAQC,EAAZ;AAAA,GACL;;AACN,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMH,EAAE,GAAG,IAAII,GAAJ,CAAQ;AACjBC,IAAAA,IADiB,kBACT;AACN,aAAO;AACLF,QAAAA,KAAK,EAALA;AADK,OAAP;AAGD;AALgB,GAAR,CAAX,CAFM;;AAWN,SAAO;AACLE,IAAAA,IADK,kBACG;AACN,aAAO;AACLC,QAAAA,OAAO,EAAE;AADJ,OAAP;AAGD,KALI;AAOLC,IAAAA,OAPK,qBAOM;AAAA;;AACT,WAAKC,IAAL,GAAY,IAAZ;;AACA,UAAI,OAAOT,MAAP,KAAkB,UAAtB,EAAkC;AAChC,aAAKU,OAAL,GAAe;AAAA,iBAAMV,MAAM,CAACW,IAAP,CAAY,KAAZ,EAAkB,KAAlB,CAAN;AAAA,SAAf;AACD,OAFD,MAEO;AACL,aAAKD,OAAL,GAAe;AAAA,iBAAM,KAAI,CAACV,MAAD,CAAV;AAAA,SAAf;AACD;;AACD,WAAKY,MAAL,CAAY,KAAKF,OAAjB,EAA0B;AACxBG,QAAAA,OADwB,mBACfzB,KADe,EACR;AAAA;;AACd,eAAK0B,SAAL,CAAe,YAAM;AACnB,YAAA,MAAI,CAACL,IAAL,GAAYrB,KAAZ;AACD,WAFD;AAGD,SALuB;AAMxB2B,QAAAA,SAAS,EAAE;AANa,OAA1B;AAQA,WAAKC,eAAL;AACD,KAvBI;AAyBLC,IAAAA,YAzBK,0BAyBW;AACd,WAAKD,eAAL;AACD,KA3BI;AA6BLE,IAAAA,OAAO,EAAE;AACP;;;;AAIAC,MAAAA,aALO,yBAKQhB,EALR,EAKY;AACjB,YAAMiB,OAAO,GAAG,KAAKC,QAAL,CAAcd,OAA9B;;AACA,YAAI,OAAOa,OAAP,KAAmB,UAAvB,EAAmC;AACjC,cAAMd,IAAI,GAAGc,OAAO,CAACT,IAAR,CAAa,IAAb,EAAmB,IAAnB,CAAb;AACAV,UAAAA,EAAE,CAACqB,IAAH,CAAQlB,KAAR,EAAeD,EAAf,EAAmBG,IAAnB;AACA,eAAKG,IAAL,GAAYN,EAAZ;AACA,iBAAOG,IAAP;AACD,SALD,MAKO;AACL,gBAAM,IAAIiB,KAAJ,CAAU,qEAAV,CAAN;AACD;AACF,OAfM;;AAiBP;;;AAGAP,MAAAA,eApBO,6BAoBY;AACjB,YAAMb,EAAE,GAAG,KAAKO,OAAL,EAAX;;AACA,YAAIP,EAAE,IAAI,IAAV,EAAgB;AACdqB,UAAAA,OAAO,CAACC,IAAR,iDAAsDzB,MAAtD;AACD;;AACD,YAAIG,EAAE,KAAK,KAAKM,IAAhB,EAAsB;AACpB,cAAI,CAACL,KAAK,CAACD,EAAD,CAAV,EAAgB;AACd,iBAAKgB,aAAL,CAAmBhB,EAAnB;AACD;;AACD,eAAKI,OAAL,GAAeH,KAAK,CAACD,EAAD,CAApB;AACD;AACF;AA/BM;AA7BJ,GAAP;AA+DD;;AChED,SAASuB,kBAAT,CAA6BrB,GAA7B,EAAkCsB,MAAlC,EAA0C;AACxCtB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CE,iBAA3C;AACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CE,iBAA1C;AACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CG,mBAA3C;AACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CG,mBAA1C;AACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,4BAAgDI,mBAAhD;AACA1B,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,0BAA8CI,mBAA9C;AACD;;AAED,IAAMC,MAAM,GAAG;AACb;AACAC,EAAAA,OAAO,EAAEC,OAFI;AAGbC,EAAAA,OAHa,mBAGJ9B,GAHI,EAGC+B,OAHD,EAGU;AACrB,QAAMC,YAAY,GAAG1C,MAAM,CAAC2C,MAAP,CAAc,EAAd,EAAkB;AACrCC,MAAAA,iBAAiB,EAAE,IADkB;AAErCC,MAAAA,gBAAgB,EAAE;AAFmB,KAAlB,EAGlBJ,OAHkB,CAArB;;AAKA,SAAK,IAAMK,GAAX,IAAkBJ,YAAlB,EAAgC;AAC9B,UAAI,OAAOA,YAAY,CAACI,GAAD,CAAnB,KAA6B,WAAjC,EAA8C;AAC5CC,QAAAA,MAAM,CAACD,GAAD,CAAN,GAAcJ,YAAY,CAACI,GAAD,CAA1B;AACD;AACF;;AAED,QAAIJ,YAAY,CAACE,iBAAjB,EAAoC;AAClCb,MAAAA,kBAAkB,CAACrB,GAAD,EAAMgC,YAAY,CAACG,gBAAnB,CAAlB;AACD;AACF;AAlBY,CAAf;;AAwBA,IAAIG,SAAS,GAAG,IAAhB;;AACA,IAAI,OAAOlD,MAAP,KAAkB,WAAtB,EAAmC;AACjCkD,EAAAA,SAAS,GAAGlD,MAAM,CAACY,GAAnB;AACD,CAFD,MAEO,IAAI,OAAOuC,MAAP,KAAkB,WAAtB,EAAmC;AACxCD,EAAAA,SAAS,GAAGC,MAAM,CAACvC,GAAnB;AACD;;AACD,IAAIsC,SAAJ,EAAe;AACbA,EAAAA,SAAS,CAACE,GAAV,CAAcb,MAAd;AACD;;;;;"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.min.js b/dist/vue-virtual-scroller.min.js
index ea448314..fac75464 100644
--- a/dist/vue-virtual-scroller.min.js
+++ b/dist/vue-virtual-scroller.min.js
@@ -1,2 +1,2 @@
-var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&u(t.prototype,i),n&&u(t,n),e}();function f(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new h(e,n,i);e._vue_visibilityState=r}}function v(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var p={bind:f,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===c(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):f(e,{value:n},i):v(e)}},unbind:v};var m={version:"0.4.6",install:function(e){e.directive("observe-visibility",p)}},y=null;"undefined"!=typeof window?y=window.Vue:"undefined"!=typeof global&&(y=global.Vue),y&&y.use(m);var b="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var g=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=b,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type;i.get(n)||i.set(n,[]);var r=i.get(n);r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;cancelAnimationFrame(this.$_scrollAnimationRequest),this.$_scrollAnimationRequest=requestAnimationFrame((function(){t.$_scrollAnimationRequest=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))}))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},startEndIndex:function(e){var t=this.itemSize,i=this.items,n=i.length,r=this.sizes;if(!n)return{startIndex:0,endIndex:0,totalSize:0};if(this.$_prerender)return{startIndex:0,endIndex:this.prerender,totalSize:null};this.$_lastUpdateScrollPosition=e.originalStart;var o=this.buffer;if(e.start-=o,e.end+=o,null===t){var s,l=0,a=n-1,c=~~(n/2);do{s=c,r[c].accumulatore.start&&(a=c),c=~~((l+a)/2)}while(c!==s);c<0&&(c=0);var u,d=c,h=r[n-1].accumulator;for(u=c;un&&(u=n);return{startIndex:d,endIndex:u,totalSize:h}}return{startIndex:Math.max(0,~~(e.start/t)),endIndex:Math.min(n,Math.ceil(e.end/t)),totalSize:n*t}},updateVisibleItems:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.itemSize,o=this.$_computedMinItemSize,s=this.typeField,l=this.simpleArray?null:this.keyField,a=this.items,c=a.length,u=this.sizes,d=this.$_views,h=this.$_unusedViews,f=this.pool;if(c&&!this.$_prerender&&(t=this.getScroll(),n)){var v=Math.abs(t.originalStart-this.$_lastUpdateScrollPosition);if(null===r&&vi.itemsLimit&&this.itemsLimitError(),this.totalSize=g;var S=y<=this.$_endIndex&&b>=this.$_startIndex;if(this.$_continuous!==S){if(S){d.clear(),h.clear();for(var _=0,$=f.length;_<$;_++)p=f[_],this.unuseView(p)}this.$_continuous=S}else if(S)for(var z=0,w=f.length;z=b)&&this.unuseView(p));for(var I,x,O,D,V=S?null:new Map,R=y;R=O.length)&&(p=this.addView(f,R,I,T,x),this.unuseView(p,!0),O=h.get(x)),(p=O[D]).item=I,p.nr.used=!0,p.nr.index=R,p.nr.key=T,p.nr.type=x,V.set(x,D+1),D++),d.set(T,p)),p.position=null===r?u[R-1].accumulator:R*r):p&&this.unuseView(p)}return this.$_startIndex=y,this.$_endIndex=b,this.emitUpdate&&this.$emit("update",y,b),{continuous:S}},getListenerTarget:function(){var e=g(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!$&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=g(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var O=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)"}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e()])};O._withStripped=!0;const D=I({render:O,staticRenderFns:[]},void 0,x,void 0,!1,void 0,!1,void 0,void 0,void 0);const V={name:"DynamicScroller",components:{RecycleScroller:D},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},S,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:_,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var R=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};R._withStripped=!0;const T=I({render:R,staticRenderFns:[]},void 0,V,void 0,!1,void 0,!1,void 0,void 0,void 0);const P=I({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var A={version:"1.2.0",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),D),e.component("".concat(t,"RecycleScroller"),D),e.component("".concat(t,"dynamic-scroller"),T),e.component("".concat(t,"DynamicScroller"),T),e.component("".concat(t,"dynamic-scroller-item"),P),e.component("".concat(t,"DynamicScrollerItem"),P)}(e,n.componentsPrefix)}},k=null;return"undefined"!=typeof window?k=window.Vue:"undefined"!=typeof global&&(k=global.Vue),k&&k.use(A),e.DynamicScroller=T,e.DynamicScrollerItem=P,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=D,e.default=A,e}({},Vue);
+var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&d(t.prototype,i),n&&d(t,n),e}();function f(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new h(e,n,i);e._vue_visibilityState=r}}function v(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var p={bind:f,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===c(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):f(e,{value:n},i):v(e)}},unbind:v};var m={version:"0.4.6",install:function(e){e.directive("observe-visibility",p)}},y=null;"undefined"!=typeof window?y=window.Vue:"undefined"!=typeof global&&(y=global.Vue),y&&y.use(m);var b="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var g=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=b,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type;i.get(n)||i.set(n,[]);var r=i.get(n);r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;cancelAnimationFrame(this.$_scrollAnimationRequest),this.$_scrollAnimationRequest=requestAnimationFrame((function(){t.$_scrollAnimationRequest=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))}))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},startEndIndex:function(e){var t=this.itemSize,i=this.items,n=i.length,r=this.sizes;if(!n)return{startIndex:0,endIndex:0,totalSize:0};if(this.$_prerender)return{startIndex:0,endIndex:this.prerender,totalSize:null};this.$_lastUpdateScrollPosition=e.originalStart;var o=this.buffer;if(e.start-=o,e.end+=o,null===t){var s,l=0,a=n-1,c=~~(n/2);do{s=c,r[c].accumulatore.start&&(a=c),c=~~((l+a)/2)}while(c!==s);c<0&&(c=0);var d,u=c,h=r[n-1].accumulator;for(d=c;dn&&(d=n);return{startIndex:u,endIndex:d,totalSize:h}}return{startIndex:Math.max(0,~~(e.start/t)),endIndex:Math.min(n,Math.ceil(e.end/t)),totalSize:n*t}},updateVisibleItems:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.itemSize,o=this.$_computedMinItemSize,s=this.typeField,l=this.simpleArray?null:this.keyField,a=this.items,c=a.length,d=this.sizes,u=this.$_views,h=this.$_unusedViews,f=this.pool;if(c&&!this.$_prerender&&(t=this.getScroll(),n)){var v=Math.abs(t.originalStart-this.$_lastUpdateScrollPosition);if(null===r&&vi.itemsLimit&&this.itemsLimitError(),this.totalSize=g;var S=y<=this.$_endIndex&&b>=this.$_startIndex;if(this.$_continuous!==S){if(S){u.clear(),h.clear();for(var _=0,$=f.length;_<$;_++)p=f[_],this.unuseView(p)}this.$_continuous=S}else if(S)for(var z=0,w=f.length;z=b)&&this.unuseView(p));for(var I,x,O,D,V=S?null:new Map,R=y;R=O.length)&&(p=this.addView(f,R,I,T,x),this.unuseView(p,!0),O=h.get(x)),(p=O[D]).item=I,p.nr.used=!0,p.nr.index=R,p.nr.key=T,p.nr.type=x,V.set(x,D+1),D++),u.set(T,p)),p.position=null===r?d[R-1].accumulator:R*r):p&&this.unuseView(p)}return this.$_startIndex=y,this.$_endIndex=b,this.emitUpdate&&this.$emit("update",y,b),{continuous:S}},getListenerTarget:function(){var e=g(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!$&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=g(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var O=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)",zIndex:i.pool.length-e.nr.index}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e()])};O._withStripped=!0;const D=I({render:O,staticRenderFns:[]},void 0,x,void 0,!1,void 0,!1,void 0,void 0,void 0);const V={name:"DynamicScroller",components:{RecycleScroller:D},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},S,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:_,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var R=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};R._withStripped=!0;const T=I({render:R,staticRenderFns:[]},void 0,V,void 0,!1,void 0,!1,void 0,void 0,void 0);const P=I({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var A={version:"1.2.1",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),D),e.component("".concat(t,"RecycleScroller"),D),e.component("".concat(t,"dynamic-scroller"),T),e.component("".concat(t,"DynamicScroller"),T),e.component("".concat(t,"dynamic-scroller-item"),P),e.component("".concat(t,"DynamicScrollerItem"),P)}(e,n.componentsPrefix)}},k=null;return"undefined"!=typeof window?k=window.Vue:"undefined"!=typeof global&&(k=global.Vue),k&&k.use(A),e.DynamicScroller=T,e.DynamicScrollerItem=P,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=D,e.default=A,e}({},Vue);
//# sourceMappingURL=vue-virtual-scroller.min.js.map
diff --git a/dist/vue-virtual-scroller.min.js.map b/dist/vue-virtual-scroller.min.js.map
index 615a54c7..abd4dc24 100644
--- a/dist/vue-virtual-scroller.min.js.map
+++ b/dist/vue-virtual-scroller.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","staticProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","plugin","version","install","Vue","directive","GlobalVue","window","global","use","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","document","scrollingElement","documentElement","module","exports","Scrollparent","items","type","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","addEventListener","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","data","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","staticProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","plugin","version","install","Vue","directive","GlobalVue","window","global","use","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","document","scrollingElement","documentElement","module","exports","Scrollparent","items","type","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","addEventListener","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","data","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","$set","Error"],"mappings":"2HAAe,CACbA,WAAY,q3DCDd,SAASC,EAAQC,GAWf,OATED,EADoB,mBAAXE,QAAoD,iBAApBA,OAAOC,SACtC,SAAUF,GAClB,cAAcA,GAGN,SAAUA,GAClB,OAAOA,GAAyB,mBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,IAI9GA,GASjB,SAASK,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAUlD,SAASO,EAAmBC,GAC1B,OAGF,SAA4BA,GAC1B,GAAIC,MAAMC,QAAQF,GAAM,CACtB,IAAK,IAAIV,EAAI,EAAGa,EAAO,IAAIF,MAAMD,EAAIT,QAASD,EAAIU,EAAIT,OAAQD,IAAKa,EAAKb,GAAKU,EAAIV,GAEjF,OAAOa,GAPFC,CAAmBJ,IAW5B,SAA0BK,GACxB,GAAItB,OAAOC,YAAYY,OAAOS,IAAkD,uBAAzCT,OAAOV,UAAUoB,SAASC,KAAKF,GAAgC,OAAOJ,MAAMO,KAAKH,GAZtFI,CAAiBT,IAerD,WACE,MAAM,IAAIU,UAAU,mDAhBuCC,GAwF7D,IAAIC,EAEJ,WACE,SAASA,EAAgBC,EAAIC,EAASC,IAlHxC,SAAyBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIP,UAAU,qCAiHpBQ,CAAgBC,KAAMP,GAEtBO,KAAKN,GAAKA,EACVM,KAAKC,SAAW,KAChBD,KAAKE,QAAS,EACdF,KAAKG,eAAeR,EAASC,GAxGjC,IAAsBE,EAAaM,EAAYC,EAiM7C,OAjMoBP,EA2GPL,GA3GoBW,EA2GH,CAAC,CAC7BzB,IAAK,iBACL2B,MAAO,SAAwBX,EAASC,GACtC,IAAIW,EAAQP,KAMZ,GAJIA,KAAKC,UACPD,KAAKQ,mBAGHR,KAAKE,OAAT,CA1FN,IAAwBI,EAwGlB,GAbAN,KAAKL,QAxFY,mBAHCW,EA2FYX,GAtFtB,CACRc,SAAUH,GAIFA,EAmFRN,KAAKS,SAAW,SAAUC,EAAQC,GAChCJ,EAAMZ,QAAQc,SAASC,EAAQC,GAE3BD,GAAUH,EAAMZ,QAAQiB,OAC1BL,EAAML,QAAS,EAEfK,EAAMC,oBAKNR,KAAKS,UAAYT,KAAKL,QAAQkB,SAAU,CAC1C,IACIC,GADOd,KAAKL,QAAQoB,iBAAmB,IACvBC,QAEpBhB,KAAKS,SA7Fb,SAAkBA,EAAUQ,GAC1B,IACIC,EACAC,EACAC,EAHAzB,EAAU0B,UAAUjD,OAAS,QAAsBkD,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,GAK9EE,EAAY,SAAmBC,GACjC,IAAK,IAAIC,EAAOJ,UAAUjD,OAAQsD,EAAO,IAAI5C,MAAM2C,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAKN,UAAUM,GAI7B,GADAP,EAAcM,GACVR,GAAWM,IAAUL,EAAzB,CACA,IAAIH,EAAUrB,EAAQqB,QAEC,mBAAZA,IACTA,EAAUA,EAAQQ,EAAOL,IAGrBD,GAAWM,IAAUL,IAAcH,GACvCP,EAASmB,WAAM,EAAQ,CAACJ,GAAOK,OAAOjD,EAAmBwC,KAG3DD,EAAYK,EACZM,aAAaZ,GACbA,EAAUa,YAAW,WACnBtB,EAASmB,WAAM,EAAQ,CAACJ,GAAOK,OAAOjD,EAAmBwC,KACzDF,EAAU,IACTD,KAQL,OALAM,EAAUS,OAAS,WACjBF,aAAaZ,GACbA,EAAU,MAGLK,EAyDeV,CAASb,KAAKS,SAAUT,KAAKL,QAAQkB,SAAU,CAC7DG,QAAS,SAAiBQ,GACxB,MAAoB,SAAbV,GAAoC,YAAbA,GAA0BU,GAAsB,WAAbV,IAA0BU,KAKjGxB,KAAKiC,eAAYX,EACjBtB,KAAKC,SAAW,IAAIiC,sBAAqB,SAAUC,GACjD,IAAIxB,EAAQwB,EAAQ,GAEpB,GAAIA,EAAQ/D,OAAS,EAAG,CACtB,IAAIgE,EAAoBD,EAAQE,MAAK,SAAUC,GAC7C,OAAOA,EAAEC,kBAGPH,IACFzB,EAAQyB,GAIZ,GAAI7B,EAAME,SAAU,CAElB,IAAIC,EAASC,EAAM4B,gBAAkB5B,EAAM6B,mBAAqBjC,EAAMkC,UACtE,GAAI/B,IAAWH,EAAM0B,UAAW,OAChC1B,EAAM0B,UAAYvB,EAElBH,EAAME,SAASC,EAAQC,MAExBX,KAAKL,QAAQ+C,cAEhB9C,EAAM+C,QAAQC,WAAU,WAClBrC,EAAMN,UACRM,EAAMN,SAAS4C,QAAQtC,EAAMb,UAIlC,CACDf,IAAK,kBACL2B,MAAO,WACDN,KAAKC,WACPD,KAAKC,SAAS6C,aACd9C,KAAKC,SAAW,MAIdD,KAAKS,UAAYT,KAAKS,SAASuB,SACjChC,KAAKS,SAASuB,SAEdhC,KAAKS,SAAW,QAGnB,CACD9B,IAAK,YACLoE,IAAK,WACH,OAAO/C,KAAKL,QAAQ+C,cAAgB1C,KAAKL,QAAQ+C,aAAaD,WAAa,OA5L/DzE,EAAkB8B,EAAY/B,UAAWqC,GACrDC,GAAarC,EAAkB8B,EAAaO,GA+LzCZ,EAhGT,GAmGA,SAASuD,EAAKtD,EAAIuD,EAAOrD,GACvB,IAAIU,EAAQ2C,EAAM3C,MAClB,GAAKA,EAEL,GAAoC,oBAAzB4B,qBACTgB,QAAQC,KAAK,0LACR,CACL,IAAI3B,EAAQ,IAAI/B,EAAgBC,EAAIY,EAAOV,GAC3CF,EAAG0D,qBAAuB5B,GAwB9B,SAAS6B,EAAO3D,GACd,IAAI8B,EAAQ9B,EAAG0D,qBAEX5B,IACFA,EAAMhB,yBACCd,EAAG0D,sBAId,IAAIE,EAAoB,CACtBN,KAAMA,EACNO,OA/BF,SAAgB7D,EAAI8D,EAAO5D,GACzB,IAAIU,EAAQkD,EAAMlD,MAElB,IApIF,SAASmD,EAAUC,EAAMC,GACvB,GAAID,IAASC,EAAM,OAAO,EAE1B,GAAsB,WAAlBjG,EAAQgG,GAAoB,CAC9B,IAAK,IAAI/E,KAAO+E,EACd,IAAKD,EAAUC,EAAK/E,GAAMgF,EAAKhF,IAC7B,OAAO,EAIX,OAAO,EAGT,OAAO,EAuHH8E,CAAUnD,EADCkD,EAAMI,UACrB,CACA,IAAIpC,EAAQ9B,EAAG0D,qBAEV9C,EAKDkB,EACFA,EAAMrB,eAAeG,EAAOV,GAE5BoD,EAAKtD,EAAI,CACPY,MAAOA,GACNV,GATHyD,EAAO3D,KAyBT2D,OAAQA,GAYV,IAAIQ,EAAS,CAEXC,QAAS,QACTC,QAZF,SAAiBC,GACfA,EAAIC,UAAU,qBAAsBX,KAclCY,EAAY,KAEM,oBAAXC,OACTD,EAAYC,OAAOH,IACQ,oBAAXI,SAChBF,EAAYE,OAAOJ,KAGjBE,GACFA,EAAUG,IAAIR,uOCzSf,IAAUS,EAAMC,EAAND,EAQTtE,EAReuE,EAQT,WACN,IAAIC,EAAQ,gBAERC,EAAU,SAAUC,EAAMC,GAC5B,OAAwB,OAApBD,EAAKE,WAA8BD,EAEhCF,EAAQC,EAAKE,WAAYD,EAAG9C,OAAO,CAAC6C,MAGzCG,EAAQ,SAAUH,EAAMI,GAC1B,OAAOC,iBAAiBL,EAAM,MAAMM,iBAAiBF,IAOnDG,EAAS,SAAUP,GACtB,OAAOF,EAAMU,KALC,SAAUR,GACvB,OAAOG,EAAMH,EAAM,YAAcG,EAAMH,EAAM,cAAgBG,EAAMH,EAAM,cAIxDS,CAAST,KAmB5B,OAhBmB,SAAUA,GAC3B,GAAMA,aAAgBU,aAAeV,aAAgBW,WAArD,CAMA,IAFA,IAAIV,EAAKF,EAAQC,EAAKE,WAAY,IAEzBzG,EAAI,EAAGA,EAAIwG,EAAGvG,OAAQD,GAAK,EAClC,GAAI8G,EAAON,EAAGxG,IACZ,OAAOwG,EAAGxG,GAId,OAAOmH,SAASC,kBAAoBD,SAASE,mBAvCNC,EAAOC,QAC9CD,UAAiBlB,IAEjBD,EAAKqB,aAAepB,OCNXrG,EAAQ,CACnB0H,MAAO,CACLC,KAAM/G,MACNgH,UAAU,GAGZC,SAAU,CACRF,KAAMG,OACNC,QAAS,MAGXC,UAAW,CACTL,KAAMG,OACNC,QAAS,WACTE,UAAW,SAAC7F,SAAU,CAAC,WAAY,cAAc8F,SAAS9F,MAIvD,SAAS+F,WACPrG,KAAK4F,MAAMxH,QAAmC,WAAzBV,EAAOsC,KAAK4F,MAAM,ICnBzC,IAAIU,GAAkB,EAE7B,GAAsB,oBAAXnC,OAAwB,CACjCmC,GAAkB,UAEZC,EAAO9H,OAAOC,eAAe,GAAI,UAAW,CAC9CqE,eACEuD,GAAkB,KAGtBnC,OAAOqC,iBAAiB,OAAQ,KAAMD,GACtC,MAAOjE,KCgDX,QC3DA,SAASmE,EAAmBC,EAAU7B,EAAO8B,EAAQC,EAASC,EAAsBC,EAAoCC,EAAYC,EAAgBC,EAAmBC,GACzI,kBAAfH,IACPE,EAAoBD,EACpBA,EAAiBD,EACjBA,GAAa,GAGjB,MAAMpH,EAA4B,mBAAXgH,EAAwBA,EAAOhH,QAAUgH,EAehE,IAAIQ,EAmCJ,GAhDIT,GAAYA,EAASU,SACrBzH,EAAQyH,OAASV,EAASU,OAC1BzH,EAAQ0H,gBAAkBX,EAASW,gBACnC1H,EAAQ2H,WAAY,EAEhBT,IACAlH,EAAQ4H,YAAa,IAIzBX,IACAjH,EAAQ6H,SAAWZ,GAGnBE,GAEAK,EAAO,SAAUxE,IAEbA,EACIA,GACK3C,KAAKyH,QAAUzH,KAAKyH,OAAOC,YAC3B1H,KAAK2H,QAAU3H,KAAK2H,OAAOF,QAAUzH,KAAK2H,OAAOF,OAAOC,aAElB,oBAAxBE,sBACnBjF,EAAUiF,qBAGV/C,GACAA,EAAMzF,KAAKY,KAAMiH,EAAkBtE,IAGnCA,GAAWA,EAAQkF,uBACnBlF,EAAQkF,sBAAsBC,IAAIhB,IAK1CnH,EAAQoI,aAAeZ,GAElBtC,IACLsC,EAAOJ,EACD,SAAUpE,GACRkC,EAAMzF,KAAKY,KAAMkH,EAAqBvE,EAAS3C,KAAKgI,MAAMC,SAASC,cAErE,SAAUvF,GACRkC,EAAMzF,KAAKY,KAAMgH,EAAerE,MAGxCwE,EACA,GAAIxH,EAAQ4H,WAAY,CAEpB,MAAMY,EAAiBxI,EAAQyH,OAC/BzH,EAAQyH,OAAS,SAAkCgB,EAAGzF,GAElD,OADAwE,EAAK/H,KAAKuD,GACHwF,EAAeC,EAAGzF,QAG5B,CAED,MAAM0F,EAAW1I,EAAQ2I,aACzB3I,EAAQ2I,aAAeD,EAAW,GAAGxG,OAAOwG,EAAUlB,GAAQ,CAACA,GAGvE,OAAOR,EDtEX,wmQEAA,imGCAA,2/GCqBA,IAAM9C,EAAS,CAEbC,QAASyE,QACTxE,iBAASC,EAAKrE,OACN6I,EAAe/J,OAAOgK,OAAO,GAAI,CACrCC,mBAAmB,EACnBC,iBAAkB,IACjBhJ,OAEE,IAAMhB,KAAO6J,OACiB,IAAtBA,EAAa7J,KACtBiK,EAAOjK,GAAO6J,EAAa7J,IAI3B6J,EAAaE,mBAxBrB,SAA6B1E,EAAK6E,GAChC7E,EAAI8E,oBAAaD,sBAA0BE,GAC3C/E,EAAI8E,oBAAaD,qBAAyBE,GAC1C/E,EAAI8E,oBAAaD,sBAA0BG,GAC3ChF,EAAI8E,oBAAaD,qBAAyBG,GAC1ChF,EAAI8E,oBAAaD,2BAA+BI,GAChDjF,EAAI8E,oBAAaD,yBAA6BI,GAmB1CC,CAAmBlF,EAAKwE,EAAaG,oBAQvCzE,EAAY,WACM,oBAAXC,OACTD,EAAYC,OAAOH,IACQ,oBAAXI,SAChBF,EAAYE,OAAOJ,KAEjBE,GACFA,EAAUG,IAAIR,yDCpDD,wEAEX,OADFsF,OAAAA,aAAS,SAAAC,UAAMA,EAAGC,KAAKC,MAEjBC,EAAQ,GACRH,EAAK,IAAIpF,EAAI,CACjBwF,sBACS,CACLD,MAAAA,YAMC,CACLC,sBACS,CACLC,QAAS,OAIbC,mCACOC,KAAO,UAELC,QADe,mBAAXT,EACM,kBAAMA,EAAO/J,KAAKmB,EAAMA,IAExB,kBAAMA,EAAK4I,SAEvBU,OAAO7J,KAAK4J,QAAS,CACxBE,iBAASxJ,mBACFsC,WAAU,WACbmH,EAAKJ,KAAOrJ,MAGhB0J,WAAW,SAERC,mBAGPC,6BACOD,mBAGPE,QAAS,CAKPC,uBAAed,OACP/E,EAAUvE,KAAKiI,SAASwB,WACP,mBAAZlF,EAAwB,KAC3BiF,EAAOjF,EAAQnF,KAAKY,KAAMA,aAChCoJ,EAAGiB,KAAKd,EAAOD,EAAIE,QACdG,KAAOL,EACLE,QAED,IAAIc,MAAM,wEAOpBL,+BACQX,EAAKtJ,KAAK4J,UACN,MAANN,GACFpG,QAAQC,qDAA8CgG,SAEpDG,IAAOtJ,KAAK2J,OACTJ,EAAMD,SACJc,cAAcd,QAEhBG,QAAUF,EAAMD"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.umd.js b/dist/vue-virtual-scroller.umd.js
index e41ff127..1a72afb6 100644
--- a/dist/vue-virtual-scroller.umd.js
+++ b/dist/vue-virtual-scroller.umd.js
@@ -1259,7 +1259,8 @@
(_vm.direction === "vertical" ? "Y" : "X") +
"(" +
view.position +
- "px)"
+ "px)",
+ zIndex: _vm.pool.length - view.nr.index
}
: null,
on: {
@@ -1946,7 +1947,7 @@
var plugin$1 = {
// eslint-disable-next-line no-undef
- version: "1.2.0",
+ version: "1.2.1",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
diff --git a/dist/vue-virtual-scroller.umd.js.map b/dist/vue-virtual-scroller.umd.js.map
index 62df407b..5496d264 100644
--- a/dist/vue-virtual-scroller.umd.js.map
+++ b/dist/vue-virtual-scroller.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","_typeof","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","_typeof","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
From 2fdc033602c709c4fb67d961a7212b95b154dca2 Mon Sep 17 00:00:00 2001
From: Damir
Date: Fri, 5 Jun 2020 12:48:39 +0200
Subject: [PATCH 21/26] fix: wrong z index
---
README.md | 34 ------------------------------
src/components/RecycleScroller.vue | 2 +-
2 files changed, 1 insertion(+), 35 deletions(-)
diff --git a/README.md b/README.md
index 547a8dc9..6e77f394 100644
--- a/README.md
+++ b/README.md
@@ -11,40 +11,6 @@ Blazing fast scrolling of any amount of data | [Live demo](https://akryum.github
-## Sponsors
-
-### Gold
-
-
-
-
-
-
-
-### Silver
-
-
-
-
-
-
-
-
-
-
-
-### Bronze
-
-
-
-
-
-
-
-
-
-
-
## Table of contents
- [Installation](#installation)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index 800b850c..af8e98d6 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -26,7 +26,7 @@
Date: Fri, 5 Jun 2020 12:49:11 +0200
Subject: [PATCH 22/26] 1.2.2
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 8f94b435..631a9725 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
- "version": "1.2.1",
+ "version": "1.2.2",
"author": {
"name": "Guillaume Chau",
"email": "guillaume.b.chau@gmail.com"
From bfb5d3a8e2030c0e735b9bcee17e55ab9620fcd2 Mon Sep 17 00:00:00 2001
From: reza
Date: Fri, 26 Nov 2021 10:57:52 +0100
Subject: [PATCH 23/26] added resizeObserver
---
package.json | 3 ++-
src/components/RecycleScroller.vue | 10 ++++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index 631a9725..24e7dbdc 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,8 @@
"homepage": "https://github.com/Akryum/vue-virtual-scroller#readme",
"dependencies": {
"scrollparent": "^2.0.1",
- "vue-observe-visibility": "^0.4.4"
+ "vue-observe-visibility": "^0.4.4",
+ "vue-resize": "^0.4.5"
},
"peerDependencies": {
"vue": "^2.6.11"
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index af8e98d6..c359cd55 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -47,6 +47,8 @@
name="after"
/>
+
+
@@ -56,14 +58,18 @@ import ScrollParent from 'scrollparent'
import config from '../config'
import { props, simpleArray } from './common'
import { supportsPassive } from '../utils'
-
+import { ResizeObserver } from 'vue-resize'
let uid = 0
export default {
name: 'RecycleScroller',
+ components: {
+ ResizeObserver
+ },
+
directives: {
- ObserveVisibility,
+ ObserveVisibility
},
props: {
From 4f1b411220fc49c9ee3226ab6206bbd0b2ec3ed4 Mon Sep 17 00:00:00 2001
From: Damir
Date: Tue, 7 Dec 2021 08:38:48 +0100
Subject: [PATCH 24/26] 1.2.3
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 24e7dbdc..aabf3ca5 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
- "version": "1.2.2",
+ "version": "1.2.3",
"author": {
"name": "Guillaume Chau",
"email": "guillaume.b.chau@gmail.com"
From ad0273e6117a3e15a61afa9b1ba2cb09d3135ca0 Mon Sep 17 00:00:00 2001
From: Damir
Date: Tue, 7 Dec 2021 08:40:36 +0100
Subject: [PATCH 25/26] fix: eslint
---
src/components/RecycleScroller.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/RecycleScroller.vue b/src/components/RecycleScroller.vue
index c359cd55..14b0369b 100644
--- a/src/components/RecycleScroller.vue
+++ b/src/components/RecycleScroller.vue
@@ -65,11 +65,11 @@ export default {
name: 'RecycleScroller',
components: {
- ResizeObserver
+ ResizeObserver,
},
directives: {
- ObserveVisibility
+ ObserveVisibility,
},
props: {
From 35f2db362e80f3186f507d31ebd0ece6671e0456 Mon Sep 17 00:00:00 2001
From: Damir
Date: Tue, 7 Dec 2021 08:41:03 +0100
Subject: [PATCH 26/26] 1.2.4
---
dist/vue-virtual-scroller.esm.js | 232 +-
dist/vue-virtual-scroller.esm.js.map | 2 +-
dist/vue-virtual-scroller.min.js | 2 +-
dist/vue-virtual-scroller.min.js.map | 2 +-
dist/vue-virtual-scroller.umd.js | 401 ++-
dist/vue-virtual-scroller.umd.js.map | 2 +-
package-lock.json | 4768 ++++++++++++++++++++++++++
package.json | 2 +-
8 files changed, 5159 insertions(+), 252 deletions(-)
create mode 100644 package-lock.json
diff --git a/dist/vue-virtual-scroller.esm.js b/dist/vue-virtual-scroller.esm.js
index 0eda2d6b..dd4b1cb5 100644
--- a/dist/vue-virtual-scroller.esm.js
+++ b/dist/vue-virtual-scroller.esm.js
@@ -1,50 +1,24 @@
import { ObserveVisibility } from 'vue-observe-visibility';
import ScrollParent from 'scrollparent';
+import { ResizeObserver as ResizeObserver$1 } from 'vue-resize';
import Vue from 'vue';
var config = {
itemsLimit: 1000
};
-function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof = function (obj) {
- return typeof obj;
- };
- } else {
- _typeof = function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
-}
-
-function _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;
-}
-
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- });
+
+ if (enumerableOnly) {
+ symbols = symbols.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ }
+
keys.push.apply(keys, symbols);
}
@@ -71,12 +45,43 @@ function _objectSpread2(target) {
return target;
}
+function _typeof(obj) {
+ "@babel/helpers - typeof";
+
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ _typeof = function (obj) {
+ return typeof obj;
+ };
+ } else {
+ _typeof = function (obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ }
+
+ return _typeof(obj);
+}
+
+function _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;
+}
+
function _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(n);
+ 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);
}
@@ -88,9 +93,12 @@ function _arrayLikeToArray(arr, len) {
return arr2;
}
-function _createForOfIteratorHelper(o) {
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) {
+function _createForOfIteratorHelper(o, allowArrayLike) {
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+
+ if (!it) {
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+ if (it) o = it;
var i = 0;
var F = function () {};
@@ -116,13 +124,12 @@ function _createForOfIteratorHelper(o) {
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
- var it,
- normalCompletion = true,
+ var normalCompletion = true,
didErr = false,
err;
return {
s: function () {
- it = o[Symbol.iterator]();
+ it = it.call(o);
},
n: function () {
var step = it.next();
@@ -180,12 +187,15 @@ if (typeof window !== 'undefined') {
}
var uid = 0;
-var script = {
+var script$2 = {
name: 'RecycleScroller',
+ components: {
+ ResizeObserver: ResizeObserver$1
+ },
directives: {
ObserveVisibility: ObserveVisibility
},
- props: _objectSpread2({}, props, {
+ props: _objectSpread2(_objectSpread2({}, props), {}, {
itemSize: {
type: Number,
default: null
@@ -835,9 +845,9 @@ function normalizeComponent(template, style, script, scopeId, isFunctionalTempla
}
/* script */
-const __vue_script__ = script;
+const __vue_script__$2 = script$2;
/* template */
-var __vue_render__ = function() {
+var __vue_render__$1 = function () {
var _obj, _obj$1;
var _vm = this;
var _h = _vm.$createElement;
@@ -850,22 +860,22 @@ var __vue_render__ = function() {
name: "observe-visibility",
rawName: "v-observe-visibility",
value: _vm.handleVisibilityChange,
- expression: "handleVisibilityChange"
- }
+ expression: "handleVisibilityChange",
+ },
],
staticClass: "vue-recycle-scroller",
class:
((_obj = {
ready: _vm.ready,
- "page-mode": _vm.pageMode
+ "page-mode": _vm.pageMode,
}),
(_obj["direction-" + _vm.direction] = true),
_obj),
on: {
- "&scroll": function($event) {
- return _vm.handleScroll($event)
- }
- }
+ "&scroll": function ($event) {
+ return _vm.handleScroll.apply(null, arguments)
+ },
+ },
},
[
_vm.$slots.before
@@ -886,9 +896,9 @@ var __vue_render__ = function() {
((_obj$1 = {}),
(_obj$1[_vm.direction === "vertical" ? "minHeight" : "minWidth"] =
_vm.totalSize + "px"),
- _obj$1)
+ _obj$1),
},
- _vm._l(_vm.pool, function(view) {
+ _vm._l(_vm.pool, function (view) {
return _c(
"div",
{
@@ -902,24 +912,24 @@ var __vue_render__ = function() {
"(" +
view.position +
"px)",
- zIndex: _vm.pool.length - view.nr.index
+ zIndex: _vm.items.length - view.nr.index,
}
: null,
on: {
- mouseenter: function($event) {
+ mouseenter: function ($event) {
return $event.target.classList.add("hover")
},
- mouseleave: function($event) {
+ mouseleave: function ($event) {
return $event.target.classList.remove("hover")
- }
- }
+ },
+ },
},
[
_vm._t("default", null, {
item: view.item,
index: view.nr.index,
- active: view.nr.used
- })
+ active: view.nr.used,
+ }),
],
2
)
@@ -934,21 +944,24 @@ var __vue_render__ = function() {
[_vm._t("after")],
2
)
- : _vm._e()
- ]
+ : _vm._e(),
+ _vm._v(" "),
+ _c("ResizeObserver", { on: { notify: _vm.handleResize } }),
+ ],
+ 1
)
};
-var __vue_staticRenderFns__ = [];
-__vue_render__._withStripped = true;
+var __vue_staticRenderFns__$1 = [];
+__vue_render__$1._withStripped = true;
/* style */
- const __vue_inject_styles__ = undefined;
+ const __vue_inject_styles__$2 = undefined;
/* scoped */
- const __vue_scope_id__ = undefined;
+ const __vue_scope_id__$2 = undefined;
/* module identifier */
- const __vue_module_identifier__ = undefined;
+ const __vue_module_identifier__$2 = undefined;
/* functional template */
- const __vue_is_functional_template__ = false;
+ const __vue_is_functional_template__$2 = false;
/* style inject */
/* style inject SSR */
@@ -957,13 +970,13 @@ __vue_render__._withStripped = true;
- const __vue_component__ = normalizeComponent(
- { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
- __vue_inject_styles__,
- __vue_script__,
- __vue_scope_id__,
- __vue_is_functional_template__,
- __vue_module_identifier__,
+ const __vue_component__$2 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
+ __vue_inject_styles__$2,
+ __vue_script__$2,
+ __vue_scope_id__$2,
+ __vue_is_functional_template__$2,
+ __vue_module_identifier__$2,
false,
undefined,
undefined,
@@ -973,7 +986,7 @@ __vue_render__._withStripped = true;
var script$1 = {
name: 'DynamicScroller',
components: {
- RecycleScroller: __vue_component__
+ RecycleScroller: __vue_component__$2
},
inheritAttrs: false,
provide: function provide() {
@@ -1009,7 +1022,7 @@ var script$1 = {
vscrollResizeObserver: this.$_resizeObserver
};
},
- props: _objectSpread2({}, props, {
+ props: _objectSpread2(_objectSpread2({}, props), {}, {
minItemSize: {
type: [Number, String],
required: true
@@ -1159,7 +1172,7 @@ var script$1 = {
const __vue_script__$1 = script$1;
/* template */
-var __vue_render__$1 = function() {
+var __vue_render__ = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -1173,14 +1186,14 @@ var __vue_render__$1 = function() {
items: _vm.itemsWithSize,
"min-item-size": _vm.minItemSize,
direction: _vm.direction,
- "key-field": "id"
+ "key-field": "id",
},
on: { resize: _vm.onScrollerResize, visible: _vm.onScrollerVisible },
scopedSlots: _vm._u(
[
{
key: "default",
- fn: function(ref) {
+ fn: function (ref) {
var itemWithSize = ref.item;
var index = ref.index;
var active = ref.active;
@@ -1189,15 +1202,15 @@ var __vue_render__$1 = function() {
item: itemWithSize.item,
index: index,
active: active,
- itemWithSize: itemWithSize
- })
+ itemWithSize: itemWithSize,
+ }),
]
- }
- }
+ },
+ },
],
null,
true
- )
+ ),
},
"RecycleScroller",
_vm.$attrs,
@@ -1209,13 +1222,13 @@ var __vue_render__$1 = function() {
_vm._v(" "),
_c("template", { slot: "before" }, [_vm._t("before")], 2),
_vm._v(" "),
- _c("template", { slot: "after" }, [_vm._t("after")], 2)
+ _c("template", { slot: "after" }, [_vm._t("after")], 2),
],
2
)
};
-var __vue_staticRenderFns__$1 = [];
-__vue_render__$1._withStripped = true;
+var __vue_staticRenderFns__ = [];
+__vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__$1 = undefined;
@@ -1233,8 +1246,8 @@ __vue_render__$1._withStripped = true;
- const __vue_component__$1 = normalizeComponent(
- { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
+ const __vue_component__$1 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
__vue_inject_styles__$1,
__vue_script__$1,
__vue_scope_id__$1,
@@ -1246,7 +1259,7 @@ __vue_render__$1._withStripped = true;
undefined
);
-var script$2 = {
+var script = {
name: 'DynamicScrollerItem',
inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],
props: {
@@ -1453,18 +1466,18 @@ var script$2 = {
};
/* script */
-const __vue_script__$2 = script$2;
+const __vue_script__ = script;
/* template */
/* style */
- const __vue_inject_styles__$2 = undefined;
+ const __vue_inject_styles__ = undefined;
/* scoped */
- const __vue_scope_id__$2 = undefined;
+ const __vue_scope_id__ = undefined;
/* module identifier */
- const __vue_module_identifier__$2 = undefined;
+ const __vue_module_identifier__ = undefined;
/* functional template */
- const __vue_is_functional_template__$2 = undefined;
+ const __vue_is_functional_template__ = undefined;
/* style inject */
/* style inject SSR */
@@ -1473,13 +1486,13 @@ const __vue_script__$2 = script$2;
- const __vue_component__$2 = normalizeComponent(
+ const __vue_component__ = /*#__PURE__*/normalizeComponent(
{},
- __vue_inject_styles__$2,
- __vue_script__$2,
- __vue_scope_id__$2,
- __vue_is_functional_template__$2,
- __vue_module_identifier__$2,
+ __vue_inject_styles__,
+ __vue_script__,
+ __vue_scope_id__,
+ __vue_is_functional_template__,
+ __vue_module_identifier__,
false,
undefined,
undefined,
@@ -1579,17 +1592,17 @@ function IdState () {
}
function registerComponents(Vue, prefix) {
- Vue.component("".concat(prefix, "recycle-scroller"), __vue_component__);
- Vue.component("".concat(prefix, "RecycleScroller"), __vue_component__);
+ Vue.component("".concat(prefix, "recycle-scroller"), __vue_component__$2);
+ Vue.component("".concat(prefix, "RecycleScroller"), __vue_component__$2);
Vue.component("".concat(prefix, "dynamic-scroller"), __vue_component__$1);
Vue.component("".concat(prefix, "DynamicScroller"), __vue_component__$1);
- Vue.component("".concat(prefix, "dynamic-scroller-item"), __vue_component__$2);
- Vue.component("".concat(prefix, "DynamicScrollerItem"), __vue_component__$2);
+ Vue.component("".concat(prefix, "dynamic-scroller-item"), __vue_component__);
+ Vue.component("".concat(prefix, "DynamicScrollerItem"), __vue_component__);
}
var plugin = {
// eslint-disable-next-line no-undef
- version: "1.2.1",
+ version: "1.2.4",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
@@ -1620,6 +1633,5 @@ if (GlobalVue) {
GlobalVue.use(plugin);
}
-export default plugin;
-export { __vue_component__$1 as DynamicScroller, __vue_component__$2 as DynamicScrollerItem, IdState, __vue_component__ as RecycleScroller };
+export { __vue_component__$1 as DynamicScroller, __vue_component__ as DynamicScrollerItem, IdState, __vue_component__$2 as RecycleScroller, plugin as default };
//# sourceMappingURL=vue-virtual-scroller.esm.js.map
diff --git a/dist/vue-virtual-scroller.esm.js.map b/dist/vue-virtual-scroller.esm.js.map
index 09c128b6..52486040 100644
--- a/dist/vue-virtual-scroller.esm.js.map
+++ b/dist/vue-virtual-scroller.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.esm.js","sources":["../src/config.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":";;;;;AAAA,aAAe;AACbA,EAAAA,UAAU,EAAE;AADC,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAO,IAAMC,KAAK,GAAG;AACnBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAEC,KADD;AAELC,IAAAA,QAAQ,EAAE;AAFL,GADY;AAMnBC,EAAAA,QAAQ,EAAE;AACRH,IAAAA,IAAI,EAAEI,MADE;AAERC,IAAAA,OAAO,EAAE;AAFD,GANS;AAWnBC,EAAAA,SAAS,EAAE;AACTN,IAAAA,IAAI,EAAEI,MADG;AAETC,IAAAA,OAAO,EAAE,UAFA;AAGTE,IAAAA,SAAS,EAAE,mBAACC,KAAD;AAAA,aAAW,CAAC,UAAD,EAAa,YAAb,EAA2BC,QAA3B,CAAoCD,KAApC,CAAX;AAAA;AAHF;AAXQ,CAAd;AAkBA,SAASE,WAAT,GAAwB;AAC7B,SAAO,KAAKX,KAAL,CAAWY,MAAX,IAAqB,QAAO,KAAKZ,KAAL,CAAW,CAAX,CAAP,MAAyB,QAArD;AACD;;ACpBM,IAAIa,eAAe,GAAG,KAAtB;;AAEP,IAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjCD,EAAAA,eAAe,GAAG,KAAlB;;AACA,MAAI;AACF,QAAIE,IAAI,GAAGC,MAAM,CAACC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC9CC,MAAAA,GAD8C,iBACvC;AACLL,QAAAA,eAAe,GAAG,IAAlB;AACD;AAH6C,KAArC,CAAX;AAKAC,IAAAA,MAAM,CAACK,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCJ,IAAtC;AACD,GAPD,CAOE,OAAOK,CAAP,EAAU;AACb;;ACiDD,WAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;AC/DA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,oBAAoB,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE;AAC7L,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE;AACzC,QAAQ,iBAAiB,GAAG,cAAc,CAAC;AAC3C,QAAQ,cAAc,GAAG,UAAU,CAAC;AACpC,QAAQ,UAAU,GAAG,KAAK,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;AAC3E;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACrC,QAAQ,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzC,QAAQ,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC3D,QAAQ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACjC;AACA,QAAQ,IAAI,oBAAoB,EAAE;AAClC,YAAY,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;AACtC,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,gBAAgB,EAAE;AAC1B;AACA,QAAQ,IAAI,GAAG,UAAU,OAAO,EAAE;AAClC;AACA,YAAY,OAAO;AACnB,gBAAgB,OAAO;AACvB,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3D,qBAAqB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzF;AACA,YAAY,IAAI,CAAC,OAAO,IAAI,OAAO,mBAAmB,KAAK,WAAW,EAAE;AACxE,gBAAgB,OAAO,GAAG,mBAAmB,CAAC;AAC9C,aAAa;AACb;AACA,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,aAAa;AACb;AACA,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,qBAAqB,EAAE;AAC1D,gBAAgB,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpE,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA,QAAQ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;AACpC,KAAK;AACL,SAAS,IAAI,KAAK,EAAE;AACpB,QAAQ,IAAI,GAAG,UAAU;AACzB,cAAc,UAAU,OAAO,EAAE;AACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AAChG,aAAa;AACb,cAAc,UAAU,OAAO,EAAE;AACjC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,aAAa,CAAC;AACd,KAAK;AACL,IAAI,IAAI,IAAI,EAAE;AACd,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;AAChC;AACA,YAAY,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;AAClD,YAAY,OAAO,CAAC,MAAM,GAAG,SAAS,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE;AAC3E,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,gBAAgB,OAAO,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb;AACA,YAAY,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;AAClD,YAAY,OAAO,CAAC,YAAY,GAAG,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjF,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB;;;ADvEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEiCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;;AAjCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;;;;;;;;;;;;;;AAqBA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAtBA;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAe,oBAEP;AAAA,iFAAJ,EAAI;AAAA,yBADNC,MACM;AAAA,MADNA,MACM,4BADG,UAAAC,EAAE;AAAA,WAAIA,EAAE,CAACC,IAAH,CAAQC,EAAZ;AAAA,GACL;;AACN,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMH,EAAE,GAAG,IAAII,GAAJ,CAAQ;AACjBC,IAAAA,IADiB,kBACT;AACN,aAAO;AACLF,QAAAA,KAAK,EAALA;AADK,OAAP;AAGD;AALgB,GAAR,CAAX,CAFM;;AAWN,SAAO;AACLE,IAAAA,IADK,kBACG;AACN,aAAO;AACLC,QAAAA,OAAO,EAAE;AADJ,OAAP;AAGD,KALI;AAOLC,IAAAA,OAPK,qBAOM;AAAA;;AACT,WAAKC,IAAL,GAAY,IAAZ;;AACA,UAAI,OAAOT,MAAP,KAAkB,UAAtB,EAAkC;AAChC,aAAKU,OAAL,GAAe;AAAA,iBAAMV,MAAM,CAACW,IAAP,CAAY,KAAZ,EAAkB,KAAlB,CAAN;AAAA,SAAf;AACD,OAFD,MAEO;AACL,aAAKD,OAAL,GAAe;AAAA,iBAAM,KAAI,CAACV,MAAD,CAAV;AAAA,SAAf;AACD;;AACD,WAAKY,MAAL,CAAY,KAAKF,OAAjB,EAA0B;AACxBG,QAAAA,OADwB,mBACfzB,KADe,EACR;AAAA;;AACd,eAAK0B,SAAL,CAAe,YAAM;AACnB,YAAA,MAAI,CAACL,IAAL,GAAYrB,KAAZ;AACD,WAFD;AAGD,SALuB;AAMxB2B,QAAAA,SAAS,EAAE;AANa,OAA1B;AAQA,WAAKC,eAAL;AACD,KAvBI;AAyBLC,IAAAA,YAzBK,0BAyBW;AACd,WAAKD,eAAL;AACD,KA3BI;AA6BLE,IAAAA,OAAO,EAAE;AACP;AACN;AACA;AACA;AACMC,MAAAA,aALO,yBAKQhB,EALR,EAKY;AACjB,YAAMiB,OAAO,GAAG,KAAKC,QAAL,CAAcd,OAA9B;;AACA,YAAI,OAAOa,OAAP,KAAmB,UAAvB,EAAmC;AACjC,cAAMd,IAAI,GAAGc,OAAO,CAACT,IAAR,CAAa,IAAb,EAAmB,IAAnB,CAAb;AACAV,UAAAA,EAAE,CAACqB,IAAH,CAAQlB,KAAR,EAAeD,EAAf,EAAmBG,IAAnB;AACA,eAAKG,IAAL,GAAYN,EAAZ;AACA,iBAAOG,IAAP;AACD,SALD,MAKO;AACL,gBAAM,IAAIiB,KAAJ,CAAU,qEAAV,CAAN;AACD;AACF,OAfM;;AAiBP;AACN;AACA;AACMP,MAAAA,eApBO,6BAoBY;AACjB,YAAMb,EAAE,GAAG,KAAKO,OAAL,EAAX;;AACA,YAAIP,EAAE,IAAI,IAAV,EAAgB;AACdqB,UAAAA,OAAO,CAACC,IAAR,iDAAsDzB,MAAtD;AACD;;AACD,YAAIG,EAAE,KAAK,KAAKM,IAAhB,EAAsB;AACpB,cAAI,CAACL,KAAK,CAACD,EAAD,CAAV,EAAgB;AACd,iBAAKgB,aAAL,CAAmBhB,EAAnB;AACD;;AACD,eAAKI,OAAL,GAAeH,KAAK,CAACD,EAAD,CAApB;AACD;AACF;AA/BM;AA7BJ,GAAP;AA+DD;;AChED,SAASuB,kBAAT,CAA6BrB,GAA7B,EAAkCsB,MAAlC,EAA0C;AACxCtB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CE,mBAA3C;AACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CE,mBAA1C;AACAxB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,uBAA2CG,mBAA3C;AACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,sBAA0CG,mBAA1C;AACAzB,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,4BAAgDI,iBAAhD;AACA1B,EAAAA,GAAG,CAACuB,SAAJ,WAAiBD,MAAjB,0BAA8CI,iBAA9C;AACD;;IAEKC,MAAM,GAAG;AACb;AACAC,EAAAA,OAAO,EAAEC,OAFI;AAGbC,EAAAA,OAHa,mBAGJ9B,GAHI,EAGC+B,OAHD,EAGU;AACrB,QAAMC,YAAY,GAAG1C,MAAM,CAAC2C,MAAP,CAAc,EAAd,EAAkB;AACrCC,MAAAA,iBAAiB,EAAE,IADkB;AAErCC,MAAAA,gBAAgB,EAAE;AAFmB,KAAlB,EAGlBJ,OAHkB,CAArB;;AAKA,SAAK,IAAMK,GAAX,IAAkBJ,YAAlB,EAAgC;AAC9B,UAAI,OAAOA,YAAY,CAACI,GAAD,CAAnB,KAA6B,WAAjC,EAA8C;AAC5CC,QAAAA,MAAM,CAACD,GAAD,CAAN,GAAcJ,YAAY,CAACI,GAAD,CAA1B;AACD;AACF;;AAED,QAAIJ,YAAY,CAACE,iBAAjB,EAAoC;AAClCb,MAAAA,kBAAkB,CAACrB,GAAD,EAAMgC,YAAY,CAACG,gBAAnB,CAAlB;AACD;AACF;AAlBY;;AAwBf,IAAIG,SAAS,GAAG,IAAhB;;AACA,IAAI,OAAOlD,MAAP,KAAkB,WAAtB,EAAmC;AACjCkD,EAAAA,SAAS,GAAGlD,MAAM,CAACY,GAAnB;AACD,CAFD,MAEO,IAAI,OAAOuC,MAAP,KAAkB,WAAtB,EAAmC;AACxCD,EAAAA,SAAS,GAAGC,MAAM,CAACvC,GAAnB;AACD;;AACD,IAAIsC,SAAJ,EAAe;AACbA,EAAAA,SAAS,CAACE,GAAV,CAAcb,MAAd;AACD;;;;"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.min.js b/dist/vue-virtual-scroller.min.js
index fac75464..875aef37 100644
--- a/dist/vue-virtual-scroller.min.js
+++ b/dist/vue-virtual-scroller.min.js
@@ -1,2 +1,2 @@
-var VueVirtualScroller=function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var i={itemsLimit:1e3};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,r,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},s=function(s){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&d(t.prototype,i),n&&d(t,n),e}();function f(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new h(e,n,i);e._vue_visibilityState=r}}function v(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var p={bind:f,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===c(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):f(e,{value:n},i):v(e)}},unbind:v};var m={version:"0.4.6",install:function(e){e.directive("observe-visibility",p)}},y=null;"undefined"!=typeof window?y=window.Vue:"undefined"!=typeof global&&(y=global.Vue),y&&y.use(m);var b="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var g=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=b,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type;i.get(n)||i.set(n,[]);var r=i.get(n);r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;cancelAnimationFrame(this.$_scrollAnimationRequest),this.$_scrollAnimationRequest=requestAnimationFrame((function(){t.$_scrollAnimationRequest=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))}))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},startEndIndex:function(e){var t=this.itemSize,i=this.items,n=i.length,r=this.sizes;if(!n)return{startIndex:0,endIndex:0,totalSize:0};if(this.$_prerender)return{startIndex:0,endIndex:this.prerender,totalSize:null};this.$_lastUpdateScrollPosition=e.originalStart;var o=this.buffer;if(e.start-=o,e.end+=o,null===t){var s,l=0,a=n-1,c=~~(n/2);do{s=c,r[c].accumulatore.start&&(a=c),c=~~((l+a)/2)}while(c!==s);c<0&&(c=0);var d,u=c,h=r[n-1].accumulator;for(d=c;dn&&(d=n);return{startIndex:u,endIndex:d,totalSize:h}}return{startIndex:Math.max(0,~~(e.start/t)),endIndex:Math.min(n,Math.ceil(e.end/t)),totalSize:n*t}},updateVisibleItems:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.itemSize,o=this.$_computedMinItemSize,s=this.typeField,l=this.simpleArray?null:this.keyField,a=this.items,c=a.length,d=this.sizes,u=this.$_views,h=this.$_unusedViews,f=this.pool;if(c&&!this.$_prerender&&(t=this.getScroll(),n)){var v=Math.abs(t.originalStart-this.$_lastUpdateScrollPosition);if(null===r&&vi.itemsLimit&&this.itemsLimitError(),this.totalSize=g;var S=y<=this.$_endIndex&&b>=this.$_startIndex;if(this.$_continuous!==S){if(S){u.clear(),h.clear();for(var _=0,$=f.length;_<$;_++)p=f[_],this.unuseView(p)}this.$_continuous=S}else if(S)for(var z=0,w=f.length;z=b)&&this.unuseView(p));for(var I,x,O,D,V=S?null:new Map,R=y;R=O.length)&&(p=this.addView(f,R,I,T,x),this.unuseView(p,!0),O=h.get(x)),(p=O[D]).item=I,p.nr.used=!0,p.nr.index=R,p.nr.key=T,p.nr.type=x,V.set(x,D+1),D++),u.set(T,p)),p.position=null===r?d[R-1].accumulator:R*r):p&&this.unuseView(p)}return this.$_startIndex=y,this.$_endIndex=b,this.emitUpdate&&this.$emit("update",y,b),{continuous:S}},getListenerTarget:function(){var e=g(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),o=r,s=t?window.innerHeight:window.innerWidth;return o<0&&(s+=o,o=0),o+s>n&&(s=n-o),{originalStart:r,start:o,end:o+s}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!$&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=g(this.$el),o="HTML"===r.tagName?0:r[n.scroll],s=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-s[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+o+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var O=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll(e)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)",zIndex:i.pool.length-e.nr.index}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e()])};O._withStripped=!0;const D=I({render:O,staticRenderFns:[]},void 0,x,void 0,!1,void 0,!1,void 0,void 0,void 0);const V={name:"DynamicScroller",components:{RecycleScroller:D},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=a(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:s({},S,{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:_,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,o=0;o0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var R=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};R._withStripped=!0;const T=I({render:R,staticRenderFns:[]},void 0,V,void 0,!1,void 0,!1,void 0,void 0,void 0);const P=I({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var A={version:"1.2.1",install:function(e,t){var n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var r in n)void 0!==n[r]&&(i[r]=n[r]);n.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),D),e.component("".concat(t,"RecycleScroller"),D),e.component("".concat(t,"dynamic-scroller"),T),e.component("".concat(t,"DynamicScroller"),T),e.component("".concat(t,"dynamic-scroller-item"),P),e.component("".concat(t,"DynamicScrollerItem"),P)}(e,n.componentsPrefix)}},k=null;return"undefined"!=typeof window?k=window.Vue:"undefined"!=typeof global&&(k=global.Vue),k&&k.use(A),e.DynamicScroller=T,e.DynamicScrollerItem=P,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.idProp,n=void 0===i?function(e){return e.item.id}:i,r={},o=new t({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof n?function(){return n.call(e,e)}:function(){return e[n]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return o.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(n,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=D,e.default=A,e}({},Vue);
+var VueVirtualScroller=function(e,t){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=i(t),r={itemsLimit:1e3};function s(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function o(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){l=!0,s=e},f:function(){try{o||null==i.return||i.return()}finally{if(l)throw s}}}}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e,t){for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:{},o=function(o){for(var l=arguments.length,a=new Array(l>1?l-1:0),c=1;c1){var n=e.find((function(e){return e.isIntersecting}));n&&(t=n)}if(i.callback){var r=t.isIntersecting&&t.intersectionRatio>=i.threshold;if(r===i.oldResult)return;i.oldResult=r,i.callback(r,t)}}),this.options.intersection),t.context.$nextTick((function(){i.observer&&i.observer.observe(i.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}])&&h(t.prototype,i),n&&h(t,n),e}();function p(e,t,i){var n=t.value;if(n)if("undefined"==typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new v(e,n,i);e._vue_visibilityState=r}}function m(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var y={bind:p,update:function(e,t,i){var n=t.value;if(!function e(t,i){if(t===i)return!0;if("object"===u(t)){for(var n in t)if(!e(t[n],i[n]))return!1;return!0}return!1}(n,t.oldValue)){var r=e._vue_visibilityState;n?r?r.createObserver(n,i):p(e,{value:n},i):m(e)}},unbind:m};var b={version:"0.4.6",install:function(e){e.directive("observe-visibility",y)}},g=null;"undefined"!=typeof window?g=window.Vue:"undefined"!=typeof global&&(g=global.Vue),g&&g.use(b);var _="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var S=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){var t,i;t=_,i=function(){var e=/(auto|scroll)/,t=function(e,i){return null===e.parentNode?i:t(e.parentNode,i.concat([e]))},i=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},n=function(t){return e.test(function(e){return i(e,"overflow")+i(e,"overflow-y")+i(e,"overflow-x")}(t))};return function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var i=t(e.parentNode,[]),r=0;r0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var n=e.indexOf("Edge/");return n>0?parseInt(e.substring(n+5,e.indexOf(".",n)),10):-1}())}var R={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!O&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;I(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",O&&this.$el.appendChild(t),t.data="about:blank",O||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};var D={version:"0.4.5",install:function(e){e.component("resize-observer",R),e.component("ResizeObserver",R)}},V=null;"undefined"!=typeof window?V=window.Vue:"undefined"!=typeof global&&(V=global.Vue),V&&V.use(D);var T=0;function A(e,t,i,n,r,s,o,l,a,c){"boolean"!=typeof o&&(a=l,l=o,o=!1);const d="function"==typeof i?i.options:i;let u;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,r&&(d.functional=!0)),n&&(d._scopeId=n),s?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,a(e)),e&&e._registeredComponents&&e._registeredComponents.add(s)},d._ssrRegister=u):t&&(u=o?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,l(e))}),u)if(d.functional){const e=d.render;d.render=function(t,i){return u.call(i),e(t,i)}}else{const e=d.beforeCreate;d.beforeCreate=e?[].concat(e,u):[u]}return i}const P={name:"RecycleScroller",components:{ResizeObserver:R},directives:{ObserveVisibility:y},props:o(o({},$),{},{itemSize:{type:Number,default:null},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1}}),data:function(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes:function(){if(null===this.itemSize){for(var e,t={"-1":{accumulator:0}},i=this.items,n=this.sizeField,r=this.minItemSize,s=1e4,o=0,l=0,a=i.length;l1&&void 0!==arguments[1]&&arguments[1],i=this.$_unusedViews,n=e.nr.type;i.get(n)||i.set(n,[]);var r=i.get(n);r.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize:function(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll:function(e){var t=this;cancelAnimationFrame(this.$_scrollAnimationRequest),this.$_scrollAnimationRequest=requestAnimationFrame((function(){t.$_scrollAnimationRequest=!1,t.updateVisibleItems(!1,!0).continuous||(clearTimeout(t.$_refreshTimout),t.$_refreshTimout=setTimeout(t.handleScroll,100))}))},handleVisibilityChange:function(e,t){var i=this;this.ready&&(e?(this.$emit("visible"),requestAnimationFrame((function(){i.updateVisibleItems(!1)}))):this.$emit("hidden"))},startEndIndex:function(e){var t=this.itemSize,i=this.items,n=i.length,r=this.sizes;if(!n)return{startIndex:0,endIndex:0,totalSize:0};if(this.$_prerender)return{startIndex:0,endIndex:this.prerender,totalSize:null};this.$_lastUpdateScrollPosition=e.originalStart;var s=this.buffer;if(e.start-=s,e.end+=s,null===t){var o,l=0,a=n-1,c=~~(n/2);do{o=c,r[c].accumulatore.start&&(a=c),c=~~((l+a)/2)}while(c!==o);c<0&&(c=0);var d,u=c,h=r[n-1].accumulator;for(d=c;dn&&(d=n);return{startIndex:u,endIndex:d,totalSize:h}}return{startIndex:Math.max(0,~~(e.start/t)),endIndex:Math.min(n,Math.ceil(e.end/t)),totalSize:n*t}},updateVisibleItems:function(e){var t,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.itemSize,s=this.$_computedMinItemSize,o=this.typeField,l=this.simpleArray?null:this.keyField,a=this.items,c=a.length,d=this.sizes,u=this.$_views,h=this.$_unusedViews,f=this.pool;if(c&&!this.$_prerender&&(t=this.getScroll(),i)){var v=Math.abs(t.originalStart-this.$_lastUpdateScrollPosition);if(null===n&&vr.itemsLimit&&this.itemsLimitError(),this.totalSize=g;var _=y<=this.$_endIndex&&b>=this.$_startIndex;if(this.$_continuous!==_){if(_){u.clear(),h.clear();for(var S=0,$=f.length;S<$;S++)p=f[S],this.unuseView(p)}this.$_continuous=_}else if(_)for(var z=0,w=f.length;z=b)&&this.unuseView(p));for(var x,O,I,R,D=_?null:new Map,V=y;V=I.length)&&(p=this.addView(f,V,x,T,O),this.unuseView(p,!0),I=h.get(O)),(p=I[R]).item=x,p.nr.used=!0,p.nr.index=V,p.nr.key=T,p.nr.type=O,D.set(O,R+1),R++),u.set(T,p)),p.position=null===n?d[V-1].accumulator:V*n):p&&this.unuseView(p)}return this.$_startIndex=y,this.$_endIndex=b,this.emitUpdate&&this.$emit("update",y,b),{continuous:_}},getListenerTarget:function(){var e=S(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll:function(){var e=this.$el,t="vertical"===this.direction;if(this.pageMode){var i=e.getBoundingClientRect(),n=t?i.height:i.width,r=-(t?i.top:i.left),s=r,o=t?window.innerHeight:window.innerWidth;return s<0&&(o+=s,s=0),s+o>n&&(o=n-s),{originalStart:r,start:s,end:s+o}}return t?{originalStart:e.scrollTop,start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{originalStart:e.scrollLeft,start:e.scrollLeft,end:e.scrollLeft+e.clientWidth}},applyPageMode:function(){this.pageMode?this.addListeners():this.removeListeners()},addListeners:function(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!w&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners:function(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem:function(e){var t=this.scrollToPosition(e),i=t.viewport,n=t.scrollDirection,r=t.scrollDistance;i[n]=r},scrollToPosition:function(e){var t=this,i=function(e){return null===t.itemSize?e>0?t.sizes[e-1].accumulator:0:e*t.itemSize}(e),n="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};if(this.pageMode){var r=S(this.$el),s="HTML"===r.tagName?0:r[n.scroll],o=r.getBoundingClientRect(),l=this.$el.getBoundingClientRect()[n.start]-o[n.start];return{viewport:r,scrollDirection:n.scroll,scrollDistance:i+s+l}}return{viewport:this.$el,scrollDirection:n.scroll,scrollDistance:i}},itemsLimitError:function(){var e=this;throw setTimeout((function(){console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",e.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")})),new Error("Rendered items limit reached")}}};var k=function(){var e,t,i=this,n=i.$createElement,r=i._self._c||n;return r("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:i.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:i.ready,"page-mode":i.pageMode},e["direction-"+i.direction]=!0,e),on:{"&scroll":function(e){return i.handleScroll.apply(null,arguments)}}},[i.$slots.before?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("before")],2):i._e(),i._v(" "),r("div",{ref:"wrapper",staticClass:"vue-recycle-scroller__item-wrapper",style:(t={},t["vertical"===i.direction?"minHeight":"minWidth"]=i.totalSize+"px",t)},i._l(i.pool,(function(e){return r("div",{key:e.nr.id,staticClass:"vue-recycle-scroller__item-view",style:i.ready?{transform:"translate"+("vertical"===i.direction?"Y":"X")+"("+e.position+"px)",zIndex:i.items.length-e.nr.index}:null,on:{mouseenter:function(e){return e.target.classList.add("hover")},mouseleave:function(e){return e.target.classList.remove("hover")}}},[i._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),0),i._v(" "),i.$slots.after?r("div",{staticClass:"vue-recycle-scroller__slot"},[i._t("after")],2):i._e(),i._v(" "),r("ResizeObserver",{on:{notify:i.handleResize}})],1)};k._withStripped=!0;const E=A({render:k,staticRenderFns:[]},void 0,P,void 0,!1,void 0,!1,void 0,void 0,void 0);const j={name:"DynamicScroller",components:{RecycleScroller:E},inheritAttrs:!1,provide:function(){return"undefined"!=typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver((function(e){var t,i=d(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;if(n.target){var r=new CustomEvent("resize",{detail:{contentRect:n.contentRect}});n.target.dispatchEvent(r)}}}catch(e){i.e(e)}finally{i.f()}}))),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},props:o(o({},$),{},{minItemSize:{type:[Number,String],required:!0}}),data:function(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:z,itemsWithSize:function(){for(var e=[],t=this.items,i=this.keyField,n=this.simpleArray,r=this.vscrollData.sizes,s=0;s0&&void 0!==arguments[0])||arguments[0];(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem:function(e){var t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[i]||0},scrollToBottom:function(){var e=this;if(!this.$_scrollingToBottom){this.$_scrollingToBottom=!0;var t=this.$el;this.$nextTick((function(){t.scrollTop=t.scrollHeight+5e3;requestAnimationFrame((function i(){t.scrollTop=t.scrollHeight+5e3,requestAnimationFrame((function(){t.scrollTop=t.scrollHeight+5e3,0===e.$_undefinedSizes?e.$_scrollingToBottom=!1:requestAnimationFrame(i)}))}))}))}}}};var M=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id"},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,n=t.index,r=t.active;return[e._t("default",null,null,{item:i.item,index:n,active:r,itemWithSize:i})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),i("template",{slot:"before"},[e._t("before")],2),e._v(" "),i("template",{slot:"after"},[e._t("after")],2)],2)};M._withStripped=!0;const U=A({render:M,staticRenderFns:[]},void 0,j,void 0,!1,void 0,!1,void 0,void 0,void 0);const C=A({},void 0,{name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id:function(){return this.vscrollData.simpleArray?this.index:this.item[this.vscrollData.keyField]},size:function(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive:function(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id:function(){this.size||this.onDataUpdate()},finalActive:function(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created:function(){var e=this;if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){var t=function(t){e.$watch((function(){return e.sizeDependencies[t]}),e.onDataUpdate)};for(var i in this.sizeDependencies)t(i);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted:function(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy:function(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize:function(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData:function(){var e=this;this.watchData?this.$_watchData=this.$watch("data",(function(){e.onDataUpdate()}),{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate:function(e){var t=e.force;!this.finalActive&&t&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!t&&this.size||this.updateSize()},onDataUpdate:function(){this.updateSize()},computeSize:function(e){var t=this;this.$nextTick((function(){if(t.id===e){var i=t.$el.offsetWidth,n=t.$el.offsetHeight;t.applySize(i,n)}t.$_pendingSizeUpdate=null}))},applySize:function(e,t){var i=Math.round("vertical"===this.vscrollParent.direction?t:e);i&&this.size!==i&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,i),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize:function(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize:function(e){var t=e.detail.contentRect,i=t.width,n=t.height;this.applySize(i,n)}},render:function(e){return e(this.tag,this.$slots.default)}},void 0,void 0,void 0,!1,void 0,void 0,void 0);var L={version:"1.2.4",install:function(e,t){var i=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(var n in i)void 0!==i[n]&&(r[n]=i[n]);i.installComponents&&function(e,t){e.component("".concat(t,"recycle-scroller"),E),e.component("".concat(t,"RecycleScroller"),E),e.component("".concat(t,"dynamic-scroller"),U),e.component("".concat(t,"DynamicScroller"),U),e.component("".concat(t,"dynamic-scroller-item"),C),e.component("".concat(t,"DynamicScrollerItem"),C)}(e,i.componentsPrefix)}},N=null;return"undefined"!=typeof window?N=window.Vue:"undefined"!=typeof global&&(N=global.Vue),N&&N.use(L),e.DynamicScroller=U,e.DynamicScrollerItem=C,e.IdState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.idProp,i=void 0===t?function(e){return e.item.id}:t,r={},s=new n.default({data:function(){return{store:r}}});return{data:function(){return{idState:null}},created:function(){var e=this;this.$_id=null,this.$_getId="function"==typeof i?function(){return i.call(e,e)}:function(){return e[i]},this.$watch(this.$_getId,{handler:function(e){var t=this;this.$nextTick((function(){t.$_id=e}))},immediate:!0}),this.$_updateIdState()},beforeUpdate:function(){this.$_updateIdState()},methods:{$_idStateInit:function(e){var t=this.$options.idState;if("function"==typeof t){var i=t.call(this,this);return s.$set(r,e,i),this.$_id=e,i}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState:function(){var e=this.$_getId();null==e&&console.warn("No id found for IdState with idProp: '".concat(i,"'.")),e!==this.$_id&&(r[e]||this.$_idStateInit(e),this.idState=r[e])}}}},e.RecycleScroller=E,e.default=L,Object.defineProperty(e,"__esModule",{value:!0}),e}({},Vue);
//# sourceMappingURL=vue-virtual-scroller.min.js.map
diff --git a/dist/vue-virtual-scroller.min.js.map b/dist/vue-virtual-scroller.min.js.map
index abd4dc24..6d3f0f90 100644
--- a/dist/vue-virtual-scroller.min.js.map
+++ b/dist/vue-virtual-scroller.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","staticProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","plugin","version","install","Vue","directive","GlobalVue","window","global","use","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","document","scrollingElement","documentElement","module","exports","Scrollparent","items","type","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","addEventListener","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","data","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.min.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/index.js","../src/mixins/IdState.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n"],"names":["itemsLimit","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","TypeError","_nonIterableSpread","VisibilityState","el","options","vnode","instance","Constructor","_classCallCheck","this","observer","frozen","createObserver","protoProps","staticProps","value","_this","destroyObserver","callback","result","entry","once","throttle","_leading","throttleOptions","leading","delay","timeout","lastState","currentArgs","arguments","undefined","throttled","state","_len","args","_key","apply","concat","clearTimeout","setTimeout","_clear","oldResult","IntersectionObserver","entries","intersectingEntry","find","e","isIntersecting","intersectionRatio","threshold","intersection","context","$nextTick","observe","disconnect","get","bind","_ref2","console","warn","_vue_visibilityState","unbind","ObserveVisibility","update","_ref3","deepEqual","val1","val2","oldValue","plugin","version","install","Vue","directive","GlobalVue","window","global","use","root","factory","regex","parents","node","ps","parentNode","style","prop","getComputedStyle","getPropertyValue","scroll","test","overflow","HTMLElement","SVGElement","document","scrollingElement","documentElement","module","exports","Scrollparent","items","type","required","keyField","String","default","direction","validator","includes","simpleArray","supportsPassive","opts","addEventListener","isIE","initCompat","init","ua","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","getInternetExplorerVersion","ResizeObserver","render","_h","$createElement","_self","_c","staticClass","attrs","tabindex","staticRenderFns","_scopeId","name","methods","compareAndNotify","_w","$el","offsetWidth","offsetHeight","$emit","addResizeHandlers","_resizeObject","contentDocument","defaultView","removeResizeHandlers","onload","removeEventListener","mounted","object","createElement","setAttribute","appendChild","data","beforeDestroy","component","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","functional","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","VERSION","finalOptions","assign","installComponents","componentsPrefix","config","prefix","RecycleScroller","DynamicScroller","DynamicScrollerItem","registerComponents","idProp","vm","item","id","store","idState","created","$_id","$_getId","$watch","handler","_this2","immediate","$_updateIdState","beforeUpdate","$_idStateInit","$set","Error"],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/vue-virtual-scroller.umd.js b/dist/vue-virtual-scroller.umd.js
index 1a72afb6..14246a49 100644
--- a/dist/vue-virtual-scroller.umd.js
+++ b/dist/vue-virtual-scroller.umd.js
@@ -1,54 +1,29 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
typeof define === 'function' && define.amd ? define(['exports', 'vue'], factory) :
- (global = global || self, factory(global['vue-virtual-scroller'] = {}, global.Vue));
-}(this, (function (exports, Vue) { 'use strict';
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["vue-virtual-scroller"] = {}, global.Vue));
+})(this, (function (exports, Vue) { 'use strict';
- Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
+
+ var Vue__default = /*#__PURE__*/_interopDefaultLegacy(Vue);
var config = {
itemsLimit: 1000
};
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof = function (obj) {
- return typeof obj;
- };
- } else {
- _typeof = function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
- }
-
- function _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;
- }
-
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- });
+
+ if (enumerableOnly) {
+ symbols = symbols.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ }
+
keys.push.apply(keys, symbols);
}
@@ -75,12 +50,43 @@
return target;
}
+ function _typeof$1(obj) {
+ "@babel/helpers - typeof";
+
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ _typeof$1 = function (obj) {
+ return typeof obj;
+ };
+ } else {
+ _typeof$1 = function (obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ }
+
+ return _typeof$1(obj);
+ }
+
+ function _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;
+ }
+
function _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(n);
+ 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);
}
@@ -92,9 +98,12 @@
return arr2;
}
- function _createForOfIteratorHelper(o) {
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) {
+ function _createForOfIteratorHelper(o, allowArrayLike) {
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
+
+ if (!it) {
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+ if (it) o = it;
var i = 0;
var F = function () {};
@@ -120,13 +129,12 @@
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
- var it,
- normalCompletion = true,
+ var normalCompletion = true,
didErr = false,
err;
return {
s: function () {
- it = o[Symbol.iterator]();
+ it = it.call(o);
},
n: function () {
var step = it.next();
@@ -147,18 +155,18 @@
};
}
- function _typeof$1(obj) {
+ function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof$1 = function (obj) {
+ _typeof = function (obj) {
return typeof obj;
};
} else {
- _typeof$1 = function (obj) {
+ _typeof = function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
- return _typeof$1(obj);
+ return _typeof(obj);
}
function _classCallCheck(instance, Constructor) {
@@ -259,7 +267,7 @@
function deepEqual(val1, val2) {
if (val1 === val2) return true;
- if (_typeof$1(val1) === 'object') {
+ if (_typeof(val1) === 'object') {
for (var key in val1) {
if (!deepEqual(val1[key], val2[key])) {
return false;
@@ -420,7 +428,7 @@
unbind: unbind
};
- function install(Vue) {
+ function install$1(Vue) {
Vue.directive('observe-visibility', ObserveVisibility);
/* -- Add more components here -- */
}
@@ -429,22 +437,22 @@
/* You shouldn't have to modify the code below */
// Plugin
- var plugin = {
+ var plugin$2 = {
// eslint-disable-next-line no-undef
version: "0.4.6",
- install: install
+ install: install$1
};
- var GlobalVue = null;
+ var GlobalVue$2 = null;
if (typeof window !== 'undefined') {
- GlobalVue = window.Vue;
+ GlobalVue$2 = window.Vue;
} else if (typeof global !== 'undefined') {
- GlobalVue = global.Vue;
+ GlobalVue$2 = global.Vue;
}
- if (GlobalVue) {
- GlobalVue.use(plugin);
+ if (GlobalVue$2) {
+ GlobalVue$2.use(plugin$2);
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -455,7 +463,7 @@
var scrollparent = createCommonjsModule(function (module) {
(function (root, factory) {
- if ( module.exports) {
+ if (module.exports) {
module.exports = factory();
} else {
root.Scrollparent = factory();
@@ -519,7 +527,7 @@
}
};
function simpleArray() {
- return this.items.length && _typeof(this.items[0]) !== 'object';
+ return this.items.length && _typeof$1(this.items[0]) !== 'object';
}
var supportsPassive = false;
@@ -537,13 +545,129 @@
} catch (e) {}
}
+ function getInternetExplorerVersion() {
+ var ua = window.navigator.userAgent;
+
+ var msie = ua.indexOf('MSIE ');
+ if (msie > 0) {
+ // IE 10 or older => return version number
+ return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
+ }
+
+ var trident = ua.indexOf('Trident/');
+ if (trident > 0) {
+ // IE 11 => return version number
+ var rv = ua.indexOf('rv:');
+ return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
+ }
+
+ var edge = ua.indexOf('Edge/');
+ if (edge > 0) {
+ // Edge (IE 12+) => return version number
+ return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
+ }
+
+ // other browser
+ return -1;
+ }
+
+ var isIE = void 0;
+
+ function initCompat() {
+ if (!initCompat.init) {
+ initCompat.init = true;
+ isIE = getInternetExplorerVersion() !== -1;
+ }
+ }
+
+ var ResizeObserver$1 = { render: function render() {
+ var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: "resize-observer", attrs: { "tabindex": "-1" } });
+ }, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',
+ name: 'resize-observer',
+
+ methods: {
+ compareAndNotify: function compareAndNotify() {
+ if (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {
+ this._w = this.$el.offsetWidth;
+ this._h = this.$el.offsetHeight;
+ this.$emit('notify');
+ }
+ },
+ addResizeHandlers: function addResizeHandlers() {
+ this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);
+ this.compareAndNotify();
+ },
+ removeResizeHandlers: function removeResizeHandlers() {
+ if (this._resizeObject && this._resizeObject.onload) {
+ if (!isIE && this._resizeObject.contentDocument) {
+ this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);
+ }
+ delete this._resizeObject.onload;
+ }
+ }
+ },
+
+ mounted: function mounted() {
+ var _this = this;
+
+ initCompat();
+ this.$nextTick(function () {
+ _this._w = _this.$el.offsetWidth;
+ _this._h = _this.$el.offsetHeight;
+ });
+ var object = document.createElement('object');
+ this._resizeObject = object;
+ object.setAttribute('aria-hidden', 'true');
+ object.setAttribute('tabindex', -1);
+ object.onload = this.addResizeHandlers;
+ object.type = 'text/html';
+ if (isIE) {
+ this.$el.appendChild(object);
+ }
+ object.data = 'about:blank';
+ if (!isIE) {
+ this.$el.appendChild(object);
+ }
+ },
+ beforeDestroy: function beforeDestroy() {
+ this.removeResizeHandlers();
+ }
+ };
+
+ // Install the components
+ function install(Vue) {
+ Vue.component('resize-observer', ResizeObserver$1);
+ Vue.component('ResizeObserver', ResizeObserver$1);
+ }
+
+ // Plugin
+ var plugin$1 = {
+ // eslint-disable-next-line no-undef
+ version: "0.4.5",
+ install: install
+ };
+
+ // Auto-install
+ var GlobalVue$1 = null;
+ if (typeof window !== 'undefined') {
+ GlobalVue$1 = window.Vue;
+ } else if (typeof global !== 'undefined') {
+ GlobalVue$1 = global.Vue;
+ }
+ if (GlobalVue$1) {
+ GlobalVue$1.use(plugin$1);
+ }
+
var uid = 0;
- var script = {
+ var script$2 = {
name: 'RecycleScroller',
+ components: {
+ ResizeObserver: ResizeObserver$1
+ },
directives: {
ObserveVisibility: ObserveVisibility
},
- props: _objectSpread2({}, props, {
+ props: _objectSpread2(_objectSpread2({}, props), {}, {
itemSize: {
type: Number,
default: null
@@ -1193,9 +1317,9 @@
}
/* script */
- const __vue_script__ = script;
+ const __vue_script__$2 = script$2;
/* template */
- var __vue_render__ = function() {
+ var __vue_render__$1 = function () {
var _obj, _obj$1;
var _vm = this;
var _h = _vm.$createElement;
@@ -1208,22 +1332,22 @@
name: "observe-visibility",
rawName: "v-observe-visibility",
value: _vm.handleVisibilityChange,
- expression: "handleVisibilityChange"
- }
+ expression: "handleVisibilityChange",
+ },
],
staticClass: "vue-recycle-scroller",
class:
((_obj = {
ready: _vm.ready,
- "page-mode": _vm.pageMode
+ "page-mode": _vm.pageMode,
}),
(_obj["direction-" + _vm.direction] = true),
_obj),
on: {
- "&scroll": function($event) {
- return _vm.handleScroll($event)
- }
- }
+ "&scroll": function ($event) {
+ return _vm.handleScroll.apply(null, arguments)
+ },
+ },
},
[
_vm.$slots.before
@@ -1244,9 +1368,9 @@
((_obj$1 = {}),
(_obj$1[_vm.direction === "vertical" ? "minHeight" : "minWidth"] =
_vm.totalSize + "px"),
- _obj$1)
+ _obj$1),
},
- _vm._l(_vm.pool, function(view) {
+ _vm._l(_vm.pool, function (view) {
return _c(
"div",
{
@@ -1260,24 +1384,24 @@
"(" +
view.position +
"px)",
- zIndex: _vm.pool.length - view.nr.index
+ zIndex: _vm.items.length - view.nr.index,
}
: null,
on: {
- mouseenter: function($event) {
+ mouseenter: function ($event) {
return $event.target.classList.add("hover")
},
- mouseleave: function($event) {
+ mouseleave: function ($event) {
return $event.target.classList.remove("hover")
- }
- }
+ },
+ },
},
[
_vm._t("default", null, {
item: view.item,
index: view.nr.index,
- active: view.nr.used
- })
+ active: view.nr.used,
+ }),
],
2
)
@@ -1292,21 +1416,24 @@
[_vm._t("after")],
2
)
- : _vm._e()
- ]
+ : _vm._e(),
+ _vm._v(" "),
+ _c("ResizeObserver", { on: { notify: _vm.handleResize } }),
+ ],
+ 1
)
};
- var __vue_staticRenderFns__ = [];
- __vue_render__._withStripped = true;
+ var __vue_staticRenderFns__$1 = [];
+ __vue_render__$1._withStripped = true;
/* style */
- const __vue_inject_styles__ = undefined;
+ const __vue_inject_styles__$2 = undefined;
/* scoped */
- const __vue_scope_id__ = undefined;
+ const __vue_scope_id__$2 = undefined;
/* module identifier */
- const __vue_module_identifier__ = undefined;
+ const __vue_module_identifier__$2 = undefined;
/* functional template */
- const __vue_is_functional_template__ = false;
+ const __vue_is_functional_template__$2 = false;
/* style inject */
/* style inject SSR */
@@ -1315,13 +1442,13 @@
- const __vue_component__ = normalizeComponent(
- { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
- __vue_inject_styles__,
- __vue_script__,
- __vue_scope_id__,
- __vue_is_functional_template__,
- __vue_module_identifier__,
+ const __vue_component__$2 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
+ __vue_inject_styles__$2,
+ __vue_script__$2,
+ __vue_scope_id__$2,
+ __vue_is_functional_template__$2,
+ __vue_module_identifier__$2,
false,
undefined,
undefined,
@@ -1331,7 +1458,7 @@
var script$1 = {
name: 'DynamicScroller',
components: {
- RecycleScroller: __vue_component__
+ RecycleScroller: __vue_component__$2
},
inheritAttrs: false,
provide: function provide() {
@@ -1367,7 +1494,7 @@
vscrollResizeObserver: this.$_resizeObserver
};
},
- props: _objectSpread2({}, props, {
+ props: _objectSpread2(_objectSpread2({}, props), {}, {
minItemSize: {
type: [Number, String],
required: true
@@ -1517,7 +1644,7 @@
const __vue_script__$1 = script$1;
/* template */
- var __vue_render__$1 = function() {
+ var __vue_render__ = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -1531,14 +1658,14 @@
items: _vm.itemsWithSize,
"min-item-size": _vm.minItemSize,
direction: _vm.direction,
- "key-field": "id"
+ "key-field": "id",
},
on: { resize: _vm.onScrollerResize, visible: _vm.onScrollerVisible },
scopedSlots: _vm._u(
[
{
key: "default",
- fn: function(ref) {
+ fn: function (ref) {
var itemWithSize = ref.item;
var index = ref.index;
var active = ref.active;
@@ -1547,15 +1674,15 @@
item: itemWithSize.item,
index: index,
active: active,
- itemWithSize: itemWithSize
- })
+ itemWithSize: itemWithSize,
+ }),
]
- }
- }
+ },
+ },
],
null,
true
- )
+ ),
},
"RecycleScroller",
_vm.$attrs,
@@ -1567,13 +1694,13 @@
_vm._v(" "),
_c("template", { slot: "before" }, [_vm._t("before")], 2),
_vm._v(" "),
- _c("template", { slot: "after" }, [_vm._t("after")], 2)
+ _c("template", { slot: "after" }, [_vm._t("after")], 2),
],
2
)
};
- var __vue_staticRenderFns__$1 = [];
- __vue_render__$1._withStripped = true;
+ var __vue_staticRenderFns__ = [];
+ __vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__$1 = undefined;
@@ -1591,8 +1718,8 @@
- const __vue_component__$1 = normalizeComponent(
- { render: __vue_render__$1, staticRenderFns: __vue_staticRenderFns__$1 },
+ const __vue_component__$1 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
__vue_inject_styles__$1,
__vue_script__$1,
__vue_scope_id__$1,
@@ -1604,7 +1731,7 @@
undefined
);
- var script$2 = {
+ var script = {
name: 'DynamicScrollerItem',
inject: ['vscrollData', 'vscrollParent', 'vscrollResizeObserver'],
props: {
@@ -1811,18 +1938,18 @@
};
/* script */
- const __vue_script__$2 = script$2;
+ const __vue_script__ = script;
/* template */
/* style */
- const __vue_inject_styles__$2 = undefined;
+ const __vue_inject_styles__ = undefined;
/* scoped */
- const __vue_scope_id__$2 = undefined;
+ const __vue_scope_id__ = undefined;
/* module identifier */
- const __vue_module_identifier__$2 = undefined;
+ const __vue_module_identifier__ = undefined;
/* functional template */
- const __vue_is_functional_template__$2 = undefined;
+ const __vue_is_functional_template__ = undefined;
/* style inject */
/* style inject SSR */
@@ -1831,13 +1958,13 @@
- const __vue_component__$2 = normalizeComponent(
+ const __vue_component__ = /*#__PURE__*/normalizeComponent(
{},
- __vue_inject_styles__$2,
- __vue_script__$2,
- __vue_scope_id__$2,
- __vue_is_functional_template__$2,
- __vue_module_identifier__$2,
+ __vue_inject_styles__,
+ __vue_script__,
+ __vue_scope_id__,
+ __vue_is_functional_template__,
+ __vue_module_identifier__,
false,
undefined,
undefined,
@@ -1852,7 +1979,7 @@
} : _ref$idProp;
var store = {};
- var vm = new Vue({
+ var vm = new Vue__default["default"]({
data: function data() {
return {
store: store
@@ -1937,17 +2064,17 @@
}
function registerComponents(Vue, prefix) {
- Vue.component("".concat(prefix, "recycle-scroller"), __vue_component__);
- Vue.component("".concat(prefix, "RecycleScroller"), __vue_component__);
+ Vue.component("".concat(prefix, "recycle-scroller"), __vue_component__$2);
+ Vue.component("".concat(prefix, "RecycleScroller"), __vue_component__$2);
Vue.component("".concat(prefix, "dynamic-scroller"), __vue_component__$1);
Vue.component("".concat(prefix, "DynamicScroller"), __vue_component__$1);
- Vue.component("".concat(prefix, "dynamic-scroller-item"), __vue_component__$2);
- Vue.component("".concat(prefix, "DynamicScrollerItem"), __vue_component__$2);
+ Vue.component("".concat(prefix, "dynamic-scroller-item"), __vue_component__);
+ Vue.component("".concat(prefix, "DynamicScrollerItem"), __vue_component__);
}
- var plugin$1 = {
+ var plugin = {
// eslint-disable-next-line no-undef
- version: "1.2.1",
+ version: "1.2.4",
install: function install(Vue, options) {
var finalOptions = Object.assign({}, {
installComponents: true,
@@ -1966,25 +2093,25 @@
}
};
- var GlobalVue$1 = null;
+ var GlobalVue = null;
if (typeof window !== 'undefined') {
- GlobalVue$1 = window.Vue;
+ GlobalVue = window.Vue;
} else if (typeof global !== 'undefined') {
- GlobalVue$1 = global.Vue;
+ GlobalVue = global.Vue;
}
- if (GlobalVue$1) {
- GlobalVue$1.use(plugin$1);
+ if (GlobalVue) {
+ GlobalVue.use(plugin);
}
exports.DynamicScroller = __vue_component__$1;
- exports.DynamicScrollerItem = __vue_component__$2;
+ exports.DynamicScrollerItem = __vue_component__;
exports.IdState = IdState;
- exports.RecycleScroller = __vue_component__;
- exports.default = plugin$1;
+ exports.RecycleScroller = __vue_component__$2;
+ exports["default"] = plugin;
Object.defineProperty(exports, '__esModule', { value: true });
-})));
+}));
//# sourceMappingURL=vue-virtual-scroller.umd.js.map
diff --git a/dist/vue-virtual-scroller.umd.js.map b/dist/vue-virtual-scroller.umd.js.map
index 5496d264..834030c5 100644
--- a/dist/vue-virtual-scroller.umd.js.map
+++ b/dist/vue-virtual-scroller.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","_typeof","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","plugin","version","VERSION","install","options","finalOptions","assign","installComponents","componentsPrefix","key","config","GlobalVue","global","use"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vue-virtual-scroller.umd.js","sources":["../src/config.js","../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js","../node_modules/scrollparent/scrollparent.js","../src/components/common.js","../src/utils.js","../node_modules/vue-resize/dist/vue-resize.esm.js","../src/components/RecycleScroller.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../src/components/DynamicScroller.vue","../src/components/DynamicScrollerItem.vue","../src/mixins/IdState.js","../src/index.js"],"sourcesContent":["export default {\n itemsLimit: 1000,\n}\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction processOptions(value) {\n var options;\n\n if (typeof value === 'function') {\n // Simple options (callback-only)\n options = {\n callback: value\n };\n } else {\n // Options object\n options = value;\n }\n\n return options;\n}\nfunction throttle(callback, delay) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var timeout;\n var lastState;\n var currentArgs;\n\n var throttled = function throttled(state) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n currentArgs = args;\n if (timeout && state === lastState) return;\n var leading = options.leading;\n\n if (typeof leading === 'function') {\n leading = leading(state, lastState);\n }\n\n if ((!timeout || state !== lastState) && leading) {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n }\n\n lastState = state;\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n callback.apply(void 0, [state].concat(_toConsumableArray(currentArgs)));\n timeout = 0;\n }, delay);\n };\n\n throttled._clear = function () {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return throttled;\n}\nfunction deepEqual(val1, val2) {\n if (val1 === val2) return true;\n\n if (_typeof(val1) === 'object') {\n for (var key in val1) {\n if (!deepEqual(val1[key], val2[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\nvar VisibilityState =\n/*#__PURE__*/\nfunction () {\n function VisibilityState(el, options, vnode) {\n _classCallCheck(this, VisibilityState);\n\n this.el = el;\n this.observer = null;\n this.frozen = false;\n this.createObserver(options, vnode);\n }\n\n _createClass(VisibilityState, [{\n key: \"createObserver\",\n value: function createObserver(options, vnode) {\n var _this = this;\n\n if (this.observer) {\n this.destroyObserver();\n }\n\n if (this.frozen) return;\n this.options = processOptions(options);\n\n this.callback = function (result, entry) {\n _this.options.callback(result, entry);\n\n if (result && _this.options.once) {\n _this.frozen = true;\n\n _this.destroyObserver();\n }\n }; // Throttle\n\n\n if (this.callback && this.options.throttle) {\n var _ref = this.options.throttleOptions || {},\n _leading = _ref.leading;\n\n this.callback = throttle(this.callback, this.options.throttle, {\n leading: function leading(state) {\n return _leading === 'both' || _leading === 'visible' && state || _leading === 'hidden' && !state;\n }\n });\n }\n\n this.oldResult = undefined;\n this.observer = new IntersectionObserver(function (entries) {\n var entry = entries[0];\n\n if (entries.length > 1) {\n var intersectingEntry = entries.find(function (e) {\n return e.isIntersecting;\n });\n\n if (intersectingEntry) {\n entry = intersectingEntry;\n }\n }\n\n if (_this.callback) {\n // Use isIntersecting if possible because browsers can report isIntersecting as true, but intersectionRatio as 0, when something very slowly enters the viewport.\n var result = entry.isIntersecting && entry.intersectionRatio >= _this.threshold;\n if (result === _this.oldResult) return;\n _this.oldResult = result;\n\n _this.callback(result, entry);\n }\n }, this.options.intersection); // Wait for the element to be in document\n\n vnode.context.$nextTick(function () {\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n } // Cancel throttled call\n\n\n if (this.callback && this.callback._clear) {\n this.callback._clear();\n\n this.callback = null;\n }\n }\n }, {\n key: \"threshold\",\n get: function get() {\n return this.options.intersection && this.options.intersection.threshold || 0;\n }\n }]);\n\n return VisibilityState;\n}();\n\nfunction bind(el, _ref2, vnode) {\n var value = _ref2.value;\n if (!value) return;\n\n if (typeof IntersectionObserver === 'undefined') {\n console.warn('[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill');\n } else {\n var state = new VisibilityState(el, value, vnode);\n el._vue_visibilityState = state;\n }\n}\n\nfunction update(el, _ref3, vnode) {\n var value = _ref3.value,\n oldValue = _ref3.oldValue;\n if (deepEqual(value, oldValue)) return;\n var state = el._vue_visibilityState;\n\n if (!value) {\n unbind(el);\n return;\n }\n\n if (state) {\n state.createObserver(value, vnode);\n } else {\n bind(el, {\n value: value\n }, vnode);\n }\n}\n\nfunction unbind(el) {\n var state = el._vue_visibilityState;\n\n if (state) {\n state.destroyObserver();\n delete el._vue_visibilityState;\n }\n}\n\nvar ObserveVisibility = {\n bind: bind,\n update: update,\n unbind: unbind\n};\n\nfunction install(Vue) {\n Vue.directive('observe-visibility', ObserveVisibility);\n /* -- Add more components here -- */\n}\n/* -- Plugin definition & Auto-install -- */\n\n/* You shouldn't have to modify the code below */\n// Plugin\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"0.4.6\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { ObserveVisibility, install };\n","(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Scrollparent = factory();\n }\n}(this, function () {\n var regex = /(auto|scroll)/;\n\n var parents = function (node, ps) {\n if (node.parentNode === null) { return ps; }\n\n return parents(node.parentNode, ps.concat([node]));\n };\n\n var style = function (node, prop) {\n return getComputedStyle(node, null).getPropertyValue(prop);\n };\n\n var overflow = function (node) {\n return style(node, \"overflow\") + style(node, \"overflow-y\") + style(node, \"overflow-x\");\n };\n\n var scroll = function (node) {\n return regex.test(overflow(node));\n };\n\n var scrollParent = function (node) {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return ;\n }\n\n var ps = parents(node.parentNode, []);\n\n for (var i = 0; i < ps.length; i += 1) {\n if (scroll(ps[i])) {\n return ps[i];\n }\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n return scrollParent;\n}));\n","export const props = {\n items: {\n type: Array,\n required: true,\n },\n\n keyField: {\n type: String,\n default: 'id',\n },\n\n direction: {\n type: String,\n default: 'vertical',\n validator: (value) => ['vertical', 'horizontal'].includes(value),\n },\n}\n\nexport function simpleArray () {\n return this.items.length && typeof this.items[0] !== 'object'\n}\n","export let supportsPassive = false\n\nif (typeof window !== 'undefined') {\n supportsPassive = false\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get () {\n supportsPassive = true\n },\n })\n window.addEventListener('test', null, opts)\n } catch (e) {}\n}\n","function getInternetExplorerVersion() {\n\tvar ua = window.navigator.userAgent;\n\n\tvar msie = ua.indexOf('MSIE ');\n\tif (msie > 0) {\n\t\t// IE 10 or older => return version number\n\t\treturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n\t}\n\n\tvar trident = ua.indexOf('Trident/');\n\tif (trident > 0) {\n\t\t// IE 11 => return version number\n\t\tvar rv = ua.indexOf('rv:');\n\t\treturn parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n\t}\n\n\tvar edge = ua.indexOf('Edge/');\n\tif (edge > 0) {\n\t\t// Edge (IE 12+) => return version number\n\t\treturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n\t}\n\n\t// other browser\n\treturn -1;\n}\n\nvar isIE = void 0;\n\nfunction initCompat() {\n\tif (!initCompat.init) {\n\t\tinitCompat.init = true;\n\t\tisIE = getInternetExplorerVersion() !== -1;\n\t}\n}\n\nvar ResizeObserver = { render: function render() {\n\t\tvar _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"resize-observer\", attrs: { \"tabindex\": \"-1\" } });\n\t}, staticRenderFns: [], _scopeId: 'data-v-b329ee4c',\n\tname: 'resize-observer',\n\n\tmethods: {\n\t\tcompareAndNotify: function compareAndNotify() {\n\t\t\tif (this._w !== this.$el.offsetWidth || this._h !== this.$el.offsetHeight) {\n\t\t\t\tthis._w = this.$el.offsetWidth;\n\t\t\t\tthis._h = this.$el.offsetHeight;\n\t\t\t\tthis.$emit('notify');\n\t\t\t}\n\t\t},\n\t\taddResizeHandlers: function addResizeHandlers() {\n\t\t\tthis._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\t\t\tthis.compareAndNotify();\n\t\t},\n\t\tremoveResizeHandlers: function removeResizeHandlers() {\n\t\t\tif (this._resizeObject && this._resizeObject.onload) {\n\t\t\t\tif (!isIE && this._resizeObject.contentDocument) {\n\t\t\t\t\tthis._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n\t\t\t\t}\n\t\t\t\tdelete this._resizeObject.onload;\n\t\t\t}\n\t\t}\n\t},\n\n\tmounted: function mounted() {\n\t\tvar _this = this;\n\n\t\tinitCompat();\n\t\tthis.$nextTick(function () {\n\t\t\t_this._w = _this.$el.offsetWidth;\n\t\t\t_this._h = _this.$el.offsetHeight;\n\t\t});\n\t\tvar object = document.createElement('object');\n\t\tthis._resizeObject = object;\n\t\tobject.setAttribute('aria-hidden', 'true');\n\t\tobject.setAttribute('tabindex', -1);\n\t\tobject.onload = this.addResizeHandlers;\n\t\tobject.type = 'text/html';\n\t\tif (isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t\tobject.data = 'about:blank';\n\t\tif (!isIE) {\n\t\t\tthis.$el.appendChild(object);\n\t\t}\n\t},\n\tbeforeDestroy: function beforeDestroy() {\n\t\tthis.removeResizeHandlers();\n\t}\n};\n\n// Install the components\nfunction install(Vue) {\n\tVue.component('resize-observer', ResizeObserver);\n\tVue.component('ResizeObserver', ResizeObserver);\n}\n\n// Plugin\nvar plugin = {\n\t// eslint-disable-next-line no-undef\n\tversion: \"0.4.5\",\n\tinstall: install\n};\n\n// Auto-install\nvar GlobalVue = null;\nif (typeof window !== 'undefined') {\n\tGlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n\tGlobalVue = global.Vue;\n}\nif (GlobalVue) {\n\tGlobalVue.use(plugin);\n}\n\nexport { install, ResizeObserver };\nexport default plugin;\n","\n \n\n\n\n\n\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n","import Vue from 'vue'\n\nexport default function ({\n idProp = vm => vm.item.id,\n} = {}) {\n const store = {}\n const vm = new Vue({\n data () {\n return {\n store,\n }\n },\n })\n\n // @vue/component\n return {\n data () {\n return {\n idState: null,\n }\n },\n\n created () {\n this.$_id = null\n if (typeof idProp === 'function') {\n this.$_getId = () => idProp.call(this, this)\n } else {\n this.$_getId = () => this[idProp]\n }\n this.$watch(this.$_getId, {\n handler (value) {\n this.$nextTick(() => {\n this.$_id = value\n })\n },\n immediate: true,\n })\n this.$_updateIdState()\n },\n\n beforeUpdate () {\n this.$_updateIdState()\n },\n\n methods: {\n /**\n * Initialize an idState\n * @param {number|string} id Unique id for the data\n */\n $_idStateInit (id) {\n const factory = this.$options.idState\n if (typeof factory === 'function') {\n const data = factory.call(this, this)\n vm.$set(store, id, data)\n this.$_id = id\n return data\n } else {\n throw new Error('[mixin IdState] Missing `idState` function on component definition.')\n }\n },\n\n /**\n * Ensure idState is created and up-to-date\n */\n $_updateIdState () {\n const id = this.$_getId()\n if (id == null) {\n console.warn(`No id found for IdState with idProp: '${idProp}'.`)\n }\n if (id !== this.$_id) {\n if (!store[id]) {\n this.$_idStateInit(id)\n }\n this.idState = store[id]\n }\n },\n },\n }\n}\n","import config from './config'\n\nimport RecycleScroller from './components/RecycleScroller.vue'\nimport DynamicScroller from './components/DynamicScroller.vue'\nimport DynamicScrollerItem from './components/DynamicScrollerItem.vue'\n\nexport { default as IdState } from './mixins/IdState'\n\nexport {\n RecycleScroller,\n DynamicScroller,\n DynamicScrollerItem,\n}\n\nfunction registerComponents (Vue, prefix) {\n Vue.component(`${prefix}recycle-scroller`, RecycleScroller)\n Vue.component(`${prefix}RecycleScroller`, RecycleScroller)\n Vue.component(`${prefix}dynamic-scroller`, DynamicScroller)\n Vue.component(`${prefix}DynamicScroller`, DynamicScroller)\n Vue.component(`${prefix}dynamic-scroller-item`, DynamicScrollerItem)\n Vue.component(`${prefix}DynamicScrollerItem`, DynamicScrollerItem)\n}\n\nconst plugin = {\n // eslint-disable-next-line no-undef\n version: VERSION,\n install (Vue, options) {\n const finalOptions = Object.assign({}, {\n installComponents: true,\n componentsPrefix: '',\n }, options)\n\n for (const key in finalOptions) {\n if (typeof finalOptions[key] !== 'undefined') {\n config[key] = finalOptions[key]\n }\n }\n\n if (finalOptions.installComponents) {\n registerComponents(Vue, finalOptions.componentsPrefix)\n }\n },\n}\n\nexport default plugin\n\n// Auto-install\nlet GlobalVue = null\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue\n}\nif (GlobalVue) {\n GlobalVue.use(plugin)\n}\n"],"names":["itemsLimit","install","plugin","GlobalVue","this","props","items","type","Array","required","keyField","String","default","direction","validator","value","includes","simpleArray","length","_typeof","supportsPassive","window","opts","Object","defineProperty","get","addEventListener","e","ResizeObserver","idProp","vm","item","id","store","Vue","data","idState","created","$_id","$_getId","call","$watch","handler","$nextTick","immediate","$_updateIdState","beforeUpdate","methods","$_idStateInit","factory","$options","$set","Error","console","warn","registerComponents","prefix","component","RecycleScroller","DynamicScroller","DynamicScrollerItem","version","VERSION","options","finalOptions","assign","installComponents","componentsPrefix","key","config","global","use"],"mappings":"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"}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000..99e3c455
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,4768 @@
+{
+ "name": "@startinfinity/vue-virtual-scroller",
+ "version": "1.2.4",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
+ "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.16.0"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
+ "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
+ "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.0",
+ "@babel/generator": "^7.16.0",
+ "@babel/helper-compilation-targets": "^7.16.0",
+ "@babel/helper-module-transforms": "^7.16.0",
+ "@babel/helpers": "^7.16.0",
+ "@babel/parser": "^7.16.0",
+ "@babel/template": "^7.16.0",
+ "@babel/traverse": "^7.16.0",
+ "@babel/types": "^7.16.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.1.2",
+ "semver": "^6.3.0",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
+ "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz",
+ "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz",
+ "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-explode-assignable-expression": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
+ "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.16.0",
+ "@babel/helper-validator-option": "^7.14.5",
+ "browserslist": "^4.17.5",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
+ "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/helper-member-expression-to-functions": "^7.16.0",
+ "@babel/helper-optimise-call-expression": "^7.16.0",
+ "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-split-export-declaration": "^7.16.0"
+ }
+ },
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz",
+ "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "regexpu-core": "^4.7.1"
+ }
+ },
+ "@babel/helper-define-polyfill-provider": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz",
+ "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.13.0",
+ "@babel/helper-module-imports": "^7.12.13",
+ "@babel/helper-plugin-utils": "^7.13.0",
+ "@babel/traverse": "^7.13.0",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2",
+ "semver": "^6.1.2"
+ }
+ },
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz",
+ "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
+ "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.16.0",
+ "@babel/template": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
+ "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
+ "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
+ "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
+ "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
+ "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.16.0",
+ "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-simple-access": "^7.16.0",
+ "@babel/helper-split-export-declaration": "^7.16.0",
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "@babel/template": "^7.16.0",
+ "@babel/traverse": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz",
+ "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
+ "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "dev": true
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz",
+ "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-wrap-function": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
+ "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.16.0",
+ "@babel/helper-optimise-call-expression": "^7.16.0",
+ "@babel/traverse": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
+ "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
+ "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
+ "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.15.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
+ "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
+ "dev": true
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
+ "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "dev": true
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz",
+ "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/template": "^7.16.0",
+ "@babel/traverse": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/helpers": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz",
+ "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.16.0",
+ "@babel/traverse": "^7.16.3",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
+ "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
+ "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
+ "dev": true
+ },
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.16.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz",
+ "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz",
+ "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.16.0"
+ }
+ },
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz",
+ "integrity": "sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-remap-async-to-generator": "^7.16.4",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ }
+ },
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
+ "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-proposal-class-static-block": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz",
+ "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ }
+ },
+ "@babel/plugin-proposal-dynamic-import": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz",
+ "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz",
+ "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz",
+ "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz",
+ "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ }
+ },
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz",
+ "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz",
+ "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz",
+ "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.16.0",
+ "@babel/helper-compilation-targets": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.16.0"
+ }
+ },
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz",
+ "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz",
+ "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "@babel/plugin-proposal-private-methods": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz",
+ "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz",
+ "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-create-class-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz",
+ "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ }
+ },
+ "@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz",
+ "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz",
+ "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-remap-async-to-generator": "^7.16.0"
+ }
+ },
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz",
+ "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz",
+ "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz",
+ "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/helper-optimise-call-expression": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.16.0",
+ "@babel/helper-split-export-declaration": "^7.16.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz",
+ "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz",
+ "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz",
+ "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz",
+ "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz",
+ "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz",
+ "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-function-name": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz",
+ "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-literals": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz",
+ "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz",
+ "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz",
+ "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz",
+ "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-simple-access": "^7.16.0",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz",
+ "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.16.0",
+ "@babel/helper-module-transforms": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz",
+ "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz",
+ "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.16.0"
+ }
+ },
+ "@babel/plugin-transform-new-target": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz",
+ "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-object-super": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz",
+ "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.16.0"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz",
+ "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz",
+ "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz",
+ "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==",
+ "dev": true,
+ "requires": {
+ "regenerator-transform": "^0.14.2"
+ }
+ },
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz",
+ "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz",
+ "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-spread": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz",
+ "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
+ }
+ },
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz",
+ "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz",
+ "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz",
+ "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-unicode-escapes": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz",
+ "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz",
+ "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.16.0",
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.16.4",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.4.tgz",
+ "integrity": "sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.16.4",
+ "@babel/helper-compilation-targets": "^7.16.3",
+ "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-validator-option": "^7.14.5",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.2",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.16.4",
+ "@babel/plugin-proposal-class-properties": "^7.16.0",
+ "@babel/plugin-proposal-class-static-block": "^7.16.0",
+ "@babel/plugin-proposal-dynamic-import": "^7.16.0",
+ "@babel/plugin-proposal-export-namespace-from": "^7.16.0",
+ "@babel/plugin-proposal-json-strings": "^7.16.0",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
+ "@babel/plugin-proposal-numeric-separator": "^7.16.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.16.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.16.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.16.0",
+ "@babel/plugin-proposal-private-methods": "^7.16.0",
+ "@babel/plugin-proposal-private-property-in-object": "^7.16.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.16.0",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-transform-arrow-functions": "^7.16.0",
+ "@babel/plugin-transform-async-to-generator": "^7.16.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.16.0",
+ "@babel/plugin-transform-block-scoping": "^7.16.0",
+ "@babel/plugin-transform-classes": "^7.16.0",
+ "@babel/plugin-transform-computed-properties": "^7.16.0",
+ "@babel/plugin-transform-destructuring": "^7.16.0",
+ "@babel/plugin-transform-dotall-regex": "^7.16.0",
+ "@babel/plugin-transform-duplicate-keys": "^7.16.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.16.0",
+ "@babel/plugin-transform-for-of": "^7.16.0",
+ "@babel/plugin-transform-function-name": "^7.16.0",
+ "@babel/plugin-transform-literals": "^7.16.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.16.0",
+ "@babel/plugin-transform-modules-amd": "^7.16.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.16.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.16.0",
+ "@babel/plugin-transform-modules-umd": "^7.16.0",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0",
+ "@babel/plugin-transform-new-target": "^7.16.0",
+ "@babel/plugin-transform-object-super": "^7.16.0",
+ "@babel/plugin-transform-parameters": "^7.16.3",
+ "@babel/plugin-transform-property-literals": "^7.16.0",
+ "@babel/plugin-transform-regenerator": "^7.16.0",
+ "@babel/plugin-transform-reserved-words": "^7.16.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.16.0",
+ "@babel/plugin-transform-spread": "^7.16.0",
+ "@babel/plugin-transform-sticky-regex": "^7.16.0",
+ "@babel/plugin-transform-template-literals": "^7.16.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.16.0",
+ "@babel/plugin-transform-unicode-escapes": "^7.16.0",
+ "@babel/plugin-transform-unicode-regex": "^7.16.0",
+ "@babel/preset-modules": "^0.1.5",
+ "@babel/types": "^7.16.0",
+ "babel-plugin-polyfill-corejs2": "^0.3.0",
+ "babel-plugin-polyfill-corejs3": "^0.4.0",
+ "babel-plugin-polyfill-regenerator": "^0.3.0",
+ "core-js-compat": "^3.19.1",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/preset-modules": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+ "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz",
+ "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/template": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
+ "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.0",
+ "@babel/parser": "^7.16.0",
+ "@babel/types": "^7.16.0"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.16.3",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
+ "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.0",
+ "@babel/generator": "^7.16.0",
+ "@babel/helper-function-name": "^7.16.0",
+ "@babel/helper-hoist-variables": "^7.16.0",
+ "@babel/helper-split-export-declaration": "^7.16.0",
+ "@babel/parser": "^7.16.3",
+ "@babel/types": "^7.16.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
+ "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.15.7",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@rollup/plugin-commonjs": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz",
+ "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8",
+ "commondir": "^1.0.1",
+ "estree-walker": "^1.0.1",
+ "glob": "^7.1.2",
+ "is-reference": "^1.1.2",
+ "magic-string": "^0.25.2",
+ "resolve": "^1.11.0"
+ }
+ },
+ "@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
+ "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ }
+ },
+ "@rollup/plugin-replace": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
+ "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "16.11.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz",
+ "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==",
+ "dev": true
+ },
+ "@types/resolve": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
+ "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@vue/component-compiler": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@vue/component-compiler/-/component-compiler-4.2.4.tgz",
+ "integrity": "sha512-tFGw3h3+nxiqnyborwWQ+rUgKAwSFl0Sdg+BCZkWTyFfkEF5fqunTNoklEUDdtRQMmVqsajn1pOZdm0zh4Uicw==",
+ "dev": true,
+ "requires": {
+ "@vue/component-compiler-utils": "^3.0.0",
+ "clean-css": "^4.1.11",
+ "hash-sum": "^1.0.2",
+ "less": "^3.9.0",
+ "postcss-modules-sync": "^1.0.0",
+ "pug": "^3.0.1",
+ "sass": "^1.18.0",
+ "source-map": "0.6.*",
+ "stylus": "^0.54.5"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "@vue/component-compiler-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
+ "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==",
+ "dev": true,
+ "requires": {
+ "consolidate": "^0.15.1",
+ "hash-sum": "^1.0.2",
+ "lru-cache": "^4.1.2",
+ "merge-source-map": "^1.1.0",
+ "postcss": "^7.0.36",
+ "postcss-selector-parser": "^6.0.2",
+ "prettier": "^1.18.2 || ^2.0.0",
+ "source-map": "~0.6.1",
+ "vue-template-es2015-compiler": "^1.9.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.21.3"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true
+ }
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "array-includes": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
+ "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1",
+ "get-intrinsic": "^1.1.1",
+ "is-string": "^1.0.7"
+ }
+ },
+ "array.prototype.flat": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz",
+ "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.0"
+ }
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true,
+ "optional": true
+ },
+ "assert-never": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
+ "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==",
+ "dev": true,
+ "optional": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true,
+ "optional": true
+ },
+ "autoprefixer": {
+ "version": "9.8.8",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz",
+ "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "picocolors": "^0.2.1",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "dependencies": {
+ "picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+ "dev": true
+ }
+ }
+ },
+ "babel-eslint": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
+ "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.7.0",
+ "@babel/traverse": "^7.7.0",
+ "@babel/types": "^7.7.0",
+ "eslint-visitor-keys": "^1.0.0",
+ "resolve": "^1.12.0"
+ }
+ },
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "dev": true,
+ "requires": {
+ "object.assign": "^4.1.0"
+ }
+ },
+ "babel-plugin-polyfill-corejs2": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz",
+ "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.13.11",
+ "@babel/helper-define-polyfill-provider": "^0.3.0",
+ "semver": "^6.1.1"
+ }
+ },
+ "babel-plugin-polyfill-corejs3": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz",
+ "integrity": "sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-define-polyfill-provider": "^0.3.0",
+ "core-js-compat": "^3.18.0"
+ }
+ },
+ "babel-plugin-polyfill-regenerator": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz",
+ "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-define-polyfill-provider": "^0.3.0"
+ }
+ },
+ "babel-walk": {
+ "version": "3.0.0-canary-5",
+ "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
+ "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "big.js": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
+ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true,
+ "optional": true
+ },
+ "bluebird": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browserslist": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz",
+ "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001280",
+ "electron-to-chromium": "^1.3.896",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.1",
+ "picocolors": "^1.0.0"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz",
+ "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==",
+ "dev": true
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001285",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001285.tgz",
+ "integrity": "sha512-KAOkuUtcQ901MtmvxfKD+ODHH9YVDYnBt+TGYSz2KIfnq22CiArbUxXPN9067gNbgMlnNYRSwho8OPXZPALB9Q==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "character-parser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
+ "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-regex": "^1.0.3"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
+ "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "clean-css": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
+ "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
+ "dev": true,
+ "requires": {
+ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "consolidate": {
+ "version": "0.15.1",
+ "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
+ "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.1.1"
+ }
+ },
+ "constantinople": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
+ "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.1"
+ }
+ },
+ "convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "copy-anything": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz",
+ "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-what": "^3.12.0"
+ }
+ },
+ "core-js-compat": {
+ "version": "3.19.3",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.3.tgz",
+ "integrity": "sha512-59tYzuWgEEVU9r+SRgceIGXSSUn47JknoiXW6Oq7RW8QHjXWz3/vp8pa7dbtuVu40sewz3OP3JmQEcDdztrLhA==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.18.1",
+ "semver": "7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true
+ }
+ }
+ },
+ "cross-env": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.1"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "css": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
+ "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "source-map": "^0.6.1",
+ "source-map-resolve": "^0.5.2",
+ "urix": "^0.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "css-parse": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
+ "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "css": "^2.0.0"
+ }
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz",
+ "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "fastparse": "^1.1.2"
+ }
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true
+ },
+ "de-indent": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
+ "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true,
+ "optional": true
+ },
+ "deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "doctypes": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
+ "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
+ "dev": true,
+ "optional": true
+ },
+ "dom-serializer": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+ "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true
+ }
+ }
+ },
+ "domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
+ "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.2.0"
+ }
+ },
+ "domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.4.12",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.12.tgz",
+ "integrity": "sha512-zjfhG9Us/hIy8AlQ5OzfbR/C4aBv1Dg/ak4GX35CELYlJ4tDAtoEcQivXvyBdqdNQ+R6PhlgQqV8UNPJmhkJog==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "entities": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+ "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "prr": "~1.0.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
+ "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.1.1",
+ "get-symbol-description": "^1.0.0",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.2",
+ "internal-slot": "^1.0.3",
+ "is-callable": "^1.2.4",
+ "is-negative-zero": "^2.0.1",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.1",
+ "is-string": "^1.0.7",
+ "is-weakref": "^1.0.1",
+ "object-inspect": "^1.11.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.4",
+ "string.prototype.trimstart": "^1.0.4",
+ "unbox-primitive": "^1.0.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "eslint": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
+ "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.10.0",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^1.4.3",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.2",
+ "esquery": "^1.0.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^7.0.0",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.14",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.3",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "semver": "^6.1.2",
+ "strip-ansi": "^5.2.0",
+ "strip-json-comments": "^3.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "eslint-config-standard": {
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz",
+ "integrity": "sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==",
+ "dev": true
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
+ "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.2.7",
+ "resolve": "^1.20.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz",
+ "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.2.7",
+ "find-up": "^2.1.0",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
+ "eslint-plugin-es": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
+ "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "dev": true,
+ "requires": {
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-html": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.2.0.tgz",
+ "integrity": "sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^7.1.2"
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.25.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz",
+ "integrity": "sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.1.4",
+ "array.prototype.flat": "^1.2.5",
+ "debug": "^2.6.9",
+ "doctrine": "^2.1.0",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-module-utils": "^2.7.1",
+ "has": "^1.0.3",
+ "is-core-module": "^2.8.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.5",
+ "resolve": "^1.20.0",
+ "tsconfig-paths": "^3.11.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-node": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
+ "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "dev": true,
+ "requires": {
+ "eslint-plugin-es": "^3.0.0",
+ "eslint-utils": "^2.0.0",
+ "ignore": "^5.1.1",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.10.1",
+ "semver": "^6.1.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "ignore": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
+ "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-promise": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz",
+ "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==",
+ "dev": true
+ },
+ "eslint-plugin-standard": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz",
+ "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==",
+ "dev": true
+ },
+ "eslint-plugin-vue": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz",
+ "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==",
+ "dev": true,
+ "requires": {
+ "natural-compare": "^1.4.0",
+ "semver": "^5.6.0",
+ "vue-eslint-parser": "^7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
+ "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+ "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true
+ }
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true
+ }
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fastparse": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
+ "dev": true
+ },
+ "figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "dev": true,
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ }
+ },
+ "flatted": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "generic-names": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-1.0.3.tgz",
+ "integrity": "sha1-LXhqEhruUIh2eWk56OO/+DbCCRc=",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^0.2.16"
+ }
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true
+ },
+ "get-intrinsic": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "get-symbol-description": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+ "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ }
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
+ }
+ },
+ "has-bigints": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
+ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
+ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
+ "dev": true
+ },
+ "has-tostringtag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.2"
+ }
+ },
+ "hash-sum": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
+ "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
+ "dev": true
+ },
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true
+ },
+ "htmlparser2": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
+ "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.2",
+ "domutils": "^2.8.0",
+ "entities": "^3.0.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "icss-replace-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "immutable": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz",
+ "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
+ "dev": true,
+ "optional": true
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
+ "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.19",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.6.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "internal-slot": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
+ "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ }
+ },
+ "is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dev": true,
+ "requires": {
+ "has-bigints": "^1.0.1"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-callable": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+ "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+ "dev": true
+ },
+ "is-core-module": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
+ "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-expression": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
+ "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "is-negative-zero": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "optional": true
+ },
+ "is-number-object": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
+ "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+ "dev": true,
+ "optional": true
+ },
+ "is-reference": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "*"
+ }
+ },
+ "is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-shared-array-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz",
+ "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==",
+ "dev": true
+ },
+ "is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.2"
+ }
+ },
+ "is-weakref": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz",
+ "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0"
+ }
+ },
+ "is-what": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
+ "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
+ "dev": true,
+ "optional": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "jest-worker": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "js-base64": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
+ "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+ "dev": true
+ },
+ "js-stringify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
+ "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=",
+ "dev": true,
+ "optional": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "jstransformer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
+ "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-promise": "^2.0.0",
+ "promise": "^7.0.1"
+ }
+ },
+ "less": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz",
+ "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "copy-anything": "^2.0.1",
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "make-dir": "^2.1.0",
+ "mime": "^1.4.1",
+ "native-request": "^1.0.5",
+ "source-map": "~0.6.0",
+ "tslib": "^1.10.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "loader-utils": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
+ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "dev": true,
+ "requires": {
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ }
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "merge-source-map": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+ "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "optional": true
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
+ },
+ "native-request": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz",
+ "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==",
+ "dev": true,
+ "optional": true
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
+ "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "optional": true
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-inspect": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz",
+ "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true
+ },
+ "object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "object.values": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
+ "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "os": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/os/-/os-0.1.2.tgz",
+ "integrity": "sha512-ZoXJkvAnljwvc56MbvhtKVWmSkzV712k42Is2mA0+0KTSRakq5XXuXpjZjgAt9ctzl51ojhQWakQQpmOvXWfjQ==",
+ "dev": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "path": {
+ "version": "0.12.7",
+ "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
+ "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
+ "dev": true,
+ "requires": {
+ "process": "^0.11.1",
+ "util": "^0.10.3"
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true,
+ "optional": true
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
+ },
+ "postcss": {
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^0.2.1",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "postcss-modules-local-by-default": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "postcss-modules-scope": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+ "dev": true,
+ "requires": {
+ "css-selector-tokenizer": "^0.7.0",
+ "postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "postcss-modules-sync": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-sync/-/postcss-modules-sync-1.0.0.tgz",
+ "integrity": "sha1-YZpxnPeN0WpINBNRQLMkz3czS+E=",
+ "dev": true,
+ "requires": {
+ "generic-names": "^1.0.2",
+ "icss-replace-symbols": "^1.0.2",
+ "postcss": "^5.2.5",
+ "postcss-modules-local-by-default": "^1.1.1",
+ "postcss-modules-scope": "^1.0.2",
+ "string-hash": "^1.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "dev": true
+ },
+ "postcss": {
+ "version": "5.2.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^1.1.3",
+ "js-base64": "^2.1.9",
+ "source-map": "^0.5.6",
+ "supports-color": "^3.2.3"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
+ "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prettier": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
+ "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
+ "dev": true,
+ "optional": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ },
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true,
+ "optional": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "pug": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
+ "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pug-code-gen": "^3.0.2",
+ "pug-filters": "^4.0.0",
+ "pug-lexer": "^5.0.1",
+ "pug-linker": "^4.0.0",
+ "pug-load": "^3.0.0",
+ "pug-parser": "^6.0.0",
+ "pug-runtime": "^3.0.1",
+ "pug-strip-comments": "^2.0.0"
+ }
+ },
+ "pug-attrs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
+ "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "constantinople": "^4.0.1",
+ "js-stringify": "^1.0.2",
+ "pug-runtime": "^3.0.0"
+ }
+ },
+ "pug-code-gen": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
+ "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "constantinople": "^4.0.1",
+ "doctypes": "^1.1.0",
+ "js-stringify": "^1.0.2",
+ "pug-attrs": "^3.0.0",
+ "pug-error": "^2.0.0",
+ "pug-runtime": "^3.0.0",
+ "void-elements": "^3.1.0",
+ "with": "^7.0.0"
+ }
+ },
+ "pug-error": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
+ "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==",
+ "dev": true,
+ "optional": true
+ },
+ "pug-filters": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
+ "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "constantinople": "^4.0.1",
+ "jstransformer": "1.0.0",
+ "pug-error": "^2.0.0",
+ "pug-walk": "^2.0.0",
+ "resolve": "^1.15.1"
+ }
+ },
+ "pug-lexer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
+ "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "character-parser": "^2.2.0",
+ "is-expression": "^4.0.0",
+ "pug-error": "^2.0.0"
+ }
+ },
+ "pug-linker": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
+ "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pug-error": "^2.0.0",
+ "pug-walk": "^2.0.0"
+ }
+ },
+ "pug-load": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
+ "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "pug-walk": "^2.0.0"
+ }
+ },
+ "pug-parser": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
+ "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pug-error": "^2.0.0",
+ "token-stream": "1.0.0"
+ }
+ },
+ "pug-runtime": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
+ "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==",
+ "dev": true,
+ "optional": true
+ },
+ "pug-strip-comments": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
+ "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pug-error": "^2.0.0"
+ }
+ },
+ "pug-walk": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
+ "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==",
+ "dev": true,
+ "optional": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "querystring": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
+ "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "regenerate": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+ "dev": true
+ },
+ "regenerate-unicode-properties": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz",
+ "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.2"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
+ "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.8.4"
+ }
+ },
+ "regexpp": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "dev": true
+ },
+ "regexpu-core": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz",
+ "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^9.0.0",
+ "regjsgen": "^0.5.2",
+ "regjsparser": "^0.7.0",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.0.0"
+ }
+ },
+ "regjsgen": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
+ "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz",
+ "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==",
+ "dev": true,
+ "requires": {
+ "jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
+ }
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true,
+ "optional": true
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rollup": {
+ "version": "2.60.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.2.tgz",
+ "integrity": "sha512-1Bgjpq61sPjgoZzuiDSGvbI1tD91giZABgjCQBKM5aYLnzjq52GoDuWVwT/cm/MCxCMPU8gqQvkj8doQ5C8Oqw==",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "rollup-plugin-babel": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
+ "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "rollup-pluginutils": "^2.8.1"
+ }
+ },
+ "rollup-plugin-css-only": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-css-only/-/rollup-plugin-css-only-2.1.0.tgz",
+ "integrity": "sha512-pfdcqAWEmRMFy+ABXAQPA/DKyPqLuBTOf+lWSOgtrVs1v/q7DSXzYa9QZg4myd8/1F7NHcdvPkWnfWqMxq9vrw==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.0",
+ "fs-extra": "^9.0.0"
+ }
+ },
+ "rollup-plugin-css-porter": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-css-porter/-/rollup-plugin-css-porter-1.0.2.tgz",
+ "integrity": "sha512-efZ+uYsxUFDXwtbjw1sjiL6g1ymZVuLzteew62rmHxS46UWma2eDcK8k8n8c2MuyP2ulxjOM4YNX9X9Z0BYmAg==",
+ "dev": true,
+ "requires": {
+ "clean-css": "^4.2.1",
+ "fs-extra": "^7.0.1",
+ "os": "^0.1.1",
+ "path": "^0.12.7",
+ "rollup-pluginutils": "^2.4.1"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ }
+ }
+ },
+ "rollup-plugin-eslint": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-eslint/-/rollup-plugin-eslint-7.0.0.tgz",
+ "integrity": "sha512-u35kXiY11ULeNQGTlRkYx7uGJ/hS/Dx3wj8f9YVC3oMLTGU9fOqQJsAKYtBFZU3gJ8Vt3gu8ppB1vnKl+7gatQ==",
+ "dev": true,
+ "requires": {
+ "eslint": "^6.0.0",
+ "rollup-pluginutils": "^2.7.1"
+ }
+ },
+ "rollup-plugin-terser": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz",
+ "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "jest-worker": "^24.9.0",
+ "rollup-pluginutils": "^2.8.2",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^4.6.2"
+ }
+ },
+ "rollup-plugin-vue": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-vue/-/rollup-plugin-vue-5.1.9.tgz",
+ "integrity": "sha512-DXzrBUD2j68Y6nls4MmuJsFL1SrQDpdgjxvhk/oy04LzJmXJoX1x31yLEBFkkmvpbon6Q885WJLvEMiMyT+3rA==",
+ "dev": true,
+ "requires": {
+ "@vue/component-compiler": "^4.2.3",
+ "@vue/component-compiler-utils": "^3.1.2",
+ "debug": "^4.1.1",
+ "hash-sum": "^1.0.2",
+ "magic-string": "^0.25.7",
+ "querystring": "^0.2.0",
+ "rollup-pluginutils": "^2.8.2",
+ "source-map": "0.7.3",
+ "vue-runtime-helpers": "^1.1.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.6.1"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
+ "dev": true
+ }
+ }
+ },
+ "run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sass": {
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.44.0.tgz",
+ "integrity": "sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chokidar": ">=3.0.0 <4.0.0",
+ "immutable": "^4.0.0"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true,
+ "optional": true
+ },
+ "scrollparent": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/scrollparent/-/scrollparent-2.0.1.tgz",
+ "integrity": "sha1-cV1bnMV3YPsivczDvvtb/gaxoxc="
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "signal-exit": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
+ "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
+ "dev": true,
+ "optional": true
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "string-hash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz",
+ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+ "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+ "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ }
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
+ "stylus": {
+ "version": "0.54.8",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz",
+ "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "css-parse": "~2.0.0",
+ "debug": "~3.1.0",
+ "glob": "^7.1.6",
+ "mkdirp": "~1.0.4",
+ "safer-buffer": "^2.1.2",
+ "sax": "~1.2.4",
+ "semver": "^6.3.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "optional": true
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true,
+ "optional": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "table": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "token-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
+ "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=",
+ "dev": true,
+ "optional": true
+ },
+ "tsconfig-paths": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz",
+ "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==",
+ "dev": true,
+ "requires": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ }
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "unbox-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
+ "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has-bigints": "^1.0.1",
+ "has-symbols": "^1.0.2",
+ "which-boxed-primitive": "^1.0.2"
+ }
+ },
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+ "dev": true,
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
+ "dev": true
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true,
+ "optional": true
+ },
+ "util": {
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ }
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=",
+ "dev": true,
+ "optional": true
+ },
+ "vue": {
+ "version": "2.6.14",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
+ "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==",
+ "dev": true
+ },
+ "vue-eslint-parser": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz",
+ "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "eslint-scope": "^5.1.1",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.2.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^6.3.0"
+ }
+ },
+ "vue-observe-visibility": {
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-0.4.6.tgz",
+ "integrity": "sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q=="
+ },
+ "vue-resize": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-0.4.5.tgz",
+ "integrity": "sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg=="
+ },
+ "vue-runtime-helpers": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vue-runtime-helpers/-/vue-runtime-helpers-1.1.2.tgz",
+ "integrity": "sha512-pZfGp+PW/IXEOyETE09xQHR1CKkR9HfHZdnMD/FVLUNI+HxYTa82evx5WrF6Kz4s82qtqHvMZ8MZpbk2zT2E1Q==",
+ "dev": true
+ },
+ "vue-template-compiler": {
+ "version": "2.6.14",
+ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz",
+ "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==",
+ "dev": true,
+ "requires": {
+ "de-indent": "^1.0.2",
+ "he": "^1.1.0"
+ }
+ },
+ "vue-template-es2015-compiler": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
+ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "requires": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ }
+ },
+ "with": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
+ "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "assert-never": "^1.2.1",
+ "babel-walk": "3.0.0-canary-5"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
index aabf3ca5..eddc2b53 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@startinfinity/vue-virtual-scroller",
"description": "Smooth scrolling for any amount of data",
- "version": "1.2.3",
+ "version": "1.2.4",
"author": {
"name": "Guillaume Chau",
"email": "guillaume.b.chau@gmail.com"