react-klasha
Version:
This is an reactJS library for implementing klasha payment gateway
1 lines • 48.1 kB
JSON
{"ast":null,"code":"import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, f as readTask, c as writeTask, j as forceUpdate, h, H as Host, i as getElement } from \"./index-7a8b7a1c.js\";\nimport { c as componentOnReady } from \"./helpers-dd7e4b7b.js\";\nvar CELL_TYPE_ITEM = \"item\";\nvar CELL_TYPE_HEADER = \"header\";\nvar CELL_TYPE_FOOTER = \"footer\";\nvar NODE_CHANGE_NONE = 0;\nvar NODE_CHANGE_POSITION = 1;\nvar NODE_CHANGE_CELL = 2;\nvar MIN_READS = 2;\n\nvar updateVDom = function (t, e, i, r) {\n for (var n = 0, s = t; n < s.length; n++) {\n var a = s[n];\n a.change = NODE_CHANGE_NONE;\n a.d = true;\n }\n\n var o = [];\n var l = r.offset + r.length;\n\n var h = function (r) {\n var n = i[r];\n var s = t.find(function (t) {\n return t.d && t.cell === n;\n });\n\n if (s) {\n var a = e[r];\n\n if (a !== s.top) {\n s.top = a;\n s.change = NODE_CHANGE_POSITION;\n }\n\n s.d = false;\n } else {\n o.push(n);\n }\n };\n\n for (var c = r.offset; c < l; c++) {\n h(c);\n }\n\n var u = t.filter(function (t) {\n return t.d;\n });\n\n var f = function (i) {\n var r = u.find(function (t) {\n return t.d && t.cell.type === i.type;\n });\n var n = i.i;\n\n if (r) {\n r.d = false;\n r.change = NODE_CHANGE_CELL;\n r.cell = i;\n r.top = e[n];\n } else {\n t.push({\n d: false,\n cell: i,\n visible: true,\n change: NODE_CHANGE_CELL,\n top: e[n]\n });\n }\n };\n\n for (var d = 0, p = o; d < p.length; d++) {\n var v = p[d];\n f(v);\n }\n\n t.filter(function (t) {\n return t.d && t.top !== -9999;\n }).forEach(function (t) {\n t.change = NODE_CHANGE_POSITION;\n t.top = -9999;\n });\n};\n\nvar doRender = function (t, e, i, r) {\n var n = Array.from(t.children).filter(function (t) {\n return t.tagName !== \"TEMPLATE\";\n });\n var s = n.length;\n var a;\n\n for (var o = 0; o < i.length; o++) {\n var l = i[o];\n var h = l.cell;\n\n if (l.change === NODE_CHANGE_CELL) {\n if (o < s) {\n a = n[o];\n e(a, h, o);\n } else {\n var c = createNode(t, h.type);\n a = e(c, h, o) || c;\n a.classList.add(\"virtual-item\");\n t.appendChild(a);\n }\n\n a[\"$ionCell\"] = h;\n } else {\n a = n[o];\n }\n\n if (l.change !== NODE_CHANGE_NONE) {\n a.style.transform = \"translate3d(0,\" + l.top + \"px,0)\";\n }\n\n var u = h.visible;\n\n if (l.visible !== u) {\n if (u) {\n a.classList.remove(\"virtual-loading\");\n } else {\n a.classList.add(\"virtual-loading\");\n }\n\n l.visible = u;\n }\n\n if (h.reads > 0) {\n r(h, a);\n h.reads--;\n }\n }\n};\n\nvar createNode = function (t, e) {\n var i = getTemplate(t, e);\n\n if (i && t.ownerDocument) {\n return t.ownerDocument.importNode(i.content, true).children[0];\n }\n\n return null;\n};\n\nvar getTemplate = function (t, e) {\n switch (e) {\n case CELL_TYPE_ITEM:\n return t.querySelector(\"template:not([name])\");\n\n case CELL_TYPE_HEADER:\n return t.querySelector(\"template[name=header]\");\n\n case CELL_TYPE_FOOTER:\n return t.querySelector(\"template[name=footer]\");\n }\n};\n\nvar getViewport = function (t, e, i) {\n return {\n top: Math.max(t - i, 0),\n bottom: t + e + i\n };\n};\n\nvar getRange = function (t, e, i) {\n var r = e.top;\n var n = e.bottom;\n var s = 0;\n\n for (; s < t.length; s++) {\n if (t[s] > r) {\n break;\n }\n }\n\n var a = Math.max(s - i - 1, 0);\n\n for (; s < t.length; s++) {\n if (t[s] >= n) {\n break;\n }\n }\n\n var o = Math.min(s + i, t.length);\n var l = o - a;\n return {\n offset: a,\n length: l\n };\n};\n\nvar getShouldUpdate = function (t, e, i) {\n var r = i.offset + i.length;\n return t <= r || e.offset !== i.offset || e.length !== i.length;\n};\n\nvar findCellIndex = function (t, e) {\n var i = t.length > 0 ? t[t.length - 1].index : 0;\n\n if (e === 0) {\n return 0;\n } else if (e === i + 1) {\n return t.length;\n } else {\n return t.findIndex(function (t) {\n return t.index === e;\n });\n }\n};\n\nvar inplaceUpdate = function (t, e, i) {\n if (i === 0 && e.length >= t.length) {\n return e;\n }\n\n for (var r = 0; r < e.length; r++) {\n t[r + i] = e[r];\n }\n\n return t;\n};\n\nvar calcCells = function (t, e, i, r, n, s, a, o, l, h, c, u) {\n var f = [];\n var d = u + c;\n\n for (var p = c; p < d; p++) {\n var v = t[p];\n\n if (n) {\n var g = n(v, p, t);\n\n if (g != null) {\n f.push({\n i: h++,\n type: CELL_TYPE_HEADER,\n value: g,\n index: p,\n height: i ? i(g, p) : a,\n reads: i ? 0 : MIN_READS,\n visible: !!i\n });\n }\n }\n\n f.push({\n i: h++,\n type: CELL_TYPE_ITEM,\n value: v,\n index: p,\n height: e ? e(v, p) : l,\n reads: e ? 0 : MIN_READS,\n visible: !!e\n });\n\n if (s) {\n var g = s(v, p, t);\n\n if (g != null) {\n f.push({\n i: h++,\n type: CELL_TYPE_FOOTER,\n value: g,\n index: p,\n height: r ? r(g, p) : o,\n reads: r ? 0 : MIN_READS,\n visible: !!r\n });\n }\n }\n }\n\n return f;\n};\n\nvar calcHeightIndex = function (t, e, i) {\n var r = t[i];\n\n for (var n = i; n < t.length; n++) {\n t[n] = r;\n r += e[n].height;\n }\n\n return r;\n};\n\nvar resizeBuffer = function (t, e) {\n if (!t) {\n return new Uint32Array(e);\n }\n\n if (t.length === e) {\n return t;\n } else if (e > t.length) {\n var i = new Uint32Array(e);\n i.set(t);\n return i;\n } else {\n return t.subarray(0, e);\n }\n};\n\nvar positionForIndex = function (t, e, i) {\n var r = e.find(function (e) {\n return e.type === CELL_TYPE_ITEM && e.index === t;\n });\n\n if (r) {\n return i[r.i];\n }\n\n return -1;\n};\n\nvar virtualScrollCss = \"ion-virtual-scroll{display:block;position:relative;width:100%;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-virtual-scroll>.virtual-loading{opacity:0}ion-virtual-scroll>.virtual-item{position:absolute !important;top:0 !important;right:0 !important;left:0 !important;-webkit-transition-duration:0ms;transition-duration:0ms;will-change:transform}\";\n\nvar VirtualScroll = function () {\n function t(t) {\n var e = this;\n registerInstance(this, t);\n this.range = {\n offset: 0,\n length: 0\n };\n this.viewportHeight = 0;\n this.cells = [];\n this.virtualDom = [];\n this.isEnabled = false;\n this.viewportOffset = 0;\n this.currentScrollTop = 0;\n this.indexDirty = 0;\n this.lastItemLen = 0;\n this.totalHeight = 0;\n this.approxItemHeight = 45;\n this.approxHeaderHeight = 30;\n this.approxFooterHeight = 30;\n\n this.onScroll = function () {\n e.updateVirtualScroll();\n };\n }\n\n t.prototype.itemsChanged = function () {\n this.calcCells();\n this.updateVirtualScroll();\n };\n\n t.prototype.connectedCallback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var t, e;\n return __generator(this, function (i) {\n switch (i.label) {\n case 0:\n t = this.el.closest(\"ion-content\");\n\n if (!t) {\n console.error(\"<ion-virtual-scroll> must be used inside an <ion-content>\");\n return [2];\n }\n\n e = this;\n return [4, t.getScrollElement()];\n\n case 1:\n e.scrollEl = i.sent();\n this.contentEl = t;\n this.calcCells();\n this.updateState();\n return [2];\n }\n });\n });\n };\n\n t.prototype.componentDidUpdate = function () {\n this.updateState();\n };\n\n t.prototype.disconnectedCallback = function () {\n this.scrollEl = undefined;\n };\n\n t.prototype.onResize = function () {\n this.calcCells();\n this.updateVirtualScroll();\n };\n\n t.prototype.positionForItem = function (t) {\n return Promise.resolve(positionForIndex(t, this.cells, this.getHeightIndex()));\n };\n\n t.prototype.checkRange = function (t, e) {\n if (e === void 0) {\n e = -1;\n }\n\n return __awaiter(this, void 0, void 0, function () {\n var i, r, n;\n return __generator(this, function (s) {\n if (!this.items) {\n return [2];\n }\n\n i = e === -1 ? this.items.length - t : e;\n r = findCellIndex(this.cells, t);\n n = calcCells(this.items, this.itemHeight, this.headerHeight, this.footerHeight, this.headerFn, this.footerFn, this.approxHeaderHeight, this.approxFooterHeight, this.approxItemHeight, r, t, i);\n this.cells = inplaceUpdate(this.cells, n, r);\n this.lastItemLen = this.items.length;\n this.indexDirty = Math.max(t - 1, 0);\n this.scheduleUpdate();\n return [2];\n });\n });\n };\n\n t.prototype.checkEnd = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (t) {\n if (this.items) {\n this.checkRange(this.lastItemLen);\n }\n\n return [2];\n });\n });\n };\n\n t.prototype.updateVirtualScroll = function () {\n if (!this.isEnabled || !this.scrollEl) {\n return;\n }\n\n if (this.timerUpdate) {\n clearTimeout(this.timerUpdate);\n this.timerUpdate = undefined;\n }\n\n readTask(this.readVS.bind(this));\n writeTask(this.writeVS.bind(this));\n };\n\n t.prototype.readVS = function () {\n var t = this,\n e = t.contentEl,\n i = t.scrollEl,\n r = t.el;\n var n = 0;\n var s = r;\n\n while (s && s !== e) {\n n += s.offsetTop;\n s = s.offsetParent;\n }\n\n this.viewportOffset = n;\n\n if (i) {\n this.viewportHeight = i.offsetHeight;\n this.currentScrollTop = i.scrollTop;\n }\n };\n\n t.prototype.writeVS = function () {\n var t = this.indexDirty;\n var e = this.currentScrollTop - this.viewportOffset;\n var i = getViewport(e, this.viewportHeight, 100);\n var r = this.getHeightIndex();\n var n = getRange(r, i, 2);\n var s = getShouldUpdate(t, this.range, n);\n\n if (!s) {\n return;\n }\n\n this.range = n;\n updateVDom(this.virtualDom, r, this.cells, n);\n\n if (this.nodeRender) {\n doRender(this.el, this.nodeRender, this.virtualDom, this.updateCellHeight.bind(this));\n } else if (this.domRender) {\n this.domRender(this.virtualDom);\n } else if (this.renderItem) {\n forceUpdate(this);\n }\n };\n\n t.prototype.updateCellHeight = function (t, e) {\n var i = this;\n\n var r = function () {\n if (e[\"$ionCell\"] === t) {\n var r = window.getComputedStyle(e);\n var n = e.offsetHeight + parseFloat(r.getPropertyValue(\"margin-bottom\"));\n i.setCellHeight(t, n);\n }\n };\n\n if (e) {\n componentOnReady(e, r);\n } else {\n r();\n }\n };\n\n t.prototype.setCellHeight = function (t, e) {\n var i = t.i;\n\n if (t !== this.cells[i]) {\n return;\n }\n\n if (t.height !== e || t.visible !== true) {\n t.visible = true;\n t.height = e;\n this.indexDirty = Math.min(this.indexDirty, i);\n this.scheduleUpdate();\n }\n };\n\n t.prototype.scheduleUpdate = function () {\n var t = this;\n clearTimeout(this.timerUpdate);\n this.timerUpdate = setTimeout(function () {\n return t.updateVirtualScroll();\n }, 100);\n };\n\n t.prototype.updateState = function () {\n var t = !!(this.scrollEl && this.cells);\n\n if (t !== this.isEnabled) {\n this.enableScrollEvents(t);\n\n if (t) {\n this.updateVirtualScroll();\n }\n }\n };\n\n t.prototype.calcCells = function () {\n if (!this.items) {\n return;\n }\n\n this.lastItemLen = this.items.length;\n this.cells = calcCells(this.items, this.itemHeight, this.headerHeight, this.footerHeight, this.headerFn, this.footerFn, this.approxHeaderHeight, this.approxFooterHeight, this.approxItemHeight, 0, 0, this.lastItemLen);\n this.indexDirty = 0;\n };\n\n t.prototype.getHeightIndex = function () {\n if (this.indexDirty !== Infinity) {\n this.calcHeightIndex(this.indexDirty);\n }\n\n return this.heightIndex;\n };\n\n t.prototype.calcHeightIndex = function (t) {\n if (t === void 0) {\n t = 0;\n }\n\n this.heightIndex = resizeBuffer(this.heightIndex, this.cells.length);\n this.totalHeight = calcHeightIndex(this.heightIndex, this.cells, t);\n this.indexDirty = Infinity;\n };\n\n t.prototype.enableScrollEvents = function (t) {\n var e = this;\n\n if (this.rmEvent) {\n this.rmEvent();\n this.rmEvent = undefined;\n }\n\n var i = this.scrollEl;\n\n if (i) {\n this.isEnabled = t;\n i.addEventListener(\"scroll\", this.onScroll);\n\n this.rmEvent = function () {\n i.removeEventListener(\"scroll\", e.onScroll);\n };\n }\n };\n\n t.prototype.renderVirtualNode = function (t) {\n var e = t.cell,\n i = e.type,\n r = e.value,\n n = e.index;\n\n switch (i) {\n case CELL_TYPE_ITEM:\n return this.renderItem(r, n);\n\n case CELL_TYPE_HEADER:\n return this.renderHeader(r, n);\n\n case CELL_TYPE_FOOTER:\n return this.renderFooter(r, n);\n }\n };\n\n t.prototype.render = function () {\n var t = this;\n return h(Host, {\n style: {\n height: this.totalHeight + \"px\"\n }\n }, this.renderItem && h(VirtualProxy, {\n dom: this.virtualDom\n }, this.virtualDom.map(function (e) {\n return t.renderVirtualNode(e);\n })));\n };\n\n Object.defineProperty(t.prototype, \"el\", {\n get: function () {\n return getElement(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(t, \"watchers\", {\n get: function () {\n return {\n itemHeight: [\"itemsChanged\"],\n headerHeight: [\"itemsChanged\"],\n footerHeight: [\"itemsChanged\"],\n items: [\"itemsChanged\"]\n };\n },\n enumerable: false,\n configurable: true\n });\n return t;\n}();\n\nvar VirtualProxy = function (t, e, i) {\n var r = t.dom;\n return i.map(e, function (t, e) {\n var i = r[e];\n var n = t.vattrs || {};\n var s = n.class || \"\";\n s += \"virtual-item \";\n\n if (!i.visible) {\n s += \"virtual-loading\";\n }\n\n return Object.assign(Object.assign({}, t), {\n vattrs: Object.assign(Object.assign({}, n), {\n class: s,\n style: Object.assign(Object.assign({}, n.style), {\n transform: \"translate3d(0,\" + i.top + \"px,0)\"\n })\n })\n });\n });\n};\n\nVirtualScroll.style = virtualScrollCss;\nexport { VirtualScroll as ion_virtual_scroll };","map":{"version":3,"sources":["/Users/adekanbidansteve/github/klasha/react-klasha/ionic-test/node_modules/@ionic/core/dist/esm-es5/ion-virtual-scroll.entry.js"],"names":["__awaiter","__generator","r","registerInstance","f","readTask","c","writeTask","j","forceUpdate","h","H","Host","i","getElement","componentOnReady","CELL_TYPE_ITEM","CELL_TYPE_HEADER","CELL_TYPE_FOOTER","NODE_CHANGE_NONE","NODE_CHANGE_POSITION","NODE_CHANGE_CELL","MIN_READS","updateVDom","t","e","n","s","length","a","change","d","o","l","offset","find","cell","top","push","u","filter","type","visible","p","v","forEach","doRender","Array","from","children","tagName","createNode","classList","add","appendChild","style","transform","remove","reads","getTemplate","ownerDocument","importNode","content","querySelector","getViewport","Math","max","bottom","getRange","min","getShouldUpdate","findCellIndex","index","findIndex","inplaceUpdate","calcCells","g","value","height","calcHeightIndex","resizeBuffer","Uint32Array","set","subarray","positionForIndex","virtualScrollCss","VirtualScroll","range","viewportHeight","cells","virtualDom","isEnabled","viewportOffset","currentScrollTop","indexDirty","lastItemLen","totalHeight","approxItemHeight","approxHeaderHeight","approxFooterHeight","onScroll","updateVirtualScroll","prototype","itemsChanged","connectedCallback","label","el","closest","console","error","getScrollElement","scrollEl","sent","contentEl","updateState","componentDidUpdate","disconnectedCallback","undefined","onResize","positionForItem","Promise","resolve","getHeightIndex","checkRange","items","itemHeight","headerHeight","footerHeight","headerFn","footerFn","scheduleUpdate","checkEnd","timerUpdate","clearTimeout","readVS","bind","writeVS","offsetTop","offsetParent","offsetHeight","scrollTop","nodeRender","updateCellHeight","domRender","renderItem","window","getComputedStyle","parseFloat","getPropertyValue","setCellHeight","setTimeout","enableScrollEvents","Infinity","heightIndex","rmEvent","addEventListener","removeEventListener","renderVirtualNode","renderHeader","renderFooter","render","VirtualProxy","dom","map","Object","defineProperty","get","enumerable","configurable","vattrs","class","assign","ion_virtual_scroll"],"mappings":"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","sourcesContent":["import{__awaiter,__generator}from\"tslib\";import{r as registerInstance,f as readTask,c as writeTask,j as forceUpdate,h,H as Host,i as getElement}from\"./index-7a8b7a1c.js\";import{c as componentOnReady}from\"./helpers-dd7e4b7b.js\";var CELL_TYPE_ITEM=\"item\";var CELL_TYPE_HEADER=\"header\";var CELL_TYPE_FOOTER=\"footer\";var NODE_CHANGE_NONE=0;var NODE_CHANGE_POSITION=1;var NODE_CHANGE_CELL=2;var MIN_READS=2;var updateVDom=function(t,e,i,r){for(var n=0,s=t;n<s.length;n++){var a=s[n];a.change=NODE_CHANGE_NONE;a.d=true}var o=[];var l=r.offset+r.length;var h=function(r){var n=i[r];var s=t.find((function(t){return t.d&&t.cell===n}));if(s){var a=e[r];if(a!==s.top){s.top=a;s.change=NODE_CHANGE_POSITION}s.d=false}else{o.push(n)}};for(var c=r.offset;c<l;c++){h(c)}var u=t.filter((function(t){return t.d}));var f=function(i){var r=u.find((function(t){return t.d&&t.cell.type===i.type}));var n=i.i;if(r){r.d=false;r.change=NODE_CHANGE_CELL;r.cell=i;r.top=e[n]}else{t.push({d:false,cell:i,visible:true,change:NODE_CHANGE_CELL,top:e[n]})}};for(var d=0,p=o;d<p.length;d++){var v=p[d];f(v)}t.filter((function(t){return t.d&&t.top!==-9999})).forEach((function(t){t.change=NODE_CHANGE_POSITION;t.top=-9999}))};var doRender=function(t,e,i,r){var n=Array.from(t.children).filter((function(t){return t.tagName!==\"TEMPLATE\"}));var s=n.length;var a;for(var o=0;o<i.length;o++){var l=i[o];var h=l.cell;if(l.change===NODE_CHANGE_CELL){if(o<s){a=n[o];e(a,h,o)}else{var c=createNode(t,h.type);a=e(c,h,o)||c;a.classList.add(\"virtual-item\");t.appendChild(a)}a[\"$ionCell\"]=h}else{a=n[o]}if(l.change!==NODE_CHANGE_NONE){a.style.transform=\"translate3d(0,\"+l.top+\"px,0)\"}var u=h.visible;if(l.visible!==u){if(u){a.classList.remove(\"virtual-loading\")}else{a.classList.add(\"virtual-loading\")}l.visible=u}if(h.reads>0){r(h,a);h.reads--}}};var createNode=function(t,e){var i=getTemplate(t,e);if(i&&t.ownerDocument){return t.ownerDocument.importNode(i.content,true).children[0]}return null};var getTemplate=function(t,e){switch(e){case CELL_TYPE_ITEM:return t.querySelector(\"template:not([name])\");case CELL_TYPE_HEADER:return t.querySelector(\"template[name=header]\");case CELL_TYPE_FOOTER:return t.querySelector(\"template[name=footer]\")}};var getViewport=function(t,e,i){return{top:Math.max(t-i,0),bottom:t+e+i}};var getRange=function(t,e,i){var r=e.top;var n=e.bottom;var s=0;for(;s<t.length;s++){if(t[s]>r){break}}var a=Math.max(s-i-1,0);for(;s<t.length;s++){if(t[s]>=n){break}}var o=Math.min(s+i,t.length);var l=o-a;return{offset:a,length:l}};var getShouldUpdate=function(t,e,i){var r=i.offset+i.length;return t<=r||e.offset!==i.offset||e.length!==i.length};var findCellIndex=function(t,e){var i=t.length>0?t[t.length-1].index:0;if(e===0){return 0}else if(e===i+1){return t.length}else{return t.findIndex((function(t){return t.index===e}))}};var inplaceUpdate=function(t,e,i){if(i===0&&e.length>=t.length){return e}for(var r=0;r<e.length;r++){t[r+i]=e[r]}return t};var calcCells=function(t,e,i,r,n,s,a,o,l,h,c,u){var f=[];var d=u+c;for(var p=c;p<d;p++){var v=t[p];if(n){var g=n(v,p,t);if(g!=null){f.push({i:h++,type:CELL_TYPE_HEADER,value:g,index:p,height:i?i(g,p):a,reads:i?0:MIN_READS,visible:!!i})}}f.push({i:h++,type:CELL_TYPE_ITEM,value:v,index:p,height:e?e(v,p):l,reads:e?0:MIN_READS,visible:!!e});if(s){var g=s(v,p,t);if(g!=null){f.push({i:h++,type:CELL_TYPE_FOOTER,value:g,index:p,height:r?r(g,p):o,reads:r?0:MIN_READS,visible:!!r})}}}return f};var calcHeightIndex=function(t,e,i){var r=t[i];for(var n=i;n<t.length;n++){t[n]=r;r+=e[n].height}return r};var resizeBuffer=function(t,e){if(!t){return new Uint32Array(e)}if(t.length===e){return t}else if(e>t.length){var i=new Uint32Array(e);i.set(t);return i}else{return t.subarray(0,e)}};var positionForIndex=function(t,e,i){var r=e.find((function(e){return e.type===CELL_TYPE_ITEM&&e.index===t}));if(r){return i[r.i]}return-1};var virtualScrollCss=\"ion-virtual-scroll{display:block;position:relative;width:100%;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ion-virtual-scroll>.virtual-loading{opacity:0}ion-virtual-scroll>.virtual-item{position:absolute !important;top:0 !important;right:0 !important;left:0 !important;-webkit-transition-duration:0ms;transition-duration:0ms;will-change:transform}\";var VirtualScroll=function(){function t(t){var e=this;registerInstance(this,t);this.range={offset:0,length:0};this.viewportHeight=0;this.cells=[];this.virtualDom=[];this.isEnabled=false;this.viewportOffset=0;this.currentScrollTop=0;this.indexDirty=0;this.lastItemLen=0;this.totalHeight=0;this.approxItemHeight=45;this.approxHeaderHeight=30;this.approxFooterHeight=30;this.onScroll=function(){e.updateVirtualScroll()}}t.prototype.itemsChanged=function(){this.calcCells();this.updateVirtualScroll()};t.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:t=this.el.closest(\"ion-content\");if(!t){console.error(\"<ion-virtual-scroll> must be used inside an <ion-content>\");return[2]}e=this;return[4,t.getScrollElement()];case 1:e.scrollEl=i.sent();this.contentEl=t;this.calcCells();this.updateState();return[2]}}))}))};t.prototype.componentDidUpdate=function(){this.updateState()};t.prototype.disconnectedCallback=function(){this.scrollEl=undefined};t.prototype.onResize=function(){this.calcCells();this.updateVirtualScroll()};t.prototype.positionForItem=function(t){return Promise.resolve(positionForIndex(t,this.cells,this.getHeightIndex()))};t.prototype.checkRange=function(t,e){if(e===void 0){e=-1}return __awaiter(this,void 0,void 0,(function(){var i,r,n;return __generator(this,(function(s){if(!this.items){return[2]}i=e===-1?this.items.length-t:e;r=findCellIndex(this.cells,t);n=calcCells(this.items,this.itemHeight,this.headerHeight,this.footerHeight,this.headerFn,this.footerFn,this.approxHeaderHeight,this.approxFooterHeight,this.approxItemHeight,r,t,i);this.cells=inplaceUpdate(this.cells,n,r);this.lastItemLen=this.items.length;this.indexDirty=Math.max(t-1,0);this.scheduleUpdate();return[2]}))}))};t.prototype.checkEnd=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(this.items){this.checkRange(this.lastItemLen)}return[2]}))}))};t.prototype.updateVirtualScroll=function(){if(!this.isEnabled||!this.scrollEl){return}if(this.timerUpdate){clearTimeout(this.timerUpdate);this.timerUpdate=undefined}readTask(this.readVS.bind(this));writeTask(this.writeVS.bind(this))};t.prototype.readVS=function(){var t=this,e=t.contentEl,i=t.scrollEl,r=t.el;var n=0;var s=r;while(s&&s!==e){n+=s.offsetTop;s=s.offsetParent}this.viewportOffset=n;if(i){this.viewportHeight=i.offsetHeight;this.currentScrollTop=i.scrollTop}};t.prototype.writeVS=function(){var t=this.indexDirty;var e=this.currentScrollTop-this.viewportOffset;var i=getViewport(e,this.viewportHeight,100);var r=this.getHeightIndex();var n=getRange(r,i,2);var s=getShouldUpdate(t,this.range,n);if(!s){return}this.range=n;updateVDom(this.virtualDom,r,this.cells,n);if(this.nodeRender){doRender(this.el,this.nodeRender,this.virtualDom,this.updateCellHeight.bind(this))}else if(this.domRender){this.domRender(this.virtualDom)}else if(this.renderItem){forceUpdate(this)}};t.prototype.updateCellHeight=function(t,e){var i=this;var r=function(){if(e[\"$ionCell\"]===t){var r=window.getComputedStyle(e);var n=e.offsetHeight+parseFloat(r.getPropertyValue(\"margin-bottom\"));i.setCellHeight(t,n)}};if(e){componentOnReady(e,r)}else{r()}};t.prototype.setCellHeight=function(t,e){var i=t.i;if(t!==this.cells[i]){return}if(t.height!==e||t.visible!==true){t.visible=true;t.height=e;this.indexDirty=Math.min(this.indexDirty,i);this.scheduleUpdate()}};t.prototype.scheduleUpdate=function(){var t=this;clearTimeout(this.timerUpdate);this.timerUpdate=setTimeout((function(){return t.updateVirtualScroll()}),100)};t.prototype.updateState=function(){var t=!!(this.scrollEl&&this.cells);if(t!==this.isEnabled){this.enableScrollEvents(t);if(t){this.updateVirtualScroll()}}};t.prototype.calcCells=function(){if(!this.items){return}this.lastItemLen=this.items.length;this.cells=calcCells(this.items,this.itemHeight,this.headerHeight,this.footerHeight,this.headerFn,this.footerFn,this.approxHeaderHeight,this.approxFooterHeight,this.approxItemHeight,0,0,this.lastItemLen);this.indexDirty=0};t.prototype.getHeightIndex=function(){if(this.indexDirty!==Infinity){this.calcHeightIndex(this.indexDirty)}return this.heightIndex};t.prototype.calcHeightIndex=function(t){if(t===void 0){t=0}this.heightIndex=resizeBuffer(this.heightIndex,this.cells.length);this.totalHeight=calcHeightIndex(this.heightIndex,this.cells,t);this.indexDirty=Infinity};t.prototype.enableScrollEvents=function(t){var e=this;if(this.rmEvent){this.rmEvent();this.rmEvent=undefined}var i=this.scrollEl;if(i){this.isEnabled=t;i.addEventListener(\"scroll\",this.onScroll);this.rmEvent=function(){i.removeEventListener(\"scroll\",e.onScroll)}}};t.prototype.renderVirtualNode=function(t){var e=t.cell,i=e.type,r=e.value,n=e.index;switch(i){case CELL_TYPE_ITEM:return this.renderItem(r,n);case CELL_TYPE_HEADER:return this.renderHeader(r,n);case CELL_TYPE_FOOTER:return this.renderFooter(r,n)}};t.prototype.render=function(){var t=this;return h(Host,{style:{height:this.totalHeight+\"px\"}},this.renderItem&&h(VirtualProxy,{dom:this.virtualDom},this.virtualDom.map((function(e){return t.renderVirtualNode(e)}))))};Object.defineProperty(t.prototype,\"el\",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,\"watchers\",{get:function(){return{itemHeight:[\"itemsChanged\"],headerHeight:[\"itemsChanged\"],footerHeight:[\"itemsChanged\"],items:[\"itemsChanged\"]}},enumerable:false,configurable:true});return t}();var VirtualProxy=function(t,e,i){var r=t.dom;return i.map(e,(function(t,e){var i=r[e];var n=t.vattrs||{};var s=n.class||\"\";s+=\"virtual-item \";if(!i.visible){s+=\"virtual-loading\"}return Object.assign(Object.assign({},t),{vattrs:Object.assign(Object.assign({},n),{class:s,style:Object.assign(Object.assign({},n.style),{transform:\"translate3d(0,\"+i.top+\"px,0)\"})})})}))};VirtualScroll.style=virtualScrollCss;export{VirtualScroll as ion_virtual_scroll};"]},"metadata":{},"sourceType":"module"}