UNPKG

82.6 kBJavaScriptView Raw
1/*
2Copyright (c) 2015 NAVER Corp.
3name: @egjs/infinitegrid
4license: MIT
5author: NAVER Corp.
6repository: https://github.com/naver/egjs-infinitegrid
7version: 4.1.0
8*/
9!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).InfiniteGrid=e()}(this,function(){"use strict";var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var y=function(){return(y=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function v(t,e){var n={};for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]]);return n}function n(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;0<=a;a--)(i=t[a])&&(s=(o<3?i(s):3<o?i(e,n,s):i(e,n))||s);return 3<o&&s&&Object.defineProperty(e,n,s),s}function h(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var r=Array(t),i=0,e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r}function l(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&r>=t.length?void 0:t)&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(r=o.next()).done;)s.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}(arguments[e]));return t}function f(t){return void 0===t}var i=function(){function t(t,e){var n,r;if(this.eventType=t,this._canceled=!1,e)try{for(var i=l(Object.keys(e)),o=i.next();!o.done;o=i.next()){var s=o.value;this[s]=e[s]}}catch(t){n={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}var e=t.prototype;return e.stop=function(){this._canceled=!0},e.isCanceled=function(){return this._canceled},t}(),t=function(){function t(){this._eventHandler={}}var e=t.prototype;return e.trigger=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];var r=e instanceof i?e.eventType:e,r=s(this._eventHandler[r]||[]);return r.length<=0||(e instanceof i?(e.currentTarget=this,r.forEach(function(t){t(e)})):r.forEach(function(t){t.apply(void 0,s(n))})),this},e.once=function(n,r){var i,o=this;if("object"==typeof n&&f(r)){var t,e=n;for(t in e)this.once(t,e[t]);return this}return"string"==typeof n&&"function"==typeof r&&this.on(n,i=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];r.apply(void 0,s(t)),o.off(n,i)}),this},e.hasOn=function(t){return!!this._eventHandler[t]},e.on=function(t,e){if("object"==typeof t&&f(e)){var n,r=t;for(n in r)this.on(n,r[n]);return this}var i;return"string"==typeof t&&"function"==typeof e&&(i=this._eventHandler[t],f(i)&&(this._eventHandler[t]=[],i=this._eventHandler[t]),i.push(e)),this},e.off=function(t,e){var n,r;if(f(t))return this._eventHandler={},this;if(f(e)){if("string"==typeof t)return delete this._eventHandler[t],this;var i,o=t;for(i in o)this.off(i,o[i]);return this}var s=this._eventHandler[t];if(s){var a=0;try{for(var u=l(s),c=u.next();!c.done;c=u.next()){if(c.value===e){s.splice(a,1),s.length<=0&&delete this._eventHandler[t];break}a++}}catch(t){n={error:t}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}return this},t.VERSION="3.0.1",t}(),R=i;function p(t){return void 0===t}var e=function(){function t(){this.options={},this._eventHandler={}}var e=t.prototype;return e.trigger=function(t){for(var e=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(!(0<(s=this._eventHandler[t]||[]).length))return!0;var i=n[0]||{},o=n.slice(1),s=s.concat(),a=!1;i.eventType=t,i.stop=function(){a=!0},i.currentTarget=this;var u=[i];return 1<=o.length&&(u=u.concat(o)),s.forEach(function(t){t.apply(e,u)}),!a},e.once=function(n,r){var i,o=this;if("object"==typeof n&&p(r)){var t,e=n;for(t in e)this.once(t,e[t]);return this}return"string"==typeof n&&"function"==typeof r&&this.on(n,i=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];r.apply(o,t),o.off(n,i)}),this},e.hasOn=function(t){return!!this._eventHandler[t]},e.on=function(t,e){if("object"==typeof t&&p(e)){var n,r=t;for(n in r)this.on(n,r[n]);return this}var i;return"string"==typeof t&&"function"==typeof e&&(p(i=this._eventHandler[t])&&(this._eventHandler[t]=[],i=this._eventHandler[t]),i.push(e)),this},e.off=function(t,e){var n,r;if(p(t))return this._eventHandler={},this;if(p(e)){if("string"==typeof t)return delete this._eventHandler[t],this;var i,o=t;for(i in o)this.off(i,o[i]);return this}var s=this._eventHandler[t];if(s){var a=0;try{for(var u=function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&r>=t.length?void 0:t)&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(s),c=u.next();!c.done;c=u.next()){if(c.value===e){s.splice(a,1);break}a++}}catch(t){n={error:t}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}return this},t.VERSION="2.2.2",t}(),a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function u(t,e){function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var c=function(){return(c=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var d="undefined"!=typeof window,g=d?window.navigator.userAgent:"",m=d&&!!("getComputedStyle"in window),S=/MSIE|Trident|Windows Phone|Edge/.test(g),E=d&&!!("addEventListener"in document),_="width",I="height";function z(t,e){return t.getAttribute(e)||""}function C(t){return[].slice.call(t)}function P(t){return"loading"in t&&"lazy"===t.getAttribute("loading")}function O(t,e,n){E?t.addEventListener(e,n,!1):t.attachEvent?t.attachEvent("on"+e,n):t["on"+e]=n}function T(t,e,n){t.removeEventListener?t.removeEventListener(e,n,!1):t.detachEvent?t.detachEvent("on"+e,n):t["on"+e]=null}function M(t,e){var n=t["client"+e]||t["offset"+e];return parseFloat(n||(t=t,((m?window.getComputedStyle(t):t.currentStyle)||{})[e.toLowerCase()]))||0}function w(t,e,n){var r=C(t.querySelectorAll(function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var r=Array(t),i=0,e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r}(["["+n+"skip] ["+n+"width]"],e.map(function(t){return["["+n+"skip] "+t,t+"["+n+"skip]","["+n+"width] "+t].join(", ")})).join(", ")));return C(t.querySelectorAll("["+n+"width], "+e.join(", "))).filter(function(t){return-1===r.indexOf(t)})}var b=[];function x(t,e){b.length||O(window,"resize",L),t.__PREFIX__=e,b.push(t),D(t)}function D(t,e){void 0===e&&(e="data-");var n,r=t.__PREFIX__||e,i=parseInt(z(t,""+r+_),10)||0,e=parseInt(z(t,""+r+I),10)||0;z(t,r+"fixed")===I?(n=M(t,"Height")||e,t.style[_]=i/e*n+"px"):(n=M(t,"Width")||i,t.style[I]=e/i*n+"px")}function L(){b.forEach(function(t){D(t)})}var g=function(i){function t(t,e){void 0===e&&(e={});var n=i.call(this)||this;n.isReady=!1,n.isPreReady=!1,n.hasDataSize=!1,n.hasLoading=!1,n.isSkip=!1,n.onCheck=function(t){n.clear(),t&&"error"===t.type&&n.onError(n.element);t=!n.hasDataSize&&!n.hasLoading;n.onReady(t)},n.options=c({prefix:"data-"},e),n.element=t;var r=n.options.prefix;return n.hasDataSize=(e=r,!!t.getAttribute((e=void 0===e?"data-":e)+"width")),n.isSkip=(r=r,!!t.getAttribute((r=void 0===r?"data-":r)+"skip")),n.hasLoading=P(t),n}u(t,i);var e=t.prototype;return e.check=function(){return this.isSkip||!this.checkElement()?(this.onAlreadyReady(!0),!1):(this.hasDataSize&&x(this.element,this.options.prefix),(this.hasDataSize||this.hasLoading)&&this.onAlreadyPreReady(),!0)},e.addEvents=function(){var e=this,n=this.element;this.constructor.EVENTS.forEach(function(t){O(n,t,e.onCheck)})},e.clear=function(){var e=this,n=this.element;this.constructor.EVENTS.forEach(function(t){T(n,t,e.onCheck)}),this.removeAutoSizer()},e.destroy=function(){this.clear(),this.off()},e.removeAutoSizer=function(){var t,e,n;this.hasDataSize&&(n=this.options.prefix,t=this.element,e=n,(n=b.indexOf(t))<0||(e=z(t,e+"fixed"),delete t.__PREFIX__,t.style[e===I?_:I]="",b.splice(n,1),b.length||T(window,"resize",L)))},e.onError=function(t){this.trigger("error",{element:this.element,target:t})},e.onPreReady=function(){this.isPreReady||(this.isPreReady=!0,this.trigger("preReady",{element:this.element,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onReady=function(t){this.isReady||((t=!this.isPreReady&&t)&&(this.isPreReady=!0),this.removeAutoSizer(),this.isReady=!0,this.trigger("ready",{element:this.element,withPreReady:t,hasLoading:this.hasLoading,isSkip:this.isSkip}))},e.onAlreadyError=function(t){var e=this;setTimeout(function(){e.onError(t)})},e.onAlreadyPreReady=function(){var t=this;setTimeout(function(){t.onPreReady()})},e.onAlreadyReady=function(t){var e=this;setTimeout(function(){e.onReady(t)})},t.EVENTS=[],t}(e),N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}u(e,t);var n=e.prototype;return n.setHasLoading=function(t){this.hasLoading=t},n.check=function(){return this.isSkip?(this.onAlreadyReady(!0),!1):(this.hasDataSize?(x(this.element,this.options.prefix),this.onAlreadyPreReady()):this.trigger("requestChildren"),!0)},n.checkElement=function(){return!0},n.destroy=function(){this.clear(),this.trigger("requestDestroy"),this.off()},n.onAlreadyPreReady=function(){t.prototype.onAlreadyPreReady.call(this),this.trigger("reqeustReadyChildren")},e.EVENTS=[],e}(g),d=function(n){function t(t){void 0===t&&(t={});var e=n.call(this)||this;return e.readyCount=0,e.preReadyCount=0,e.totalCount=0,e.totalErrorCount=0,e.isPreReadyOver=!0,e.elementInfos=[],e.options=c({loaders:{},prefix:"data-"},t),e}u(t,n);var e=t.prototype;return e.check=function(t){var o=this,n=this.options.prefix;this.clear(),this.elementInfos=C(t).map(function(t,i){var e=o.getLoader(t,{prefix:n});return e.check(),e.on("error",function(t){o.onError(i,t.target)}).on("preReady",function(t){var e=o.elementInfos[i];e.hasLoading=t.hasLoading,e.isSkip=t.isSkip;t=o.checkPreReady(i);o.onPreReadyElement(i),t&&o.onPreReady()}).on("ready",function(t){var e=t.withPreReady,n=t.hasLoading,r=t.isSkip,t=o.elementInfos[i];t.hasLoading=n,t.isSkip=r;t=e&&o.checkPreReady(i),r=o.checkReady(i);e&&o.onPreReadyElement(i),o.onReadyElement(i),t&&o.onPreReady(),r&&o.onReady()}),{loader:e,element:t,hasLoading:!1,hasError:!1,isPreReady:!1,isReady:!1,isSkip:!1}});t=this.elementInfos.length;return(this.totalCount=t)||setTimeout(function(){o.onPreReady(),o.onReady()}),this},e.getTotalCount=function(){return this.totalCount},e.isPreReady=function(){return this.elementInfos.every(function(t){return t.isPreReady})},e.isReady=function(){return this.elementInfos.every(function(t){return t.isReady})},e.hasError=function(){return 0<this.totalErrorCount},e.clear=function(){this.isPreReadyOver=!1,this.totalCount=0,this.preReadyCount=0,this.readyCount=0,this.totalErrorCount=0,this.elementInfos.forEach(function(t){!t.isReady&&t.loader&&t.loader.destroy()}),this.elementInfos=[]},e.destroy=function(){this.clear(),this.off()},e.getLoader=function(e,t){var n=this,r=e.tagName.toLowerCase(),i=this.options.loaders,o=Object.keys(i);if(i[r])return new i[r](e,t);var s=new N(e,t),a=C(e.querySelectorAll(o.join(", ")));s.setHasLoading(a.some(P));var u=!1,c=this.clone().on("error",function(t){s.onError(t.target)}).on("ready",function(){s.onReady(u)});return s.on("requestChildren",function(){var t=w(e,o,n.options.prefix);c.check(t).on("preReady",function(t){(u=t.isReady)||s.onPreReady()})}).on("reqeustReadyChildren",function(){c.check(a)}).on("requestDestroy",function(){c.destroy()}),s},e.clone=function(){return new t(c({},this.options))},e.checkPreReady=function(t){return this.elementInfos[t].isPreReady=!0,++this.preReadyCount,!(this.preReadyCount<this.totalCount)},e.checkReady=function(t){return this.elementInfos[t].isReady=!0,++this.readyCount,!(this.readyCount<this.totalCount)},e.onError=function(t,e){var n=this.elementInfos[t];n.hasError=!0,this.trigger("error",{element:n.element,index:t,target:e,errorCount:this.getErrorCount(),totalErrorCount:++this.totalErrorCount})},e.onPreReadyElement=function(t){var e=this.elementInfos[t];this.trigger("preReadyElement",{element:e.element,index:t,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:e.hasLoading,isSkip:e.isSkip})},e.onPreReady=function(){this.isPreReadyOver=!0,this.trigger("preReady",{readyCount:this.readyCount,totalCount:this.totalCount,isReady:this.isReady(),hasLoading:this.hasLoading()})},e.onReadyElement=function(t){var e=this.elementInfos[t];this.trigger("readyElement",{index:t,element:e.element,hasError:e.hasError,errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,preReadyCount:this.preReadyCount,readyCount:this.readyCount,totalCount:this.totalCount,isPreReady:this.isPreReady(),isReady:this.isReady(),hasLoading:e.hasLoading,isPreReadyOver:this.isPreReadyOver,isSkip:e.isSkip})},e.onReady=function(){this.trigger("ready",{errorCount:this.getErrorCount(),totalErrorCount:this.totalErrorCount,totalCount:this.totalCount})},e.getErrorCount=function(){return this.elementInfos.filter(function(t){return t.hasError}).length},e.hasLoading=function(){return this.elementInfos.some(function(t){return t.hasLoading})},t}(e),A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return u(e,t),e.prototype.checkElement=function(){var t=this.element,e=t.getAttribute("src");if(t.complete){if(e)return t.naturalWidth||this.onAlreadyError(t),!1;this.onAlreadyPreReady()}return this.addEvents(),S&&t.setAttribute("src",e),!0},e.EVENTS=["load","error"],e}(g),k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return u(e,t),e.prototype.checkElement=function(){var t=this.element;return!(1<=t.readyState)&&(t.error?(this.onAlreadyError(t),!1):(this.addEvents(),!0))},e.EVENTS=["loadedmetadata","error"],e}(g),G=function(e){function t(t){return e.call(this,c({loaders:{img:A,video:k}},t=void 0===t?{}:t))||this}return u(t,e),t}(d),U=function(){function t(){this.keys=[],this.values=[]}var e=t.prototype;return e.get=function(t){return this.values[this.keys.indexOf(t)]},e.set=function(t,e){var n=this.keys,r=this.values,i=n.indexOf(t),i=-1===i?n.length:i;n[i]=t,r[i]=e},t}(),V=function(){function t(){this.object={}}var e=t.prototype;return e.get=function(t){return this.object[t]},e.set=function(t,e){this.object[t]=e},t}(),K="function"==typeof Map,j=function(){function t(){}var e=t.prototype;return e.connect=function(t,e){this.prev=t,this.next=e,t&&(t.next=this),e&&(e.prev=this)},e.disconnect=function(){var t=this.prev,e=this.next;t&&(t.next=e),e&&(e.prev=t)},e.getIndex=function(){for(var t=this,e=-1;t;)t=t.prev,++e;return e},t}();var F=function(){function t(t,e,n,r,i,o,s,a){this.prevList=t,this.list=e,this.added=n,this.removed=r,this.changed=i,this.maintained=o,this.changedBeforeAdded=s,this.fixed=a}var e=t.prototype;return Object.defineProperty(e,"ordered",{get:function(){return this.cacheOrdered||this.caculateOrdered(),this.cacheOrdered},enumerable:!0,configurable:!0}),Object.defineProperty(e,"pureChanged",{get:function(){return this.cachePureChanged||this.caculateOrdered(),this.cachePureChanged},enumerable:!0,configurable:!0}),e.caculateOrdered=function(){var t,n,i,o,t=(t=this.changedBeforeAdded,n=this.fixed,i=[],o=[],t.forEach(function(t){var e=t[0],n=t[1],t=new j;i[e]=t,o[n]=t}),i.forEach(function(t,e){t.connect(i[e-1])}),t.filter(function(t,e){return!n[e]}).map(function(t,e){var n=t[0],r=t[1];if(n===r)return[0,0];t=i[n],n=o[r-1],r=t.getIndex();return t.disconnect(),n?t.connect(n,n.next):t.connect(void 0,i[0]),[r,t.getIndex()]})),s=this.changed,a=[];this.cacheOrdered=t.filter(function(t,e){var n=t[0],r=t[1],t=s[e],e=t[0],t=t[1];if(n!==r)return a.push([e,t]),!0}),this.cachePureChanged=a},t}();function q(t,e,n){var r=K?Map:n?V:U,i=n||function(t){return t},o=[],s=[],a=[],n=t.map(i),i=e.map(i),u=new r,c=new r,h=[],l=[],f={},p=[],d=0,g=0;return n.forEach(function(t,e){u.set(t,e)}),i.forEach(function(t,e){c.set(t,e)}),n.forEach(function(t,e){t=c.get(t);void 0===t?(++g,s.push(e)):f[t]=g}),i.forEach(function(t,e){t=u.get(t);void 0===t?(o.push(e),++d):(a.push([t,e]),g=f[e]||0,h.push([t-g,e-d]),l.push(e===t),t!==e&&p.push([t,e]))}),s.reverse(),new F(t,e,o,s,p,a,h,l)}var H,Y="function"==typeof Map?void 0:(H=0,function(t){return t.__DIFF_KEY__||(t.__DIFF_KEY__=++H)});var B=function(t,e){return(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function W(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}B(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var Z=function(){return(Z=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function X(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;0<=a;a--)(i=t[a])&&(s=(o<3?i(s):3<o?i(e,n,s):i(e,n))||s);return 3<o&&s&&Object.defineProperty(e,n,s),s}function Q(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var r=Array(t),i=0,e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r}var J,$,tt,et={horizontal:!1,useTransform:!1,percentage:!1,isEqualSize:!1,isConstantSize:!1,gap:0,attributePrefix:"data-grid-",resizeDebounce:100,maxResizeDebounce:0,autoResize:!0,preserveUIOnDestroy:!1,defaultDirection:"end",externalContainerManager:null,externalItemRenderer:null,renderOnPropertyChange:!0,useFit:!0};(e=J=J||{})[e.PROPERTY=1]="PROPERTY",e[e.RENDER_PROPERTY=2]="RENDER_PROPERTY",(g=$=$||{})[g.UNCHECKED=1]="UNCHECKED",g[g.UNMOUNTED=2]="UNMOUNTED",g[g.MOUNTED=3]="MOUNTED",(d=tt=tt||{})[d.NEED_UPDATE=1]="NEED_UPDATE",d[d.WAIT_LOADING=2]="WAIT_LOADING",d[d.UPDATED=3]="UPDATED";var nt={gap:J.RENDER_PROPERTY,defaultDirection:J.PROPERTY,renderOnPropertyChange:J.PROPERTY,preserveUIOnDestroy:J.PROPERTY,useFit:J.PROPERTY},rt={horizontal:{inlinePos:"top",contentPos:"left",inlineSize:"height",contentSize:"width"},vertical:{inlinePos:"left",contentPos:"top",inlineSize:"width",contentSize:"height"}},it=function(r){function t(t,e){var n=r.call(this)||this;return n.container=t,n._resizeTimer=0,n._maxResizeDebounceTimer=0,n._onResize=function(){clearTimeout(n._resizeTimer),clearTimeout(n._maxResizeDebounceTimer),n._maxResizeDebounceTimer=0,n._resizeTimer=0,n.trigger("resize")},n._scheduleResize=function(){var t=n.options,e=t.resizeDebounce,t=t.maxResizeDebounce;!n._maxResizeDebounceTimer&&e<=t&&(n._maxResizeDebounceTimer=window.setTimeout(n._onResize,t)),n._resizeTimer&&(clearTimeout(n._resizeTimer),n._resizeTimer=0),n._resizeTimer=window.setTimeout(n._onResize,e)},n.options=Z({horizontal:et.horizontal,autoResize:et.autoResize,resizeDebounce:et.resizeDebounce,maxResizeDebounce:et.maxResizeDebounce},e),n._init(),n}W(t,r);var e=t.prototype;return e.resize=function(){var t=this.container;this.setRect({width:t.clientWidth,height:t.clientHeight})},e.getRect=function(){return this.rect},e.setRect=function(t){this.rect=Z({},t)},e.getInlineSize=function(){return this.rect[this.options.horizontal?"height":"width"]},e.getContentSize=function(){return this.rect[this.options.horizontal?"width":"height"]},e.getStatus=function(){return{rect:Z({},this.rect)}},e.setStatus=function(t){this.rect=Z({},t.rect),this.setContentSize(this.getContentSize())},e.setContentSize=function(t){var e=this.options.horizontal?"width":"height";this.rect[e]=t,this.container.style[e]=t+"px"},e.destroy=function(t){void 0===t&&(t={}),window.removeEventListener("resize",this._scheduleResize),t.preserveUI||(this.container.style.cssText=this.orgCSSText)},e._init=function(){var t=this.container,e=window.getComputedStyle(t);this.orgCSSText=t.style.cssText,"static"===e.position&&(t.style.position="relative"),this.options.autoResize&&window.addEventListener("resize",this._scheduleResize)},t}(t);function ot(t){return"object"==typeof t}function st(t){var e,i=t.prototype,o=t.propertyTypes;for(e in o)!function(n){var r=o[n]===J.RENDER_PROPERTY,t=Object.getOwnPropertyDescriptor(i,n)||{};Object.defineProperty(i,n,{enumerable:!0,configurable:!0,get:t.get||function(){return this.options[n]},set:t.set||function(t){var e=this.options;e[n]!==t&&(e[n]=t,r&&e.renderOnPropertyChange&&this.scheduleRender())}})}(e)}function at(t){for(var e=[],n=0;n<t;++n)e.push(n);return e}function ut(t,e){return Math.max(t-e[1],e[0]-t,0)+1}var ct=function(){function t(t){this.initialRect=null,this.sizePercetage=!1,this.posPercetage=!1,this.options=Z({attributePrefix:et.attributePrefix,useTransform:et.useTransform,horizontal:et.horizontal,percentage:et.percentage,isEqualSize:et.isEqualSize,isConstantSize:et.isConstantSize},t),this._init()}var e=t.prototype;return e.resize=function(){this.initialRect=null},e.renderItems=function(t){var e=this;t.forEach(function(t){e._renderItem(t)})},e.getInlineSize=function(){return this.containerRect[this.options.horizontal?"height":"width"]},e.setContainerRect=function(t){this.containerRect=t},e.updateItems=function(t){var e=this;t.forEach(function(t){e._updateItem(t)})},e.getStatus=function(){return{initialRect:this.initialRect}},e.setStatus=function(t){this.initialRect=t.initialRect},e._init=function(){var t=this.options.percentage,e=!1,n=!1;!0===t?n=e=!0:t&&(-1<t.indexOf("position")&&(n=!0),-1<t.indexOf("size")&&(e=!0)),this.posPercetage=n,this.sizePercetage=e},e._updateItem=function(t){var e,n=this.options,r=n.isEqualSize,i=n.isConstantSize,o=this.initialRect,s=t.orgRect,a=t.element,u=t.updateState===tt.WAIT_LOADING,n=s&&s.width&&s.height;if(r&&o)e=o;else if(i&&n&&!u)e=s;else{if(!a)return;e={left:a.offsetLeft,top:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}return t.isFirstUpdate||(t.orgRect=Z({},e)),t.rect=Z({},e),t.element&&(t.mountState=$.MOUNTED),t.updateState===tt.NEED_UPDATE&&(t.updateState=tt.UPDATED,t.isFirstUpdate=!0),t.attributes=a?function(t,e){for(var n={},r=t.attributes,i=r.length,o=0;o<i;++o){var s=r[o],a=s.name,s=s.value;-1!==a.indexOf(e)&&(n[a.replace(e,"").replace(/[\s-_]([a-z])/g,function(t,e){return e.toUpperCase()})]=s)}return n}(a,this.options.attributePrefix):{},u||(this.initialRect=Z({},e)),e},e._renderItem=function(t){var n,r,e,i,o,s,a,u=t.element,c=t.cssRect;u&&c&&(a=(e=this.options).horizontal,t=e.useTransform,n=this.posPercetage,r=this.sizePercetage,e=["position: absolute;"],i=(a=rt[a?"horizontal":"vertical"]).inlineSize,o=a.inlinePos,s=this.getInlineSize(),a=c,a=Object.keys(a),t&&(a=a.filter(function(t){return"top"!==t&&"left"!==t}),e.push("transform: translate("+(c.left||0)+"px, "+(c.top||0)+"px);")),e.push.apply(e,a.map(function(t){var e=c[t];return t===i&&r||t===o&&n?t+": "+e/s*100+"%;":t+": "+e+"px;"})),u.style.cssText+=e.join(""))},t}(),ht=function(){function t(t,e){void 0===e&&(e={}),this.horizontal=t,this.isUpdate=!1,this.hasTransition=!1,this.transitionDuration="";var n,t=e.element,r=Z({key:"",orgRect:{left:0,top:0,width:0,height:0},rect:{left:0,top:0,width:0,height:0},cssRect:{},attributes:{},data:{},isFirstUpdate:!1,mountState:$.UNCHECKED,updateState:tt.NEED_UPDATE,element:t||null,orgCSSText:null!==(t=null==t?void 0:t.style.cssText)&&void 0!==t?t:"",gridData:{}},e);for(n in r)this[n]=r[n]}var e=t.prototype;return Object.defineProperty(e,"orgInlineSize",{get:function(){var t=this.orgRect||this.rect;return this.horizontal?t.height:t.width},enumerable:!1,configurable:!0}),Object.defineProperty(e,"orgContentSize",{get:function(){var t=this.orgRect||this.rect;return this.horizontal?t.width:t.height},enumerable:!1,configurable:!0}),Object.defineProperty(e,"inlineSize",{get:function(){var t=this.rect;return this.horizontal?t.height:t.width},enumerable:!1,configurable:!0}),Object.defineProperty(e,"contentSize",{get:function(){var t=this.rect;return this.horizontal?t.width:t.height},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssInlineSize",{get:function(){var t=this.cssRect;return this.horizontal?t.height:t.width},set:function(t){this.cssRect[this.horizontal?"height":"width"]=t},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssContentSize",{get:function(){var t=this.cssRect;return this.horizontal?t.width:t.height},set:function(t){this.cssRect[this.horizontal?"width":"height"]=t},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssInlinePos",{get:function(){var t=this.cssRect;return this.horizontal?t.top:t.left},set:function(t){this.cssRect[this.horizontal?"top":"left"]=t},enumerable:!1,configurable:!0}),Object.defineProperty(e,"cssContentPos",{get:function(){var t=this.cssRect;return this.horizontal?t.left:t.top},set:function(t){this.cssRect[this.horizontal?"left":"top"]=t},enumerable:!1,configurable:!0}),e.setCSSGridRect=function(t){var e,n=rt[this.horizontal?"horizontal":"vertical"],r={};for(e in t)r[n[e]]=t[e];this.cssRect=r},e.getStatus=function(){return{mountState:this.mountState,updateState:this.updateState,attributes:this.attributes,orgCSSText:this.orgCSSText,isFirstUpdate:this.isFirstUpdate,element:null,key:this.key,orgRect:this.orgRect,rect:this.rect,cssRect:this.cssRect,gridData:this.gridData,data:this.data}},e.getMinimizedStatus=function(){var t={orgRect:this.orgRect,rect:this.rect,cssRect:this.cssRect,attributes:this.attributes,gridData:this.gridData};return void 0!==this.key&&(t.key=this.key),this.mountState!==$.UNCHECKED&&(t.mountState=this.mountState),this.updateState!==tt.NEED_UPDATE&&(t.updateState=this.updateState),this.isFirstUpdate&&(t.isFirstUpdate=!0),this.orgCSSText&&(t.orgCSSText=this.orgCSSText),t},t}(),lt=function(l){function t(t,e){void 0===e&&(e={});var n=l.call(this)||this;n.items=[],n.outlines={start:[],end:[]},n._renderTimer=0,n._onResize=function(){n.renderItems({useResize:!0})},n.options=Z(Z({},n.constructor.defaultOptions),e),n.containerElement="string"==typeof t?document.querySelector(t):t;var r=n.options,i=r.isEqualSize,o=r.isConstantSize,s=r.useTransform,a=r.horizontal,u=r.percentage,c=r.externalContainerManager,h=r.externalItemRenderer,e=r.resizeDebounce,t=r.maxResizeDebounce,r=r.autoResize;return n.containerManager=c||new it(n.containerElement,{horizontal:a,resizeDebounce:e,maxResizeDebounce:t,autoResize:r}).on("resize",n._onResize),n.itemRenderer=h||new ct({useTransform:s,isEqualSize:i,isConstantSize:o,percentage:u}),n._init(),n}W(t,l);var e=t.prototype;return e.getContainerElement=function(){return this.containerElement},e.getItems=function(){return this.items},e.getChildren=function(){return[].slice.call(this.containerElement.children)},e.setItems=function(t){return this.items=t,this},e.getContainerInlineSize=function(){return this.containerManager.getInlineSize()},e.getOutlines=function(){return this.outlines},e.setOutlines=function(t){return this.outlines=t,this},e.syncElements=function(t){void 0===t&&(t={});var n=this.items,e=this.options.horizontal,r=this.getChildren(),i=q(this.items.map(function(t){return t.element}),r,Y),o=i.added,s=i.maintained,a=i.changed,i=i.removed,u=[];return s.forEach(function(t){var e=t[0],t=t[1];u[t]=n[e]}),o.forEach(function(t){u[t]=new ht(e,{element:r[t]})}),this.setItems(u),(o.length||i.length||a.length)&&this.renderItems(t),this},e.updateItems=function(t,e){return void 0===e&&(e={}),(t=void 0===t?this.items:t).forEach(function(t){t.updateState=tt.NEED_UPDATE}),this.checkReady(e),this},e.renderItems=function(t){return void 0===t&&(t={}),this._clearRenderTimer(),!this.getItems().length&&this.getChildren().length?this.syncElements(t):t.useResize?(this._resizeContainer(),this.updateItems(this.items,t)):this.checkReady(t),this},e.getStatus=function(e){return{outlines:this.outlines,items:this.items.map(function(t){return e?t.getMinimizedStatus():t.getStatus()}),containerManager:this.containerManager.getStatus(),itemRenderer:this.itemRenderer.getStatus()}},e.setStatus=function(t){var e=this,n=this.options.horizontal,r=this.containerManager,i=r.getInlineSize(),o=this.getChildren();return this.itemRenderer.setStatus(t.itemRenderer),r.setStatus(t.containerManager),this.outlines=t.outlines,this.items=t.items.map(function(t,e){return new ht(n,Z(Z({},t),{element:o[e]}))}),this.itemRenderer.renderItems(this.items),i!==r.getInlineSize()?this.renderItems({useResize:!0}):window.setTimeout(function(){e._renderComplete({direction:e.defaultDirection,mounted:e.items,updated:[],isResize:!1})}),this},e.destroy=function(t){var t=(t=void 0===t?{}:t).preserveUI,t=void 0===t?this.options.preserveUIOnDestroy:t;this.containerManager.destroy({preserveUI:t}),t||this.items.forEach(function(t){var e=t.element,t=t.orgCSSText;e&&(e.style.cssText=t)}),null!==(t=this._im)&&void 0!==t&&t.destroy()},e.checkReady=function(n){var t,r=this;void 0===n&&(n={});var i=this.items,o=i.filter(function(t){var e;return(null===(e=t.element)||void 0===e?void 0:e.parentNode)&&t.updateState!==tt.UPDATED}),e=o.filter(function(t){return t.mountState!==$.MOUNTED}),s=[];e.filter(function(t){if(t.hasTransition)return!0;var e=t.element;return 0<parseFloat(getComputedStyle(e).transitionDuration)&&(t.hasTransition=!0,t.transitionDuration=e.style.transitionDuration,!0)}).forEach(function(t){t.element.style.transitionDuration="0s"}),null!==(t=this._im)&&void 0!==t&&t.destroy(),this._im=new G({prefix:this.options.attributePrefix}).on("preReadyElement",function(t){o[t.index].updateState=tt.WAIT_LOADING}).on("preReady",function(){r.itemRenderer.updateItems(o),r.readyItems(e,o,n)}).on("readyElement",function(t){var e=o[t.index];e.updateState=tt.NEED_UPDATE,t.isPreReadyOver&&(e.element.style.cssText=e.orgCSSText,r.itemRenderer.updateItems([e]),r.readyItems([],[e],n))}).on("error",function(t){var e=i[t.index];r.trigger("contentError",{element:t.element,target:t.target,item:e,update:function(){s.push(e)}})}).on("ready",function(){s.length&&r.updateItems(s)}).check(o.map(function(t){return t.element}))},e.scheduleRender=function(){var t=this;this._clearRenderTimer(),this._renderTimer=window.setTimeout(function(){t.renderItems()})},e.fitOutlines=function(t){void 0===t&&(t=this.useFit);var e=this.outlines,n=e.start,r=e.end,i=n.length?Math.min.apply(Math,n):0;!t&&0<i||(e.start=n.map(function(t){return t-i}),e.end=r.map(function(t){return t-i}),this.items.forEach(function(t){var e=t.cssContentPos;"number"==typeof e&&(t.cssContentPos=e-i)}))},e.readyItems=function(t,e,n){var r=this.outlines,i=n.direction||this.options.defaultDirection,o=n.outline||r["end"===i?"start":"end"],s=this.items,r={start:Q(o),end:Q(o)};e.forEach(function(t){t.isUpdate=!0}),s.length&&(r=this.applyGrid(this.items,i,o)),e.forEach(function(t){t.isUpdate=!1}),this.setOutlines(r),this.fitOutlines(),this.itemRenderer.renderItems(this.items),this._refreshContainerContentSize();r=t.filter(function(t){return t.hasTransition});r.length&&(this.containerManager.resize(),r.forEach(function(t){t.element.style.transitionDuration=t.transitionDuration})),this._renderComplete({direction:i,mounted:t,updated:e,isResize:!!n.useResize})},e._renderComplete=function(t){this.trigger("renderComplete",t)},e._clearRenderTimer=function(){clearTimeout(this._renderTimer),this._renderTimer=0},e._refreshContainerContentSize=function(){var t=this.outlines,e=t.start,n=t.end,t=this.options.gap,n=n.length?Math.max.apply(Math,n):0,e=e.length?Math.max.apply(Math,e):0,t=Math.max(e,n-t);this.containerManager.setContentSize(t)},e._resizeContainer=function(){this.containerManager.resize(),this.itemRenderer.setContainerRect(this.containerManager.getRect())},e._init=function(){this._resizeContainer()},t.defaultOptions=et,t.propertyTypes=nt,X([st],t)}(t);function ft(t,e,n,r){return Math[r].apply(Math,t.slice(e,e+n))}var pt=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._columnSize=0,t._column=1,t}W(t,e);var n=t.prototype;return n.applyGrid=function(y,t,e){this._calculateColumnSize(y),this._calculateColumn(y);for(var n,v=this._column,R=this._columnSize,r=this.options,S=r.gap,i=r.align,E=r.columnSizeRatio,_=r.columnSize,r=e.length,I=y.length,z=this._getAlignPoses(),C="end"===t,P=C?"min":"max",O=C?"max":"min",t=[0],T=(t=r===v?e.slice():(n=r?Math[O].apply(Math,e):0,at(v).map(function(){return n}))).slice(),M=1<v?z[1]-z[0]:0,w="stretch"===i,o=function(t){for(var e,n,r,i,o=y[C?t:I-1-t],s=parseInt(o.attributes.column||"1",10),a=parseInt(o.attributes.maxColumn||"1",10),u=o.inlineSize,c=o.contentSize,h=Math.min(v,s||Math.max(1,Math.ceil((u+S)/M))),l=Math.min(v,Math.max(h,a)),f=(n=h,r=P,t=(e=T).length-n+1,i="max"===r?"min":"max",a="max"===r?"lastIndexOf":"indexOf",(t=at(t).map(function(t){return ft(e,t,n,i)}))[a](Math[r].apply(Math,t))),p=ft(T,f,h,O);h<l;){var d=f+h,g=f-1;if(C&&(v<=d||T[d]>p))break;if(!C&&(g<0||T[g])<p)break;C||--f,++h}f=Math.max(0,f),h=Math.min(v-f,h),0<s&&(1<h||w||_)&&(o.cssInlineSize=u=(h-1)*M+R),0<E&&(o.cssContentSize=c=u/E);u=z[f],p=C?p:p-S-c;o.cssInlinePos=u,o.cssContentPos=p;var m=C?p+c+S:p;at(h).forEach(function(t){T[f+t]=m})},s=0;s<I;++s)o(s);return{start:C?t:T,end:C?T:t}},n._calculateColumnSize=function(t){var e=this.options,n=e.columnSize,r=e.gap;if("stretch"===e.align){e=this.column;n&&(e=Math.max(1,Math.floor((this.getContainerInlineSize()+r)/(n+r)))),this._columnSize=(this.getContainerInlineSize()+r)/(e||1)-r}else if(n)this._columnSize=n;else if(t.length){for(var i=t[0],o=0,s=t;o<s.length;o++){var a=s[o],u=a.attributes;if(a.updateState===tt.UPDATED&&a.inlineSize&&!u.column&&!u.maxColumnCount){i=a;break}}t=i.inlineSize||0;return this._columnSize=t}return this._columnSize=this._columnSize||0,this._columnSize},n._calculateColumn=function(t){var e=this.options,n=e.gap,r=e.column,i=this._columnSize,e=1,e=r||(i?Math.min(t.length,Math.max(1,Math.floor((this.getContainerInlineSize()+n)/(i+n)))):1);return this._column=e},n._getAlignPoses=function(){var t=this._columnSize,e=this._column,n=this.options,r=n.align,i=n.gap,o=this.getContainerInlineSize(),s=at(e),a=0,u=0;return"justify"===r||"stretch"===r?(u=(n=e-1)?Math.max((o-t)/n,t+i):0,a=Math.min(0,o/2-(n*u+t)/2)):(t=(e-1)*(u=t+i)+t,"center"===r?a=(o-t)/2:"end"===r&&(a=o-t)),s.map(function(t){return a+t*u})},t.propertyTypes=Z(Z({},lt.propertyTypes),{column:J.RENDER_PROPERTY,columnSize:J.RENDER_PROPERTY,columnSizeRatio:J.RENDER_PROPERTY,align:J.RENDER_PROPERTY}),t.defaultOptions=Z(Z({},lt.defaultOptions),{align:"justify",column:0,columnSize:0,columnSizeRatio:0}),X([st],t)}(lt);function dt(t,e,n){return function(t,e){for(var n=[],r=e;r;)n.push(r),r=t[r];return n.reverse(),n}(function(t,e,n){var r={},i={};i[e]=0;var o,s,a,u,c,h,l=new gt(function(t){return t.cost});for(l.push({value:e,cost:0});l.size();)for(var f in s=(o=l.pop()).value,a=o.cost,u=t(s)||{})c=a+u[f],h=i[f],(void 0===i[f]||c<h)&&(i[f]=c,l.push({value:f,cost:c}),r[f]=s);if(void 0!==i[n])return r;throw n=["Could not find a path from ",e," to ",n,"."].join(""),new Error(n)}(t,e,n),n)}var gt=function(){function t(t){this.content=[],this.scoreFunction=t}var e=t.prototype;return e.push=function(t){this.content.push(t),this.bubbleUp(this.content.length-1)},e.pop=function(){var t=this.content[0],e=this.content.pop();return 0<this.content.length&&(this.content[0]=e,this.sinkDown(0)),t},e.size=function(){return this.content.length},e.bubbleUp=function(t){for(var e=t,n=this.content[e];0<e;){var r=Math.floor((e+1)/2)-1,i=this.content[r];if(!(this.scoreFunction(n)<this.scoreFunction(i)))break;this.content[r]=n,this.content[e]=i,e=r}},e.sinkDown=function(t){for(var e=this.content.length,n=this.content[t],r=this.scoreFunction(n);;){var i,o=2*(t+1),s=o-1,a=null;if(s<e&&(i=this.content[s],(i=this.scoreFunction(i))<r&&(a=s)),o<e&&(s=this.content[o],this.scoreFunction(s)<(null==a?r:i)&&(a=o)),null===a)break;this.content[t]=this.content[a],this.content[a]=n,t=a}},t}();function mt(t,e){var n=t.orgInlineSize,r=t.orgContentSize;if(!n||!r)return 0;var i=parseFloat(t.gridData.inlineOffset)||0,t=parseFloat(t.gridData.contentOffset)||0;return(n-i)/(r-t)*(e-t)+i}var yt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}W(e,t);var n=e.prototype;return n.applyGrid=function(t,e,n){var r=this.options,s=r.attributePrefix,a=r.horizontal;t.forEach(function(t){var e,n,r,i,o;t.isUpdate&&(e=t.element,i=t.attributes,n=t.gridData,r=parseFloat(i.inlineOffset)||n.inlineOffset||0,o=parseFloat(i.contentOffset)||0|n.contentOffset,!e||"inlineOffset"in i||"contentOffset"in i||t.mountState!==$.MOUNTED||(i=e.querySelector("["+s+"maintained-target]"))&&(t=e.offsetWidth-e.clientWidth+e.scrollWidth-i.clientWidth,i=e.offsetHeight-e.clientHeight+e.scrollHeight-i.clientHeight,o=a?(r=i,t):(r=t,i)),n.inlineOffset=r,n.contentOffset=o)});var i=this.options.rowRange,r=[];return t.length&&(r=i?this._getRowPath(t):this._getPath(t)),this._setStyle(t,r,n,"end"===e)},n._getRowPath=function(t){var e=this._getColumnRange(),n=this._getRowRange(),n=this._getRowLink(t,{path:[0],cost:0,length:0,currentNode:0},e,n);return null!==(n=null==n?void 0:n.path.map(function(t){return""+t}))&&void 0!==n?n:[]},n._getRowLink=function(t,e,n,r){var i=n[0],o=r[0],s=r[1],a=t.length,u=e.path,c=e.length,h=e.cost,l=e.currentNode;if(l<a&&(s<=c||a<l+i)){i=ut(a-l,n)*Math.abs(this._getCost(t,l,a));return Z(Z({},e),{length:c+1,path:Q(u,[a]),currentNode:a,cost:h+i,isOver:!0})}return a<=l?Z(Z({},e),{currentNode:a,isOver:c<o||s<c}):this._searchRowLink(t,e,a,n,r)},n._searchRowLink=function(t,e,n,r,i){for(var o,s=r[0],a=r[1],u=e.currentNode,c=e.path,h=e.length,l=e.cost,f=Math.min(n,u+a),p=[],d=u+s;d<=f;++d)d!==u&&(o=Math.abs(this._getCost(t,u,d)),(o=this._getRowLink(t,{path:Q(c,[d]),length:h+1,cost:l+o,currentNode:d},r,i))&&p.push(o));return p.sort(function(t,e){var n=t.isOver;return n!==e.isOver?n?1:-1:ut(t.length,i)-ut(e.length,i)||t.cost-e.cost}),p[0]},n._getExpectedRowSize=function(t){var e=this.options.gap,i=this.getContainerInlineSize()-e*(t.length-1),o=0,s=0;return t.forEach(function(t){var e,n=t.orgInlineSize,r=t.orgContentSize;n&&r&&(e=parseFloat(t.gridData.inlineOffset)||0,t=parseFloat(t.gridData.contentOffset)||0,o+=r=(n-e)/(r-t),s+=t*r,i-=e)}),o?(i+s)/o:0},n._getExpectedInlineSize=function(t,n){var e=this.options.gap,r=t.reduce(function(t,e){return t+mt(e,n)},0);return r?r+e*(t.length-1):0},n._getCost=function(t,e,n){var r=t.slice(e,n),t=this._getExpectedRowSize(r),e=this._getSizeRange(),n=e[0],e=e[1];if(this.isCroppedSize){if(n<=t&&t<=e)return 0;r=this._getExpectedInlineSize(r,t<n?n:e);return Math.pow(r-this.getContainerInlineSize(),2)}if(isFinite(e)){if(t<n)return Math.pow(t-n,2)+Math.pow(e,2);if(e<t)return Math.pow(t-e,2)+Math.pow(e,2)}else if(t<n)return Math.max(Math.pow(n,2),Math.pow(t,2))+Math.pow(e,2);return t-n},n._getPath=function(o){var s=this,a=o.length,t=this.options.columnRange,t=ot(t)?t:[t,t],u=t[0],c=t[1];return dt(function(t){for(var e={},n=parseInt(t,10),r=Math.min(n+u,a);r<=a&&!(c<r-n);++r){var i=s._getCost(o,n,r);i<0&&r===a&&(i=0),e[""+r]=Math.pow(i,2)}return e},"0",""+a)},n._setStyle=function(t,e,n,r){var s=this;void 0===n&&(n=[]);var i=this.options,a=i.gap,u=i.isCroppedSize,c=i.displayedRow,h=this._getSizeRange(),n=n[0]||0,l=this.getContainerInlineSize(),e=function(t,e){for(var n=e.length,r=[],i=0;i<n-1;++i){var o=parseInt(e[i],10),s=parseInt(e[i+1],10);r.push(t.slice(o,s))}return r}(t,e),f=n,p=0;if(e.forEach(function(r,t){var e=r.length,i=s._getExpectedRowSize(r);u&&(i=Math.max(h[0],Math.min(i,h[1])));var n=s._getExpectedInlineSize(r,i),e=a*(e-1),o=(l-e)/(n-e);r.forEach(function(t,e){var n=mt(t,i),e=r[e-1],e=e?e.cssInlinePos+e.cssInlineSize+a:0;u&&(n*=o),t.setCSSGridRect({inlinePos:e,contentPos:f,inlineSize:n,contentSize:i})}),f+=a+i,(c<0||t<c)&&(p=f)}),r)return{start:[n],end:[p]};var o=f-n;return t.forEach(function(t){t.cssContentPos-=o}),{start:[n-o],end:[n]}},n._getRowRange=function(){var t=this.rowRange;return ot(t)?t:[t,t]},n._getColumnRange=function(){var t=this.columnRange;return ot(t)?t:[t,t]},n._getSizeRange=function(){var t=this.sizeRange;return ot(t)?t:[t,t]},e.propertyTypes=Z(Z({},lt.propertyTypes),{columnRange:J.RENDER_PROPERTY,rowRange:J.RENDER_PROPERTY,sizeRange:J.RENDER_PROPERTY,isCroppedSize:J.RENDER_PROPERTY,displayedRow:J.RENDER_PROPERTY}),e.defaultOptions=Z(Z({},lt.defaultOptions),{columnRange:[1,8],rowRange:0,sizeRange:[0,1/0],displayedRow:-1,isCroppedSize:!1}),X([st],e)}(lt);function vt(t){var e=-1/0;return t.forEach(function(t){isFinite(t)&&(e=Math.max(e,t))}),isFinite(e)?e:0}function Rt(t,e,n){return vt(t)+function(t,e,n){var r=t.length;if(!r)return 0;var i=function(t){var e=1/0;return t.forEach(function(t){isFinite(t)&&(e=Math.min(e,t))}),isFinite(e)?e:0}(e),o=vt(t),s=0;if(!n)return 0;for(var a=0;a<r;++a){var u=t[a],c=e[a];isFinite(u)&&isFinite(c)&&(u=u-o,c=c-i,s=a?Math.max(s,s+u-c):u-c)}return s}(t,e,n)}function St(t,e,n){for(var r=n.inlinePos,i=n.inlineSize,o=n.contentPos,s=n.contentSize,a=r;a<r+i;++a)t[a]=Math.min(t[a],o),e[a]=Math.max(e[a],o+s)}var Et=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}W(e,t);var n=e.prototype;return n.applyGrid=function(t,e,n){var r=this._getFrame(),i=r.inlineSize,o=r.contentSize,s=r.rects,a=this.options,u=a.gap,c=a.useFrameFill,a=this.getRectSize(i),h=a.inlineSize,l=a.contentSize,f=t.length;if(!f||!i||!o)return{start:n,end:n};for(var p=s.length,d=at(i).map(function(){return 1/0}),g=at(i).map(function(){return-1/0}),m=r.outline.map(function(t){return t*(l+u)}),y=0;y<f;y+=p)for(var v=Rt(g,m,c),R=0;R<p&&y+R<f;++R){var S=t[y+R],E=s[R],_=E.contentPos,I=E.inlinePos,z=E.contentSize,C=E.inlineSize,P=v+_*(l+u),E=I*(h+u),_=z*(l+u)-u,z=C*(h+u)-u;St(d,g,{inlinePos:I,inlineSize:C,contentPos:P,contentSize:_+u}),S.setCSSGridRect({inlinePos:E,contentPos:P,inlineSize:z,contentSize:_})}var O,e="end"===e,n=n.length?n:[0];n.length!==i&&(O=(e?Math.max:Math.min).apply(Math,n),n=at(i).map(function(){return O}));var d=d.map(function(t){return isFinite(t)?t:0}),g=g.map(function(t){return isFinite(t)?t:0}),T=e?Rt(n,d,c):Rt(g,n,c);return t.forEach(function(t){t.cssContentPos+=T}),{start:d.map(function(t){return t+T}),end:g.map(function(t){return t+T})}},n.getRectSize=function(t){var e=this.options,n=e.gap,e=e.rectSize;if("object"==typeof e)return e;n=e||(this.getContainerInlineSize()+n)/t-n;return{inlineSize:n,contentSize:n}},n._getFrame=function(){for(var t=this.options.frame,e=t.length,n=e?t[0].length:0,r=[],i={},o=at(n).map(function(){return 1/0}),s=at(n).map(function(){return-1/0}),a=0;a<e;++a)for(var u=0;u<n;++u){var c=t[a][u];c&&(i[a+","+u]||(St(o,s,c=this._findRect(i,c,a,u,n,e)),r.push(c)))}return r.sort(function(t,e){return t.type<e.type?-1:1}),{rects:r,inlineSize:n,contentSize:e,outline:o}},n._findRect=function(t,e,n,r,i,o){for(var s=this.options.frame,a=1,u=1,c=r;c<i&&s[n][c]===e;++c)u=c-r+1;for(var h=n;h<o&&s[h][r]===e;++h)a=h-n+1;for(var l=n;l<n+a;++l)for(var f=r;f<r+u;++f)t[l+","+f]=!0;return{type:e,inlinePos:r,contentPos:n,inlineSize:u,contentSize:a}},e.propertyTypes=Z(Z({},lt.propertyTypes),{frame:J.RENDER_PROPERTY,useFrameFill:J.RENDER_PROPERTY,rectSize:J.RENDER_PROPERTY}),e.defaultOptions=Z(Z({},lt.defaultOptions),{frame:[],rectSize:0,useFrameFill:!0}),X([st],e)}(lt),_t=function(){function t(t){var e,n=Z({orgInlineSize:0,orgContentSize:0,inlineSize:0,contentSize:0,inlinePos:0,contentPos:0,items:[]},t);for(e in n)this[e]=n[e]}var e=t.prototype;return e.scaleTo=function(t,e){var n=this.inlineSize?t/this.inlineSize:0,r=this.contentSize?e/this.contentSize:0;this.items.forEach(function(t){0!=n&&(t.inlinePos*=n,t.inlineSize*=n),0!=r&&(t.contentPos*=r,t.contentSize*=r)}),this.inlineSize=t,this.contentSize=e},e.push=function(t){this.items.push(t)},e.getOrgSizeWeight=function(){return this.orgInlineSize*this.orgContentSize},e.getSize=function(){return this.inlineSize*this.contentSize},e.getOrgRatio=function(){return 0===this.orgContentSize?0:this.orgInlineSize/this.orgContentSize},e.getRatio=function(){return 0===this.contentSize?0:this.inlineSize/this.contentSize},t}();function It(t,e){e=t/e;return(e=e<1?1/e:e)-1}var zt,Ct,Pt,Ot=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}W(e,t);var n=e.prototype;return n.applyGrid=function(t,e,n){var r=this,i=this.options,o=i.aspectRatio,s=i.gap,a=this.getContainerInlineSize(),u=a/o,n=n.length?n:[0],c="end"===e?Math.max.apply(Math,n):Math.min.apply(Math,n)-u-s,n=c+u+s,h=new _t({});return t.forEach(function(t){t=new _t({inlineSize:t.orgInlineSize,contentSize:t.orgContentSize,orgInlineSize:t.orgInlineSize,orgContentSize:t.orgContentSize});r._findBestFitArea(h,t),h.push(t),h.scaleTo(a+s,u+s)}),t.forEach(function(t,e){var n=h.items[e],r=n.inlineSize-s,i=n.contentSize-s,e=c+n.contentPos,n=n.inlinePos;t.setCSSGridRect({inlinePos:n,contentPos:e,inlineSize:r,contentSize:i})}),{start:[c],end:[n]}},n._findBestFitArea=function(t,d){if(0===t.getRatio())return t.orgInlineSize=d.inlineSize,t.orgContentSize=d.contentSize,t.inlineSize=d.inlineSize,void(t.contentSize=d.contentSize);var g,e,n,r,i,m=1/0,y=!1,v={inlineSize:0,contentSize:0},R={inlineSize:0,contentSize:0},S=this._getWeight("size"),E=this._getWeight("ratio");t.items.forEach(function(t){for(var e=It(t.getOrgSizeWeight(),t.getSize())*S,n=It(t.getOrgRatio(),t.getRatio())*E,r=t.inlineSize,i=t.contentSize,o=0;o<2;++o){var s=void 0,a=void 0,u=void 0,c=void 0;0===o?(u=s=r,c=i-(a=i*(d.contentSize/(t.orgContentSize+d.contentSize)))):(c=a=i,u=r-(s=r*(d.inlineSize/(t.orgInlineSize+d.inlineSize))));var h=s*a,l=s/a,f=u*c,p=c/c,h=It(d.getSize(),h)*S;h+=It(d.getRatio(),l)*E,h+=It(t.getOrgSizeWeight(),f)*S-e,(h+=It(t.getOrgRatio(),p)*E-n)===Math.min(h,m)&&(m=h,g=t,y=0===o,v.inlineSize=s,v.contentSize=a,R.inlineSize=u,R.contentSize=c)}}),e=g,n=v,r=R,i=y,(t=d).contentSize=n.contentSize,t.inlineSize=n.inlineSize,e.contentSize=r.contentSize,e.inlineSize=r.inlineSize,i?(t.contentPos=e.contentPos+e.contentSize,t.inlinePos=e.inlinePos):(t.inlinePos=e.inlinePos+e.inlineSize,t.contentPos=e.contentPos)},n._getWeight=function(t){var e=this.options,n=e.weightPriority;return n===t?100:"custom"===n?e[t+"Weight"]:1},e.propertyTypes=Z(Z({},lt.propertyTypes),{aspectRatio:J.RENDER_PROPERTY,sizeWeight:J.RENDER_PROPERTY,ratioWeight:J.RENDER_PROPERTY,weightPriority:J.RENDER_PROPERTY}),e.defaultOptions=Z(Z({},lt.defaultOptions),{aspectRatio:1,sizeWeight:1,ratioWeight:1,weightPriority:"custom"}),X([st],e)}(lt),e="undefined"!=typeof window?window.navigator.userAgent:"",Tt=/iPhone|iPad/.test(e),Mt="infinitegrid-container",wt={renderOnPropertyChange:!0,useFit:!0,autoResize:!0},bt=y({},nt),xt={START:"start",END:"end",NONE:""},Dt={CHANGE_SCROLL:"changeScroll",REQUEST_APPEND:"requestAppend",REQUEST_PREPEND:"requestPrepend",RENDER_COMPLETE:"renderComplete",CONTENT_ERROR:"contentError"},Lt={type:!0,groupKey:!0,key:!0,element:!0,html:!0,data:!0},g=["updateItems","getItems","getVisibleItems","getGroups","getVisibleGroups","renderItems","getContainerElement","getScrollContainerElement","getWrapperElement","setStatus","getStatus","removePlaceholders","prependPlaceholders","appendPlaceholders","getStartCursor","getEndCursor","setCursors"];(d=zt=zt||{})[d.NORMAL=0]="NORMAL",d[d.VIRTUAL=1]="VIRTUAL",d[d.LOADING=2]="LOADING",(e=Ct=Ct||{})[e.NORMAL=0]="NORMAL",e[e.VIRTUAL=1]="VIRTUAL",e[e.LOADING=2]="LOADING",(d=Pt=Pt||{})[d.NOT_REMOVE=0]="NOT_REMOVE",d[d.MINIMIZE_INVISIBLE_ITEMS=1]="MINIMIZE_INVISIBLE_ITEMS",d[d.MINIMIZE_INVISIBLE_GROUPS=2]="MINIMIZE_INVISIBLE_GROUPS",d[d.REMOVE_INVISIBLE_GROUPS=3]="REMOVE_INVISIBLE_GROUPS";var Nt=function(i){function t(t,e){var n,r=i.call(this,t,y({html:"",type:Ct.NORMAL,cssRect:{top:-9999,left:-9999}},e))||this;return r.type===Ct.VIRTUAL&&((r.rect.width||r.rect.height)&&(r.mountState=$.UNMOUNTED),n=r.orgRect,t=r.rect,(e=r.cssRect).width?t.width=e.width:n.width&&(t.width=n.width),e.height?t.height=e.height:n.height&&(t.height=n.height)),r}o(t,i);var e=t.prototype;return e.getVirtualStatus=function(){return{type:Ct.VIRTUAL,groupKey:this.groupKey,key:this.key,orgRect:this.orgRect,rect:this.rect,cssRect:this.cssRect,attributes:this.attributes}},e.getMinimizedStatus=function(){var t=y(y({},i.prototype.getStatus.call(this)),{type:Ct.NORMAL,groupKey:this.groupKey});return this.html&&(t.html=this.html),t},t}(ht),At=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type="",t}o(t,e);var n=t.prototype;return n.getLoadingItem=function(){return this.items[0]||null},n.setLoadingItem=function(t){if(t){var e=this.getLoadingItem();if(e)for(var n in t)e[n]=t[n];else this.items=[new Nt(this.options.horizontal,y(y({},t),{type:Ct.LOADING,key:"__INFINITEGRID__LOADING_ITEM"}))]}else this.items=[]},n.applyGrid=function(t,e,n){if(!t.length)return{start:n,end:n};var n=n.length?h(n):[0],t=t[0],r=t.contentSize+this.gap;if(t.cssInlinePos=this.getContainerInlineSize()/2-t.inlineSize/2,"end"===e){var i=Math.max.apply(Math,n);return t.cssContentPos=i,{start:n,end:n.map(function(t){return t+r})}}i=Math.min.apply(Math,n);return t.cssContentPos=i-r,{start:n.map(function(t){return t-r}),end:n}},t}(lt);function kt(t){return t===window}function Gt(t){return"string"==typeof t}function Ut(t){return t.reduce(function(t,e){return h(t,e)},[])}function Vt(t){var e,n={},r={},i=lt.defaultOptions;for(e in t){var o=t[e];e in wt||(r[e]=o),e in i&&(n[e]=o)}return y(y({},n),{gridOptions:r})}function Kt(t){var r,i=[],o={},s={};t.filter(function(t){return null!=t.groupKey}).forEach(function(t){t=t.groupKey;s[t]=!0});var a=!1;return t.forEach(function(t){null!=t.groupKey?a=!1:(a||(r=Ht(s),a=!0,s[r]=!0),t.groupKey=r);var e=t.groupKey,n=o[e];n||(o[e]=n={groupKey:e,items:[]},i.push(n)),n.items.push(t)}),i}function jt(t,e,n,r){var e=q(t,e,function(t){return t}),i=-1,o=-1;return e.maintained.forEach(function(t){var e=t[0],t=t[1];n<=e&&e<=r&&(o=-1===i?i=t:(i=Math.min(i,t),Math.max(o,t)))}),{startCursor:i,endCursor:o}}function Ft(t,e,n){var r,i=[];if("start"===e){if(-1===(r=Wt(t,function(t){return t.type===zt.NORMAL})))return[];i=t.slice(0,r)}else{if(-1===(r=Zt(t,function(t){return t.type===zt.NORMAL})))return[];i=t.slice(r+1)}return q(i,n,function(t){return t.groupKey}).removed.map(function(t){return i[t]}).reverse()}function qt(t){var e,r=t.prototype;for(e in t.propertyTypes)!function(n){Object.defineProperty(r,n,{enumerable:!0,configurable:!0,get:function(){var t=this.groupManager.options;return(n in t?t:t.gridOptions)[n]},set:function(t){var e;this.groupManager[n]!==t&&(this.groupManager.gridOptions=((e={})[n]=t,e))}})}(e)}function Ht(t){for(;;){var e=(new Date).getTime()+Math.floor(1e3*Math.random());if(!(e in t))return e}}function Yt(t){var e=document.createElement("div");return e.innerHTML=t,Bt(e.children)}function Bt(t){var e=[];if(t)for(var n=t.length,r=0;r<n;r++)e.push(t[r]);return e}function Wt(t,e){for(var n=t.length,r=0;r<n;++r)if(e(t[r],r))return r;return-1}function Zt(t,e){for(var n=t.length-1;0<=n;--n)if(e(t[n],n))return n;return-1}function Xt(t,n){return t.length===n.length&&t.every(function(t,e){return n[e]===t})}function Qt(t){return Ut(t.map(function(t){return t.grid.getItems()}))}function Jt(t,e){return e?t:t.filter(function(t){return t.type!==Ct.VIRTUAL})}var $t,te,e=($t=g,function(t,i){$t.forEach(function(r){r in t||(t[r]=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=(n=this[i])[r].apply(n,t);return n===this[i]?this:n})})}),ee=function(r){function t(t,e){var n,n=r.call(this,t,(e=(n=e).gridOptions,n=v(n,["gridOptions"]),y(y({},Vt(e)),n)))||this;return n.groupItems=[],n.groups=[],n.itemKeys={},n.groupKeys={},n.startCursor=0,n.endCursor=0,n._placeholder=null,n._loadingGrid=new At(t,{externalContainerManager:n.containerManager,useFit:!1,autoResize:!1,renderOnPropertyChange:!1,gap:n.gap}),n}o(t,r);var e=t.prototype;return Object.defineProperty(e,"gridOptions",{set:function(r){var t,e=Vt(r),n=e.gridOptions,i=v(e,["gridOptions"]),e=this._checkShouldRender(r);for(t in this.options.gridOptions=y(y({},this.options.gridOptions),n),this.groups.forEach(function(t){var e,n=t.grid;for(e in r)n[e]=r[e]}),i)this[t]=i[t];this._loadingGrid.gap=this.gap,e&&this.scheduleRender()},enumerable:!1,configurable:!0}),e.getItemByKey=function(t){return this.itemKeys[t]||null},e.getGroupItems=function(t){return Jt(this.groupItems,t)},e.getVisibleItems=function(t){return Jt(this.items,t)},e.getRenderingItems=function(){return this.hasPlaceholder()?this.items:this.items.filter(function(t){return t.type!==Ct.VIRTUAL})},e.getGroups=function(t){return Jt(this.groups,t)},e.hasVisibleVirtualGroups=function(){return this.getVisibleGroups(!0).some(function(t){return t.type===zt.VIRTUAL})},e.hasPlaceholder=function(){return!!this._placeholder},e.hasLoadingItem=function(){return!!this._getLoadingItem()},e.setPlaceholder=function(t){this._placeholder=t,this._updatePlaceholder()},e.getLoadingType=function(){return this._loadingGrid.type},e.startLoading=function(t){return this._loadingGrid.type=t,this.items=this._getRenderingItems(),!0},e.endLoading=function(){var t=this._loadingGrid.type;return this._loadingGrid.type="",this.items=this._getRenderingItems(),!!t},e.setLoading=function(t){this._loadingGrid.setLoadingItem(t),this.items=this._getRenderingItems()},e.getVisibleGroups=function(t){return Jt(this.groups.slice(this.startCursor,this.endCursor+1),t)},e.applyGrid=function(t,r,e){var i=this;t.forEach(function(t){t.mountState=$.MOUNTED});var n=this.groups.slice();if(!n.length)return{start:[],end:[]};t=this._loadingGrid;t.getLoadingItem()&&("start"===t.type?n.unshift(this._getLoadingGroup()):"end"===t.type&&n.push(this._getLoadingGroup()));var t=n.slice(),o=e;return"start"===r&&t.reverse(),t.forEach(function(t){var e=t.grid,n=e.getItems(),t=t.type===zt.VIRTUAL&&!n[0],n=n.filter(function(t){return t.mountState!==$.UNCHECKED&&t.rect.width}),n=t?i._applyVirtualGrid(e,r,o):n.length?e.applyGrid(n,r,o):{start:h(o),end:h(o)};e.setOutlines(n),o=n[r]}),{start:n[0].grid.getOutlines().start,end:n[n.length-1].grid.getOutlines().end}},e.syncItems=function(t){var o=this,e=this.itemKeys;this.itemKeys={};var n=this._syncItemInfos(t.map(function(t){var e,n={};for(e in t)e in Lt&&(n[e]=t[e]);return n}),e),s=this.groupKeys,t=Kt(n),e=this._splitVirtualGroups("start",t),n=this._splitVirtualGroups("end",t),t=(t=h(e,this._mergeVirtualGroups(t),n)).map(function(t){var e=t.groupKey,n=t.items,r=!n[0]||n[0].type===Ct.VIRTUAL,i=null!==(t=null===(i=s[e])||void 0===i?void 0:i.grid)&&void 0!==t?t:o._makeGrid(),t=r?n:n.filter(function(t){return t.type===Ct.NORMAL});return i.setItems(t),{type:r?zt.VIRTUAL:zt.NORMAL,groupKey:e,grid:i,items:t,renderItems:n}});this._registerGroups(t)},e.renderItems=function(t){var e;return(t=void 0===t?{}:t).useResize&&(this.groupItems.forEach(function(t){t.updateState=tt.NEED_UPDATE}),(e=this._getLoadingItem())&&(e.updateState=tt.NEED_UPDATE)),r.prototype.renderItems.call(this,t)},e.setCursors=function(t,e){this.startCursor=t,this.endCursor=e,this.items=this._getRenderingItems()},e.getStartCursor=function(){return this.startCursor},e.getEndCursor=function(){return this.endCursor},e.getGroupStatus=function(t){var e=this.startCursor,n=this.endCursor,r=this.groups,o=e,s=n,a=t===Pt.MINIMIZE_INVISIBLE_ITEMS,u=t===Pt.MINIMIZE_INVISIBLE_GROUPS;t===Pt.REMOVE_INVISIBLE_GROUPS?(h=this.getVisibleGroups(),s-=o,o=0):h=this.getGroups();var i=h.map(function(t,e){var n=t.grid,r=t.groupKey,t=e<o||s<e,i=a&&t,e=u&&t,t=n.getItems(),t=e?[]:t.map(function(t){return i?t.getVirtualStatus():t.getMinimizedStatus()});return{type:e||i?zt.VIRTUAL:zt.NORMAL,groupKey:r,outlines:n.getOutlines(),items:t}}),c=r[e],t=r[n],h=this.getGroupItems(),r=h.indexOf(null==c?void 0:c.items[0]),h=h.indexOf(null==t?void 0:t.items.slice().reverse()[0]);return{cursors:[o,s],orgCursors:[e,n],itemCursors:[r,h],startGroupKey:null==c?void 0:c.groupKey,endGroupKey:null==t?void 0:t.groupKey,groups:i,outlines:this.outlines}},e.setGroupStatus=function(t){var o=this;this.itemKeys={},this.groupItems=[],this.items=[];var s=this.groupKeys,e=t.groups.map(function(t){var e=t.type,n=t.groupKey,r=t.items,i=t.outlines,t=o._syncItemInfos(r),r=null!==(r=null===(r=s[n])||void 0===r?void 0:r.grid)&&void 0!==r?r:o._makeGrid();return r.setOutlines(i),r.setItems(t),{type:e,groupKey:n,grid:r,items:t,renderItems:t}});this.setOutlines(t.outlines),this._registerGroups(e),this._updatePlaceholder(),this.setCursors(t.cursors[0],t.cursors[1])},e.appendPlaceholders=function(t,e){return this.insertPlaceholders("end",t,e)},e.prependPlaceholders=function(t,e){return this.insertPlaceholders("start",t,e)},e.removePlaceholders=function(t){var e,n,r=this.groups,i=r.length;"start"===t?(n=Wt(r,function(t){return t.type===zt.NORMAL}),r.splice(0,n)):"end"===t?(n=Zt(r,function(t){return t.type===zt.NORMAL}),r.splice(n+1,i-n-1)):(e=t.groupKey,-1<(n=Wt(r,function(t){return t.groupKey===e}))&&r.splice(n,1)),this.syncItems(Qt(this.getGroups()))},e.insertPlaceholders=function(t,e,n){var r;void 0===n&&(n=Ht(this.groupKeys));var i=[];"number"==typeof e?i=function(t){for(var e=[],n=0;n<t;++n)e.push(n);return e}(e).map(function(){return{type:Ct.VIRTUAL,groupKey:n}}):Array.isArray(e)&&(i=e.map(function(t){return y(y({groupKey:n},t),{type:Ct.VIRTUAL})}));e=this._makeGrid(),i=this._syncItemInfos(i,this.itemKeys);this._updatePlaceholder(i),e.setItems(i);e={type:zt.VIRTUAL,groupKey:n,grid:e,items:i,renderItems:i};return this.groupKeys[n]=e,"end"===t?(this.groups.push(e),(r=this.groupItems).push.apply(r,i)):(this.groups.splice(0,0,e),(r=this.groupItems).splice.apply(r,h([0,0],i)),-1<this.startCursor&&(++this.startCursor,++this.endCursor)),{group:e,items:i}},e.shouldRerenderItems=function(){var n=!1;return this.getVisibleGroups().forEach(function(t){var e=t.items;e.length===t.renderItems.length||e.every(function(t){return t.mountState===$.UNCHECKED})||(n=!0,t.renderItems=h(e))}),n&&(this.items=this._getRenderingItems()),n},e._getGroupItems=function(){return Qt(this.getGroups(!0))},e._getRenderingItems=function(){var t=Ut(this.getVisibleGroups(!0).map(function(t){return t.renderItems})),e=this._loadingGrid,n=e.getLoadingItem();return n&&("end"===e.type?t.push(n):"start"===e.type&&t.unshift(n)),t},e._checkShouldRender=function(t){var e,n=this.options.gridConstructor,r=this.gridOptions,i=n.propertyTypes;for(e in r)if(!(e in t)&&i[e]===J.RENDER_PROPERTY)return!0;for(e in t)if(r[e]!==t[e]&&i[e]===J.RENDER_PROPERTY)return!0;return!1},e._applyVirtualGrid=function(t,e,n){var r=n.length?h(n):[0],t=t.getOutlines(),e=t["end"===e?"start":"end"];return e.length!==r.length||e.some(function(t,e){return t!==r[e]})?{start:h(r),end:h(r)}:t},e._syncItemInfos=function(t,r){void 0===r&&(r={});var i=this.options.horizontal,o=this.itemKeys;return t.filter(function(t){return null!=t.key}).forEach(function(t){var e=t.key,n=r[e];n?n.type===Ct.VIRTUAL&&t.type!==Ct.VIRTUAL?o[e]=new Nt(i,y({orgRect:n.orgRect,rect:n.rect},t)):(t.data&&(n.data=t.data),o[e]=n):o[e]=new Nt(i,y({},t))}),t.map(function(t){var e=t.key;return null==t.key&&(e=Ht(o),o[e]=new Nt(i,y(y({},t),{key:e}))),o[e]})},e._registerGroups=function(t){var e={};t.forEach(function(t){e[t.groupKey]=t}),this.groups=t,this.groupKeys=e,this.groupItems=this._getGroupItems()},e._splitVirtualGroups=function(t,e){var e=Ft(this.groups,t,e),n=this.itemKeys;return e.forEach(function(t){t.renderItems.forEach(function(t){n[t.key]=t})}),e},e._mergeVirtualGroups=function(t){var r=this.itemKeys,i=this.groupKeys;return t.forEach(function(t){var e,n=i[t.groupKey];!n||(e=t.items).every(function(t){return t.mountState===$.UNCHECKED})&&n.renderItems.forEach(function(t){t.type!==Ct.VIRTUAL||r[t.key]||(e.push(t),r[t.key]=t)})}),t},e._updatePlaceholder=function(t){void 0===t&&(t=this.groupItems);var e=this._placeholder;e&&t.filter(function(t){return t.type===Ct.VIRTUAL}).forEach(function(t){!function(t,e){for(var n in e){var r=e[n];t[n]="object"==typeof r?y(y({},t[n]),r):e[n]}}(t,e)})},e._makeGrid=function(){var t=this.options.gridConstructor,e=this.gridOptions;return new t(this.containerElement,y(y({},e),{useFit:!1,autoResize:!1,renderOnPropertyChange:!1,externalContainerManager:this.containerManager,externalItemRenderer:this.itemRenderer}))},e._getLoadingGroup=function(){var t=this._loadingGrid,e=t.getItems();return{groupKey:"__INFINITEGRID__LOADING_GRID",type:zt.NORMAL,grid:t,items:e,renderItems:e}},e._getLoadingItem=function(){return this._loadingGrid.getLoadingItem()},t.defaultOptions=y(y({},lt.defaultOptions),{gridConstructor:null,gridOptions:{}}),t.propertyTypes=y(y({},lt.propertyTypes),{gridConstructor:J.PROPERTY,gridOptions:J.PROPERTY}),n([st],t)}(lt),ne=function(n){function t(t){var e=n.call(this)||this;return e.startCursor=-1,e.endCursor=-1,e.size=0,e.items=[],e.itemKeys={},e.options=y({threshold:0,useRecycle:!0,defaultDirection:"end"},t),e}o(t,n);var e=t.prototype;return e.scroll=function(n){var r,t,e,i,o=this.startCursor,s=this.endCursor,a=this.items,u=a.length,c=this.size,h=this.options,l=h.defaultDirection,f=h.threshold,p=h.useRecycle,d="end"===l;u?-1!==o&&-1!==s?(r=n+c,t=Math.max.apply(Math,a[o].startOutline),e=Math.min.apply(Math,a[s].endOutline),i=a.map(function(t){var e=t.startOutline,t=t.endOutline;if(!e.length||!t.length)return!1;e=Math.min.apply(Math,e),t=Math.max.apply(Math,t);return e-f<=r&&n<=t+f}),h=0<o,l=s<u-1,c=n<=t+f,t=e-f<=r,e=i.indexOf(!0),i=i.lastIndexOf(!0),-1===e&&(e=o,i=s),p||(e=Math.min(e,o),i=Math.max(i,s)),e===o&&h&&c&&--e,i===s&&l&&t&&(i+=1),o!==e||s!==i?this.trigger("change",{prevStartCursor:o,prevEndCursor:s,nextStartCursor:e,nextEndCursor:i}):this._requestVirtualItems()||(d&&t||!c?!d&&c||!t||this.trigger("requestAppend",{key:a[s].key,isVirtual:!1}):this.trigger("requestPrepend",{key:a[o].key,isVirtual:!1}))):this.trigger("change",{prevStartCursor:o,prevEndCursor:s,nextStartCursor:u=d?0:u-1,nextEndCursor:u}):this.trigger(d?"requestAppend":"requestPrepend",{key:void 0,isVirtual:!1})},e._requestVirtualItems=function(){var t="end"===this.options.defaultDirection,e=this.items,n=this.getVisibleItems(),r=n.filter(function(t){return!t.isVirtual}),i=n.length,o=r.length,s=this.getStartCursor(),a=this.getEndCursor();if(o===i)return!1;if(o){var u=r[0].key,c=r[o-1].key,r=Wt(e,function(t){return t.key===u})-1,o=Wt(e,function(t){return t.key===c})+1,a=o<=a,s=s<=r;if((t||!s)&&a)return this.trigger("requestAppend",{key:c,nextKey:e[o].key,isVirtual:!0}),!0;if((!t||!a)&&s)return this.trigger("requestPrepend",{key:u,nextKey:e[r].key,isVirtual:!0}),!0}else if(i){i=n[i-1];return t?this.trigger("requestAppend",{nextKey:n[0].key,isVirtual:!0}):this.trigger("requestPrepend",{nextKey:i.key,isVirtual:!0}),!0}return!1},e.setCursors=function(t,e){this.startCursor=t,this.endCursor=e},e.setSize=function(t){this.size=t},e.getStartCursor=function(){return this.startCursor},e.getEndCursor=function(){return this.endCursor},e.isLoading=function(t){var e=this.startCursor,n=this.endCursor,r=this.items,i=r[e],o=r[n],r=r.length;return!(t===xt.END&&-1<n&&n<r-1&&!o.isVirtual&&!Xt(o.startOutline,o.endOutline))&&!(t===xt.START&&0<e&&!i.isVirtual&&!Xt(i.startOutline,i.endOutline))},e.setItems=function(t){this.items=t;var e={};t.forEach(function(t){e[t.key]=t}),this.itemKeys=e},e.syncItems=function(t){var e=this.items,n=this.startCursor,r=this.endCursor,i=jt(this.items.map(function(t){return t.key}),t.map(function(t){return t.key}),n,r),o=i.startCursor,s=i.endCursor,i=s-o!=r-n||-1===n||-1===o;return i||(i=0<(r=q(e.slice(n,r+1),t.slice(o,s+1),function(t){return t.key})).added.length||0<r.removed.length||0<r.changed.length),this.setItems(t),this.setCursors(o,s),i},e.getItems=function(){return this.items},e.getVisibleItems=function(){var t=this.startCursor,e=this.endCursor;return-1===t?[]:this.items.slice(t,e+1)},e.getItemByKey=function(t){return this.itemKeys[t]},e.getRenderedVisibleItems=function(){var t=this.getVisibleItems(),e=t.map(function(t){var e=t.startOutline,n=t.endOutline,t=e.length;return 0!==t&&t===n.length&&e.some(function(t,e){return n[e]!==t})}),n=e.indexOf(!0),e=e.lastIndexOf(!0);return-1===e?[]:t.slice(n,e+1)},e.destroy=function(){this.off(),this.startCursor=-1,this.endCursor=-1,this.items=[],this.size=0},t}(t),d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.items=[],t.container=null,t.rendererKey=0,t._updateTimer=0,t._state={},t}o(t,e);var n=t.prototype;return n.updateKey=function(){this.rendererKey=Date.now()},n.getItems=function(){return this.items},n.setContainer=function(t){this.container=t},n.render=function(t,e){return e&&(this._state=e),this.syncItems(t)},n.update=function(t){var e=this;this._state=t=void 0===t?{}:t,this.trigger("update",{state:t}),clearTimeout(this._updateTimer),this._updateTimer=window.setTimeout(function(){e.trigger("requestUpdate",{state:t})})},n.updated=function(n){void 0===n&&(n=null!==(r=null===(e=this.container)||void 0===e?void 0:e.children)&&void 0!==r?r:[]);var t=this._diffResult,e=!!(t.added.length||t.removed.length||t.changed.length),r=this._state;this._state={};t=t.list;return(this.items=t).forEach(function(t,e){t.element=n[e]}),this.trigger("updated",{items:t,elements:Bt(n),diffResult:this._diffResult,state:r,isChanged:e}),e},n.destroy=function(){this.off()},n.syncItems=function(t){var e=this.rendererKey,t=q(this.items,t.map(function(t){return y(y({},t),{renderKey:e+"_"+t.key})}),function(t){return t.renderKey});return this._diffResult=t},t}(t),re=function(i){function t(){return null!==i&&i.apply(this,arguments)||this}return o(t,i),t.prototype.syncItems=function(n){var t=i.prototype.syncItems.call(this,n),e=t.added,r=t.list;return e.forEach(function(t){var e=n[t].orgItem;e.html&&!e.element&&(e.element=Yt(e.html)[0]),r[t].element=e.element}),t},t}(function(u){function t(){return null!==u&&u.apply(this,arguments)||this}return o(t,u),t.prototype.render=function(t,e){var n=this.container,r=u.prototype.render.call(this,t,e),i=r.prevList,o=r.removed,t=r.ordered,e=r.added,s=r.list,a=h(i);return o.forEach(function(t){a.splice(t,1),n.removeChild(i[t].element)}),t.forEach(function(t){var e=t[0],t=t[1],e=a.splice(e,1)[0];a.splice(t,0,e),n.insertBefore(e.element,null!==(t=null===(t=a[t+1])||void 0===t?void 0:t.element)&&void 0!==t?t:null)}),e.forEach(function(t){var e=s[t];a.splice(t,0,e),n.insertBefore(e.element,null!==(t=null===(t=a[t+1])||void 0===t?void 0:t.element)&&void 0!==t?t:null)}),this.updated(n.children),r},t}(d)),ie=function(r){function t(t,e){var n=r.call(this)||this;return n.wrapper=t,n.prevScrollPos=null,n.scrollOffset=0,n.contentSize=0,n._isScrollIssue=Tt,n._onCheck=function(){var t=n.getScrollPos(),e=n.getOrgScrollPos();n.setScrollPos(e),null===t||n._isScrollIssue&&0===e||t===e?e&&(n._isScrollIssue=!1):(n._isScrollIssue=!1,n.trigger(new R("scroll",{direction:t<e?"end":"start",scrollPos:e,relativeScrollPos:n.getRelativeScrollPos()})))},n.options=y({container:!1,containerTag:"div",horizontal:!1},e),n._init(),n}o(t,r);var e=t.prototype;return e.getWrapper=function(){return this.wrapper},e.getContainer=function(){return this.container},e.getScrollContainer=function(){return this.scrollContainer},e.getScrollOffset=function(){return this.scrollOffset},e.getContentSize=function(){return this.contentSize},e.getRelativeScrollPos=function(){return(this.prevScrollPos||0)-this.scrollOffset},e.getScrollPos=function(){return this.prevScrollPos},e.setScrollPos=function(t){this.prevScrollPos=t},e.getOrgScrollPos=function(){var t=this.eventTarget,e=this.options.horizontal,n="scroll"+(e?"Left":"Top");return kt(t)?window[e?"pageXOffset":"pageYOffset"]||document.documentElement[n]||document.body[n]:t[n]},e.setStatus=function(t){this.contentSize=t.contentSize,this.scrollOffset=t.scrollOffset,this.prevScrollPos=t.prevScrollPos,this.scrollTo(this.prevScrollPos)},e.getStatus=function(){return{contentSize:this.contentSize,scrollOffset:this.scrollOffset,prevScrollPos:this.prevScrollPos}},e.scrollTo=function(t){var e=this.eventTarget,n=this.options.horizontal?[t,0]:[0,t],t=n[0],n=n[1];kt(e)?e.scroll(t,n):(e.scrollLeft=t,e.scrollTop=n)},e.scrollBy=function(t){var e,n,r;t&&(e=this.eventTarget,n=(r=this.options.horizontal?[t,0]:[0,t])[0],r=r[1],this.prevScrollPos+=t,kt(e)?e.scrollBy(n,r):(e.scrollLeft+=n,e.scrollTop+=r))},e.resize=function(){var t=this.scrollContainer,e=this.options.horizontal,n=t===document.body?{top:0,left:0}:t.getBoundingClientRect(),r=this.container.getBoundingClientRect();this.scrollOffset=(this.prevScrollPos||0)+(e?r.left-n.left:r.top-n.top),this.contentSize=e?t.offsetWidth:t.offsetHeight},e.destroy=function(){var t,e,n,r=this.container;this.eventTarget.removeEventListener("scroll",this._onCheck),this._isCreateElement?(t=this.scrollContainer,e=document.createDocumentFragment(),n=Bt(r.childNodes),t.removeChild(r),n.forEach(function(t){e.appendChild(t)}),t.appendChild(e)):this.options.container&&(r.style.cssText=this._orgCSSText)},e._init=function(){var t=this.options,e=t.container,n=t.containerTag,r=t.horizontal,i=this.wrapper,t=i,o=i,i="";e?(e instanceof HTMLElement?o=e:!0===e?((o=document.createElement(n)).style.position="relative",o.className=Mt,Bt(t.childNodes).forEach(function(t){o.appendChild(t)}),t.appendChild(o),this._isCreateElement=!0):o=t.querySelector(e),i=o.style.cssText,(n=t.style).overflowX=(e=r?["scroll","hidden"]:["hidden","scroll"])[0],n.overflowY=e[1],r&&(o.style.height="100%")):(t=document.body,i=o.style.cssText);r=t===document.body?window:t;r.addEventListener("scroll",this._onCheck),this._orgCSSText=i,this.container=o,this.scrollContainer=t,this.eventTarget=r,this.resize(),this.setScrollPos(this.getOrgScrollPos())},t}(t),oe=function(m){function t(t,e){var u=m.call(this)||this;u._waitType="",u._onScroll=function(t){var e=t.direction,n=t.scrollPos,t=t.relativeScrollPos;u._scroll(),u.trigger(new R(Dt.CHANGE_SCROLL,{direction:e,scrollPos:n,relativeScrollPos:t}))},u._onChange=function(t){u.setCursors(t.nextStartCursor,t.nextEndCursor)},u._onRendererUpdated=function(t){if(!t.isChanged)return u._checkEndLoading(),void u._scroll();var e=t.items,n=t.diffResult,r=n.added,i=n.removed,o=n.prevList,s=n.list;i.forEach(function(t){t=o[t].orgItem;t.mountState!==$.UNCHECKED&&(t.mountState=$.UNMOUNTED)}),e.forEach(function(t){t.orgItem.element=t.element});var a=u.options.horizontal,i=r.map(function(t){var e=s[t].orgItem,n=e.element;if(e.type!==Ct.VIRTUAL)return e;t=y({},e.cssRect),e=e.rect;return!t.width&&e.width&&(t.width=e.width),!t.height&&e.height&&(t.height=e.height),new ht(a,{element:n,cssRect:t})}),e=t.state,t=e.isRestore,e=e.isResize;u.itemRenderer.renderItems(i),t?(u._onRenderComplete({mounted:r.map(function(t){return s[t].orgItem}),updated:[],isResize:!1,direction:u.defaultDirection}),e&&u.groupManager.renderItems()):u.groupManager.renderItems()},u._onResize=function(){u.renderItems({useResize:!0})},u._onRequestAppend=function(t){u._onRequestInsert(xt.END,Dt.REQUEST_APPEND,t)},u._onRequestPrepend=function(t){u._onRequestInsert(xt.START,Dt.REQUEST_PREPEND,t)},u._onContentError=function(t){var e=t.element,n=t.target,r=t.item,t=t.update;u.trigger(new R(Dt.CONTENT_ERROR,{element:e,target:n,item:r,update:t,remove:function(){u.removeByKey(r.key)}}))},u._onRenderComplete=function(t){var e=t.isResize,n=t.mounted,r=t.updated,i=t.direction,o=u.infinite,s=o.getRenderedVisibleItems(),a=s.length,t=i===xt.END;u._syncInfinite(),a&&(a=s[t?0:a-1],o=o.getItemByKey(a.key),a=t?Math.min.apply(Math,o.startOutline)-Math.min.apply(Math,a.startOutline):Math.max.apply(Math,o.endOutline)-Math.max.apply(Math,a.endOutline),u.scrollManager.scrollBy(a)),u.trigger(new R(Dt.RENDER_COMPLETE,{isResize:e,direction:i,mounted:n.filter(function(t){return t.type!==Ct.LOADING}),updated:r.filter(function(t){return t.type!==Ct.LOADING}),startCursor:u.getStartCursor(),endCursor:u.getEndCursor(),items:u.getVisibleItems(!0),groups:u.getVisibleGroups(!0)})),u.groupManager.shouldRerenderItems()?u._update():(u._checkEndLoading(),u._scroll())},u.options=y(y(y({},u.constructor.defaultOptions),{renderer:(new re).on("requestUpdate",function(){return u._render()})}),e);var n=u.options,r=n.gridConstructor,i=n.containerTag,o=n.container,s=n.renderer,a=n.threshold,c=n.useRecycle,h=v(n,["gridConstructor","containerTag","container","renderer","threshold","useRecycle"]),l=h.horizontal,f=h.attributePrefix,p=h.useTransform,d=h.percentage,g=h.isConstantSize,e=h.isEqualSize,n=Gt(t)?document.querySelector(t):t,t=new ie(n,{container:o,containerTag:i,horizontal:l}).on({scroll:u._onScroll}),o=t.getContainer(),i=new it(o,{horizontal:l}).on("resize",u._onResize),g=new ct({attributePrefix:f,horizontal:l,useTransform:p,percentage:d,isEqualSize:e,isConstantSize:g}),a=new ne({useRecycle:c,threshold:a}).on({change:u._onChange,requestAppend:u._onRequestAppend,requestPrepend:u._onRequestPrepend});a.setSize(t.getContentSize());h=new ee(o,{gridConstructor:r,externalItemRenderer:g,externalContainerManager:i,gridOptions:h});return h.on({renderComplete:u._onRenderComplete,contentError:u._onContentError}),s.setContainer(o),s.on("updated",u._onRendererUpdated),u.itemRenderer=g,u.groupManager=h,u.wrapperElement=n,u.scrollManager=t,u.containerManager=i,u.infinite=a,u.containerManager.resize(),u}o(t,m);var e=t.prototype;return e.renderItems=function(t){if((t=void 0===t?{}:t).useResize&&this.containerManager.resize(),this._resizeScroll(),!this.getRenderingItems().length){var e=Bt(this.getContainerElement().children);if(!(0<e.length))return this.infinite.scroll(0),this;this.append(e)}return this.getVisibleGroups(!0).length?this.groupManager.renderItems(t):this.setCursors(0,0),this},e.getWrapperElement=function(){return this.scrollManager.getWrapper()},e.getScrollContainerElement=function(){return this.scrollManager.getScrollContainer()},e.getContainerElement=function(){return this.scrollManager.getContainer()},e.syncItems=function(t){return this.groupManager.syncItems(t),this._syncGroups(),this},e.setCursors=function(t,e,n){return this.groupManager.setCursors(t,e),this.infinite.setCursors(t,e),n?this._render():(this._update(),this._checkEndLoading()),this},e.getStartCursor=function(){return this.infinite.getStartCursor()},e.getEndCursor=function(){return this.infinite.getEndCursor()},e.append=function(t,e){return this.insert(-1,t,e)},e.prepend=function(t,e){return this.insert(0,t,e)},e.insert=function(t,e,n){var r,i=this.groupManager.getGroupItems(),e=(r=n,(e=Gt(e=e)?Yt(e):e).map(function(t){var e,n="";if(Gt(t))n=t;else{if(!("parentNode"in t))return y({groupKey:r},t);n=(e=t).outerHTML}return{key:void 0,groupKey:r,html:n,element:e}}));return-1===t?i.push.apply(i,e):i.splice.apply(i,h([t,0],e)),this.syncItems(i)},e.getStatus=function(t){return{containerManager:this.containerManager.getStatus(),itemRenderer:this.itemRenderer.getStatus(),groupManager:this.groupManager.getGroupStatus(t),scrollManager:this.scrollManager.getStatus()}},e.setPlaceholder=function(t){return this.groupManager.setPlaceholder(t),this},e.setLoading=function(t){return this.groupManager.setLoading(t),this},e.appendPlaceholders=function(t,e){var n=this,r=this.groupManager.appendPlaceholders(t,e);return this._syncGroups(!0),y(y({},r),{remove:function(){n.removePlaceholders({groupKey:r.group.groupKey})}})},e.prependPlaceholders=function(t,e){var n=this,r=this.groupManager.prependPlaceholders(t,e);return this._syncGroups(!0),y(y({},r),{remove:function(){n.removePlaceholders({groupKey:r.group.groupKey})}})},e.removePlaceholders=function(t){this.groupManager.removePlaceholders(t),this._syncGroups(!0)},e.setStatus=function(t,e){this.itemRenderer.setStatus(t.itemRenderer),this.containerManager.setStatus(t.containerManager),this.scrollManager.setStatus(t.scrollManager);var n=this.groupManager,r=this.containerManager.getInlineSize();n.setGroupStatus(t.groupManager),this._syncInfinite(),this.infinite.setCursors(n.getStartCursor(),n.getEndCursor()),this._getRenderer().updateKey();r={isReisze:this.containerManager.getInlineSize()!==r,isRestore:!0};return e?this._render(r):this._update(r),this},e.removeGroupByIndex=function(t){var e=this.groupManager.getGroups();return this.removeGroupByKey(e[t].groupKey)},e.removeGroupByKey=function(e){var t=this.groupManager.getItems(),n=Wt(t,function(t){return t.groupKey===e}),r=Zt(t,function(t){return t.groupKey===e});return-1===n?this:(t.splice(n,r-n+1),this.syncItems(t))},e.removeByIndex=function(t){var e=this.getItems(!0);return e.splice(t,1),this.syncItems(e)},e.removeByKey=function(e){var t=Wt(this.getItems(!0),function(t){return t.key===e});return this.removeByIndex(t)},e.updateItems=function(t,e){return this.groupManager.updateItems(t,e=void 0===e?{}:e),this},e.getItems=function(t){return this.groupManager.getGroupItems(t)},e.getVisibleItems=function(t){return this.groupManager.getVisibleItems(t)},e.getRenderingItems=function(){return this.groupManager.getRenderingItems()},e.getGroups=function(t){return this.groupManager.getGroups(t)},e.getVisibleGroups=function(t){return this.groupManager.getVisibleGroups(t)},e.wait=function(t){this._waitType=t=void 0===t?xt.END:t,this._checkStartLoading(t)},e.ready=function(){this._waitType=""},e.isWait=function(){return!!this._waitType},e.destroy=function(){this.off(),this.groupManager.destroy(),this.scrollManager.destroy(),this.infinite.destroy()},e._getRenderer=function(){return this.options.renderer},e._render=function(t){this._getRenderer().render(this.getRenderingItems().map(function(t){return{element:t.element,key:t.type+"_"+t.key,orgItem:t}}),t)},e._update=function(t){void 0===t&&(t={}),this._getRenderer().update(t)},e._resizeScroll=function(){var t=this.scrollManager;t.resize(),this.infinite.setSize(t.getContentSize())},e._syncGroups=function(t){var e=this.infinite;this._syncInfinite(),this.groupManager.setCursors(e.getStartCursor(),e.getEndCursor()),t?this._update():this._render()},e._syncInfinite=function(){this.infinite.syncItems(this.getGroups(!0).map(function(t){var e=t.groupKey,n=t.grid,t=t.type,n=n.getOutlines();return{key:e,isVirtual:t===zt.VIRTUAL,startOutline:n.start,endOutline:n.end}}))},e._scroll=function(){this.infinite.scroll(this.scrollManager.getRelativeScrollPos())},e._onRequestInsert=function(t,e,n){var r=this;this._waitType?this._checkStartLoading(this._waitType):this.trigger(new R(e,{groupKey:n.key,nextGroupKey:n.nextKey,isVirtual:n.isVirtual,wait:function(){r.wait(t)},ready:function(){r.ready()}}))},e._checkStartLoading=function(t){var e=this.groupManager,n=this.infinite;!e.getLoadingType()&&n.isLoading(t)&&e.startLoading(t)&&e.hasLoadingItem()&&this._update()},e._checkEndLoading=function(){var t=this.groupManager,e=this.groupManager.getLoadingType();!e||this._waitType&&this.infinite.isLoading(e)||!t.endLoading()||!t.hasLoadingItem()||this._update()},t.defaultOptions=y(y({},et),{container:!1,containerTag:"div",renderer:null,threshold:100,useRecycle:!0}),t.propertyTypes=bt,n([qt],t)}(t),se={__proto__:null,default:oe,withInfiniteGridMethods:e,getRenderingItems:function(t,e){var n,r,i=e.status,o=e.usePlaceholder,s=e.useLoading,a=e.horizontal,u=e.useFirstRender,c=e.grid,e=[];return c?(c.setPlaceholder(o?{}:null),c.setLoading(s?{}:null),c.syncItems(t),e=c.getRenderingItems()):i?(s=i.groupManager,c=t,i=!!o,r=!!a,o=s.groups,c=Kt(c),c=h(Ft(o,"start",c),c,Ft(o,"end",c)),s=(o=jt(o.map(function(t){return t.groupKey}),c.map(function(t){return t.groupKey}),s.cursors[0],s.cursors[1])).startCursor,o=o.endCursor,o=Ut(c.slice(s,o+1).map(function(t){return t.items.map(function(t){return new Nt(r,y({},t))})})),e=o=i?o:o.filter(function(t){return t.type!==Ct.VIRTUAL})):u&&(n=!!a,e=(t=Kt(t=t))[0]?t[0].items.map(function(t){return new Nt(n,y({},t))}):[]),e},mountRenderingItems:function(t,e){var n=e.grid,r=e.usePlaceholder,i=e.useLoading,o=e.useFirstRender,e=e.status;n&&(r&&n.setPlaceholder({}),i&&n.setLoading({}),e&&n.setStatus(e,!0),n.syncItems(t),o&&!e&&n.getGroups().length&&n.setCursors(0,0,!0))},InfiniteGridItem:Nt,MasonryInfiniteGrid:function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.propertyTypes=y(y({},oe.propertyTypes),pt.propertyTypes),e.defaultOptions=y(y(y({},oe.defaultOptions),pt.defaultOptions),{gridConstructor:pt}),n([qt],e)}(oe),JustifiedInfiniteGrid:function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.propertyTypes=y(y({},oe.propertyTypes),yt.propertyTypes),e.defaultOptions=y(y(y({},oe.defaultOptions),yt.defaultOptions),{gridConstructor:yt}),n([qt],e)}(oe),FrameInfiniteGrid:function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.propertyTypes=y(y({},oe.propertyTypes),Et.propertyTypes),e.defaultOptions=y(y(y({},oe.defaultOptions),Et.defaultOptions),{gridConstructor:Et}),n([qt],e)}(oe),PackingInfiniteGrid:function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.propertyTypes=y(y({},oe.propertyTypes),Ot.propertyTypes),e.defaultOptions=y(y(y({},oe.defaultOptions),Ot.defaultOptions),{gridConstructor:Ot}),n([qt],e)}(oe),Renderer:d,IS_IOS:Tt,CONTAINER_CLASS_NAME:Mt,IGNORE_PROPERITES_MAP:wt,INFINITEGRID_PROPERTY_TYPES:bt,DIRECTION:xt,INFINITEGRID_EVENTS:Dt,ITEM_INFO_PROPERTIES:Lt,INFINITEGRID_METHODS:g,get GROUP_TYPE(){return zt},get ITEM_TYPE(){return Ct},get STATUS_TYPE(){return Pt},INVISIBLE_POS:-9999};for(te in se)oe[te]=se[te];return oe});
10//# sourceMappingURL=infinitegrid.min.js.map