@ldmjs/ui 2.1.12 → 2.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/components/ld-avatar.js +1 -1
  2. package/dist/components/ld-badge.js +1 -1
  3. package/dist/components/ld-breadcrumbs.js +1 -1
  4. package/dist/components/ld-button.js +1 -1
  5. package/dist/components/ld-calendar.js +1 -1
  6. package/dist/components/ld-checkbox.js +1 -1
  7. package/dist/components/ld-chip.js +1 -1
  8. package/dist/components/ld-combobox.js +1 -1
  9. package/dist/components/ld-data-iterator.js +1 -1
  10. package/dist/components/ld-datepicker.js +1 -1
  11. package/dist/components/ld-daterange.js +1 -1
  12. package/dist/components/ld-dialog.js +1 -1
  13. package/dist/components/ld-edit-list-box.js +1 -1
  14. package/dist/components/ld-edit-masked-text.js +1 -1
  15. package/dist/components/ld-edit-text.js +1 -1
  16. package/dist/components/ld-expansion-panel.js +1 -1
  17. package/dist/components/ld-expansion-panels.js +1 -1
  18. package/dist/components/ld-icon.js +1 -1
  19. package/dist/components/ld-loader.js +1 -1
  20. package/dist/components/ld-page-toolbar.js +1 -1
  21. package/dist/components/ld-pager.js +1 -1
  22. package/dist/components/ld-progress.js +1 -1
  23. package/dist/components/ld-radiobutton.js +1 -1
  24. package/dist/components/ld-radiogroup.js +1 -1
  25. package/dist/components/ld-select-list-box.js +1 -1
  26. package/dist/components/ld-select.js +1 -1
  27. package/dist/components/ld-slider.js +1 -1
  28. package/dist/components/ld-splitter.js +1 -1
  29. package/dist/components/ld-step.js +1 -1
  30. package/dist/components/ld-switch.js +1 -1
  31. package/dist/components/ld-tab.js +1 -1
  32. package/dist/components/ld-tabs.js +1 -1
  33. package/dist/components/ld-text-markup.js +1 -1
  34. package/dist/components/ld-text-viewer.js +1 -1
  35. package/dist/components/ld-textarea.js +1 -1
  36. package/dist/components/ld-timepicker.js +1 -1
  37. package/dist/components/ld-toggle-buttons.js +1 -1
  38. package/dist/components/ld-uploader.js +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/lib/runtime-template.js +1 -1
  41. package/dist/lib/toastification.js +1 -1
  42. package/dist/scss/_fonts.scss +14 -2
  43. package/dist/scss/_inputs.scss +7 -1
  44. package/dist/types/dialogs.d.ts +4 -0
  45. package/dist/utils/validators.js +1 -1
  46. package/package.json +2 -2
@@ -1 +1 @@
1
- (function webpackUniversalModuleDefinition(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue"),require("vue-class-component"),require("vue-property-decorator")):"function"===typeof define&&define.amd?define(["vue","vue-class-component","vue-property-decorator"],t):"object"===typeof exports?exports["ldmui"]=t(require("vue"),require("vue-class-component"),require("vue-property-decorator")):e["ldmui"]=t(e["vue"],e["vue-class-component"],e["vue-property-decorator"])})(self,(e,t,i)=>(()=>{"use strict";var o={6262(e,t){t.A=(e,t)=>{const i=e.__vccOpts||e;for(const[e,o]of t)i[e]=o;return i}},2380(t){t.exports=e},9299(e){e.exports=t},5070(e){e.exports=i}},s={};function __webpack_require__(e){var t=s[e];if(void 0!==t)return t.exports;var i=s[e]={exports:{}};return o[e](i,i.exports,__webpack_require__),i.exports}(()=>{__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{__webpack_require__.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};__webpack_require__.r(r),__webpack_require__.d(r,{default:()=>j});var n=__webpack_require__(2380);const h={class:"ld-data-iterator"},l={key:0,class:"top-fixed-item-wrapper"};function render(e,t,i,o,s,r){const a=(0,n.resolveComponent)("iterator-item");return(0,n.openBlock)(),(0,n.createElementBlock)("div",h,[e.fixedTopContext?((0,n.openBlock)(),(0,n.createElementBlock)("div",l,[(0,n.createVNode)(a,{id:"idx"+e.fixedTopContext.rowIndex,class:"top-fixed-item","data-uid":e.id(e.fixedTopContext.row),"data-test-id":"topFixedIeratorItem",onClick:t[0]||(t[0]=t=>e.onClick(e.fixedTopContext)),onDblclick:t[1]||(t[1]=t=>e.onClick(e.fixedTopContext)),onUpdateHeight:e.onUpdateFixedTopHeight},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,"default",(0,n.normalizeProps)((0,n.guardReactiveProps)({item:e.fixedTopContext.row})),()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.entityFromItem(e.fixedTopContext.row)[e.keyProp]),1)])]),_:3},8,["id","data-uid","onUpdateHeight"])])):(0,n.createCommentVNode)("",!0),t[2]||(t[2]=(0,n.createTextVNode)()),(0,n.createElementVNode)("div",{ref:"list",id:"iterator-list",class:"iterator-list",style:(0,n.normalizeStyle)(e.listStyles)},[(0,n.createElementVNode)("div",{ref:"scroller",class:(0,n.normalizeClass)(["scroller",{mobile:e.isMobileGlobal}]),style:(0,n.normalizeStyle)(e.scrollerStyles)},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(e.visibleItems,t=>((0,n.openBlock)(),(0,n.createBlock)(a,{id:"idx"+t.rowIndex,class:(0,n.normalizeClass)(["item",{"active-list-item":e.isItemActive(t),mobile:e.isMobileGlobal,blink:e.isItemRemoving(t)}]),key:e.id(t.row),"data-uid":e.id(t.row),style:(0,n.normalizeStyle)(e.itemStyles(t)),"refresh-counter":e.refreshCounter,"data-test-id":"iteratorItem",onClick:i=>e.onClick(t),onDblclick:i=>e.onClick(t),onUpdateHeight:i=>e.onUpdateItemHeight(t,i)},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,"default",(0,n.mergeProps)({ref_for:!0},{item:t.row,itemContext:{index:t.rowIndex}}),()=>[(0,n.createTextVNode)((0,n.toDisplayString)(e.entityFromItem(t.row)?e.entityFromItem(t.row)[e.keyProp]:"empty item"),1)])]),_:2},1032,["id","class","data-uid","style","refresh-counter","onClick","onDblclick","onUpdateHeight"]))),128))],6)],4)])}var a=__webpack_require__(5070),d=__webpack_require__(9299);function makeDecoratorEmit(e){function helper(t,i){return(0,d.createDecorator)((t,i)=>{const o=e.toLowerCase();t.emits||(t.emits=[]),t.emits.push(o);const s=t.methods[i];t.methods[i]=function emitter(...e){const emit=t=>{void 0===t?0===e.length?this.$emit(o):1===e.length?this.$emit(o,e[0]):this.$emit(o,...e):(e.unshift(t),this.$emit(o,...e))},t=s.apply(this,e);emit(t)}})(t,i)}return helper}const c=makeDecoratorEmit;class ViewportMixin extends a.Vue{viewport(){const e=document?.body?.getBoundingClientRect();return e?{w:e.width,h:e.height}:{w:window?.innerWidth,h:window?.innerHeight}}get globalMobileKey(){return this.$ldmui?.options?.viewport?.isMobile}get globalTabletKey(){return this.$ldmui?.options?.viewport?.isTablet}get globalDesktopKey(){return this.$ldmui?.options?.viewport?.isDesktop}get isMobileGlobal(){return!!this.globalMobileKey&&this[this.globalMobileKey]}get isTabletGlobal(){return!!this.globalTabletKey&&this[this.globalTabletKey]}get isDesktopGlobal(){return!!this.globalDesktopKey&&this[this.globalDesktopKey]}}class Datetime{isDate(e){return e instanceof Date?!isNaN(e.getTime()):!isNaN(new Date(e).getTime())}isISO(e){return/(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)/.test(e)}toDate(e,t="ru"){if(e instanceof Date&&this.isDate(e))return e;if(Array.isArray(e)){const t=new Date(e[0],e[1],e[2]);return this.isDate(t)?t:null}if("number"===typeof e){const t=new Date(e);return this.isDate(t)?t:null}if("string"===typeof e){if(this.isISO(e))return new Date(e);const i=this.localToISO(e,t),o=new Date(i);return this.isDate(o)?o:null}if("object"===typeof e&&"year"in e&&"month"in e&&"date"in e){const t=new Date(e.year,e.month,e.date,e.hours,e.minutes,e.seconds,e.ms);return this.isDate(t)?t:null}return e}localToISO(e,t="ru"){const{d:i,m:o,y:s,hh:r,mm:n,ss:h}=this.parseDate(e,t);if(i&&o&&s){let e=`${s}-${o}-${i}`;return e=r&&n?`${e}T${r}:${n}:${h||"00"}`:`${e}T00:00:00`,e+".000Z"}return""}dateToLocal(e,t="ru"){const i=this.toDate(e,t);return this.formatDate(i,"ru"===t?"DD.MM.YYYY":"MM/DD/YYYY")}compare(e,t,i=!1){if(!e||!t)return NaN;if(e=this.toDate(e),t=this.toDate(t),!e||!t)return NaN;if(i){const i=e?this.toDate(e).valueOf():0,o=t?this.toDate(t).valueOf():0;return isFinite(i)&&isFinite(o)?Number(i>o)-Number(i<o):NaN}let o=0;return e.getDate()!==t.getDate()&&(o=e.getDate()>t.getDate()?1:-1),e.getMonth()!==t.getMonth()&&(o=e.getMonth()>t.getMonth()?1:-1),e.getFullYear()!==t.getFullYear()&&(o=e.getFullYear()>t.getFullYear()?1:-1),o}strictCompare(e,t){return this.compare(e,t,!0)}toServerString(e){if(!e)return null;const t=-e.getTimezoneOffset(),i=t>=0?"+":"-",pad=function(e){const t=Math.abs(Math.floor(e));return(t<10?"0":"")+t};return`${e.getFullYear()}-${pad(e.getMonth()+1)}-${pad(e.getDate())}T${pad(e.getHours())}:${pad(e.getMinutes())}:${pad(e.getSeconds())}${i}${pad(t/60)}:${pad(t%60)}`}formatDate(e,t){const i=String(e.getDate()),o=String(e.getMonth()+1),s=String(e.getFullYear()),r=String(e.getHours()),n=String(e.getMinutes()),h=String(e.getSeconds());return t.replace(/DD/g,this.leaderZero(i)).replace(/MM/g,this.leaderZero(o)).replace(/YYYY/g,s).replace(/hh/g,this.leaderZero(r)).replace(/mm/g,this.leaderZero(n)).replace(/ss/g,this.leaderZero(h))}leaderZero(e){return"number"===typeof e&&(e=String(e)),1===e.length?"0"+e:e}parseDate(e,t="ru"){let i=null;if("ru"===t&&(i=/^(\d\d?).(\d\d?).(\d\d\d?\d?)(, )?(\d\d)?:?(\d\d)?$/.exec(e)),"en"===t&&(i=/^(\d\d?)\/(\d\d?)\/(\d\d\d?\d?)$/.exec(e)),!i)return null;const o={d:null,m:null,y:null,hh:null,mm:null,ss:null};return i[1]&&(o["ru"===t?"d":"m"]=this.leaderZero(i[1])),i[2]&&(o["ru"===t?"m":"d"]=this.leaderZero(i[2])),i[3]&&(o["y"]=i[3]),i[5]&&(o["hh"]=this.leaderZero(i[5])),i[6]&&(o["mm"]=this.leaderZero(i[6])),i[7]&&(o["ss"]=this.leaderZero(i[7])),o}}const p=new Datetime;var g,__decorate=function(e,t,i,o){var s,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var h=e.length-1;h>=0;h--)(s=e[h])&&(n=(r<3?s(n):r>3?s(t,i,n):s(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n},__metadata=function(e,t){if("object"===typeof Reflect&&"function"===typeof Reflect.metadata)return Reflect.metadata(e,t)};let u=g=class IteratorItemComponent extends a.Vue{refreshCounter;static MIN_HEIGHT_EMTPY_ITEM=20;height=0;width=0;resizeObserver=null;elem=null;emitUpdateHeight(e){return e}emitRefreshCounterChanged(){this.emitUpdateHeight(this.$el.clientHeight)}mounted(){this.setupResizeObserver(),this.elem=this.$el,this.resizeObserver.observe(this.$el)}beforeUpdate(){this.elem!==this.$el&&(this.resizeObserver&&this.resizeObserver.unobserve(this.elem),this.setupResizeObserver(),this.resizeObserver.observe(this.$el))}beforeUnmount(){this.resizeObserver.unobserve(this.$el)}setupResizeObserver(){const e=this;this.resizeObserver=new window.ResizeObserver(t=>{let i=0;t.length&&t[0].contentRect?(i=t[0].contentRect.height,e.width=t[0].contentRect.width):(i=e.$el.clientHeight,e.width=e.$el.clientWidth),i>g.MIN_HEIGHT_EMTPY_ITEM&&i!==e.height&&(e.height=i,e.emitUpdateHeight(e.height))})}};__decorate([(0,a.Prop)(),__metadata("design:type",Number)],u.prototype,"refreshCounter",void 0),__decorate([c("update-height"),__metadata("design:type",Function),__metadata("design:paramtypes",[Number]),__metadata("design:returntype",void 0)],u.prototype,"emitUpdateHeight",null),__decorate([(0,a.Watch)("refreshCounter"),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",void 0)],u.prototype,"emitRefreshCounterChanged",null),u=g=__decorate([(0,a.Options)({name:"IteratorItem",template:"\n <div @click=\"$emit('click', $event)\" @dblclick=\"$emit('dblclick', $event)\">\n <slot></slot>\n </div>\n ",emits:["click","dblclick"]})],u);const m=u;class Strings{camelCase(e){return e=e.replace(/[^\d A-Za-z]/g," "),e=e.replace(/([a-z](?=[A-Z]))/g,"$1 "),e=e.replace(/([^\d A-Za-z])|^\d+/g,"").trim().toLowerCase(),e=e.replace(/([\d ]+)([A-Za-z])/g,(e,t,i)=>t.trim()+i.toUpperCase()),e}capitalize(e){if(!e)return e;const t=e[0],i=e.substring(1);return`${t.toUpperCase()}${i}`}}const f=new Strings,w={},y="undefined"!==typeof document?document.createElement("div").style:void 0,x=function(){const e="undefined"!==typeof window?window.getComputedStyle(document.documentElement,""):void 0,t="undefined"!==typeof e?Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/):null,i=null!==t?t[1]:void 0,o="undefined"!==typeof i?"WebKit|Moz|MS|O".match(new RegExp("("+i+")","i"))[1]:void 0;return o?{dom:o,lowercase:i,css:`-${i}-`,js:i[0].toUpperCase()+i.substr(1)}:void 0}();function getVendorPrefixedName(e){const t=f.camelCase(e);return w[t]||(void 0!==x&&void 0!==y[x.css+e]?w[t]=x.css+e:void 0!==y[e]&&(w[t]=e)),w[t]}const v="undefined"!==typeof window?getVendorPrefixedName("transform"):void 0,C="undefined"!==typeof window?getVendorPrefixedName("backfaceVisibility"):void 0,b="undefined"!==typeof window?Boolean(getVendorPrefixedName("transform")):void 0,I="undefined"!==typeof window?Boolean(getVendorPrefixedName("perspective")):void 0,R="undefined"!==typeof window?window.navigator.userAgent:"Chrome",P=R.includes("Safari/")&&!R.includes("Chrome/");function translateXY(e,t,i){"undefined"!==typeof v&&b?!P&&I?(e[v]=`translate3d(${t}px, ${i}px, 0)`,e[C]="hidden"):e[f.camelCase(v)]=`translate(${t}px, ${i}px)`:(e.top=`${i}px`,e.left=`${t}px`)}var T,H,k,F,S,D,A,_,O,U,$,Y,N,E,ld_data_iteratorvue_type_script_lang_js_external_decorate=function(e,t,i,o){var s,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var h=e.length-1;h>=0;h--)(s=e[h])&&(n=(r<3?s(n):r>3?s(t,i,n):s(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n},ld_data_iteratorvue_type_script_lang_js_external_metadata=function(e,t){if("object"===typeof Reflect&&"function"===typeof Reflect.metadata)return Reflect.metadata(e,t)};(function(e){e[e["None"]=0]="None",e[e["Page"]=1]="Page",e[e["ActiveRow"]=2]="ActiveRow",e[e["DoubleCheck"]=3]="DoubleCheck"})(E||(E={}));let M=T=class DataIteratorComponent extends((0,a.mixins)(ViewportMixin)){items;page;keyProp;sortField;entityFromItem;selectedIndices;firstItemSelectCounter;nextItemSelectCounter;minRowHeight;rowHeight;activeItem;fixTopActiveItem;padding;itemGap;toLastPage;scrollToActiveItem;removedItem;static COUNTER=0;static CNT=0;clicks=0;scrollbarV=!0;innerWidth=0;bodyHeight=0;offsetY=0;currentPage=0;activeRowIndex=-1;oldRowCount=0;rowContexts=[];visibleItems=[];afterEmptyItems=[];beforeEmptyItems=[];rowHeightsUpdate=[];lastRowOffsetY=0;enabledPages=null;itemsWaitingHeight=new Set;refreshCounter=0;fixedTopContext=null;firstVisible=0;lastVisible=0;loading=!1;scrollTo=E.None;removingIndex=-1;changedItemsPromise=Promise.resolve();timerId;pageSize;rowsChanged;onScrollListener;scrollDirty;fromPager;totalPages;resizeObserver;updatePageTimeoutId;firstRowForPage;callOnPageChanged;onKeyDownHandler;shouldSetActiveRow;checkRowsUpdatedTimer;waitForAllRowsUpdatedTimer;renderPromise;renderResolve;waitingForFirstPageRendered;listEl;stopTick;emitUpdateLoading(e){return e}emitUpdateTotalPages(e){return e}emitUpdatePage(e){return e}emitUpdateSelect(e,t){}emitClick(e,t){}emitDblclick(e,t){}loadingChanged(){this.emitUpdateLoading(this.loading)}async onItemsChanged(e,t){if(e===t){await this.changedItemsPromise;let t="updated";if(e.length<this.oldRowCount?t="removed":e.length>this.oldRowCount&&(t="added"),"removed"===t&&this.removedItem&&(this.changedItemsPromise=this.removeItem(),await this.changedItemsPromise,this.removingIndex=-1),this.rowContexts.forEach((t,i)=>{e[t.index]&&(t.row=e[t.index])}),"added"===t){const t=e.length-this.oldRowCount;for(let i=0;i<t;i++){const t=this.rowContexts[this.oldRowCount-1+i];this.rowContexts.push({index:this.oldRowCount+i,rowIndex:this.oldRowCount+i,offsetY:t?t.offsetY+this.approximateRowHeight:0,row:e[this.oldRowCount+i],rowHeight:this.approximateRowHeight})}this.sort(),this.updateRows(!0)}return void(this.oldRowCount=this.rowContexts.length)}this.visibleItems=[],this.rowContexts=[],e!==t&&await this.$nextTick(),this.rowsChanged=!0,this.init(),this.sort(),this.oldRowCount=this.rowContexts.length,this.offsetY=-1,this.currentPage=-1,this.totalPages=this.rowCount&&this.page>=0?this.page+1:1,this.emitUpdateTotalPages(this.totalPages),this.listEl.scrollTop=0,e!==t&&(this.listEl.style["visibility"]="hidden"),this.waitingForFirstPageRendered=!0,T.CNT=0,T.COUNTER=0,this.rowContexts.length?this.renderPromise=new Promise(e=>{this.renderResolve=e}):this.renderPromise=Promise.resolve();try{await this.renderPromise,this.selectedIndices.length||this.setSelected(0)}finally{this.listEl&&(this.listEl.style["visibility"]="unset"),this.waitingForFirstPageRendered=!1,this.rowContexts.length&&this.onPageChanged()}}onScrollHeightChanged(){this.calcTotalPages()}async onFixTopActiveItemChanged(){if(this.activeItem||this.fixTopActiveItem){if(this.fixTopActiveItem?this.fixedTopContext=this.excludeItem(this.activeItem):(this.includeItem(this.fixedTopContext),this.fixedTopContext=null),await this.$nextTick(),this.listEl){const e=this.listEl.getBoundingClientRect();this.innerWidth=Math.floor(e.width),this.bodyHeight=e.height}this.updateRows(!0),this.updatePage(),await this.$nextTick(),this.calcTotalPages()}}onMinRowHeightChanged(){this.onItemsChanged(this.items,null)}onPageChanged(){if(this.page===this.currentPage||this.waitingForFirstPageRendered||void 0===this.waitingForFirstPageRendered)return;if(T.COUNTER=0,this.rowCount&&!this.visibleItems.length||!this.listEl)return this.callOnPageChanged=!0,void this.startCheckAllRowsIsRendered();let e=(this.page-1)*this.bodyHeight;e+=1;const t=Math.abs(this.currentPage-this.page);let i=this.getRowIndex(e);this.firstRowForPage=i,this.scrollTo=E.Page;const o=Math.min(i+this.visibleItems.length-1,this.rowHeightsUpdate.length-1);!(t>1||this.toLastPage&&!this.scrollToActiveItem)||this.rowHeightsUpdate[i]&&this.rowHeightsUpdate[o]||(this.loading=!0,i=this.getRowIndexByAverage(e),i>=this.items.length-1&&(i=this.items.length-10),this.firstRowForPage=i);const s=this.rowContexts[i];this.fromPager=!0,this.scrollToActiveItem&&this.currentPage<0&&(this.scrollTo=E.ActiveRow,this.firstRowForPage=null),this.currentPage=this.page,s&&(this.listEl.scrollTop=s.offsetY,this.shouldSetActiveRow&&(this.shouldSetActiveRow=!1,this.setSelected(i))),this.startCheckAllRowsIsRendered()}onSortFieldChanged(e,t){e?.prop===t?.prop&&e?.direction===t?.direction||(this.sort(),this.updateRows(!0))}onSelectedIndicesChanged(){if(Array.isArray(this.selectedIndices)&&this.selectedIndices.length){const e=this.selectedIndices[0],t=this.rowContexts.findIndex(t=>t.index===e);t>=0&&(this.activeRowIndex=t)}else this.activeRowIndex=-1}async onFirstItemSelectCounterChanged(){await this.renderPromise,this.setSelected(0)}onNextItemSelectCounterChanged(){this.activeRowIndex+1<this.rowContexts.length&&this.setSelected(this.activeRowIndex+1)}async onInnerWidthChanged(e,t){t&&(this.updateRowOffsetsCache(0,!0),this.updateRows(!0),this.updatePage(),await this.$nextTick(),this.calcTotalPages())}created(){this.onItemsChanged(this.items,null)}mounted(){window.ResizeObserver&&(this.resizeObserver=new window.ResizeObserver(e=>{e.length&&e[0].contentRect?(this.bodyHeight=e[0].contentRect.height,this.innerWidth=e[0].contentRect.width):(this.bodyHeight=this.$el.clientHeight,this.innerWidth=this.$el.clientWidth)}),this.resizeObserver.observe(this.$el)),this.listEl=this.$el.querySelector("#iterator-list");const e=this.listEl.getBoundingClientRect();this.innerWidth=Math.floor(e.width),this.bodyHeight=e.height,this.init(),this.offsetY=0,this.currentPage=-1,this.totalPages=1,this.onKeyDownHandler=this.onKeyDown.bind(this),document.addEventListener("keydown",this.onKeyDownHandler),this.tick()}beforeUnmount(){this.stopTick=!0,document.removeEventListener("keydown",this.onKeyDownHandler),this.resizeObserver&&this.resizeObserver.unobserve(this.$el)}tick(e=!1){if(!this.stopTick&&(requestAnimationFrame(()=>this.tick()),this.loading=this.waitingForFirstPageRendered||Boolean(this.scrollTo!==E.None),this.scrollbarV)){if(!this.listEl)return;const t=this.listEl.scrollTop;if(!e&&this.offsetY===t)return;this.offsetY=t,clearTimeout(this.updatePageTimeoutId),this.scrollTo===E.Page?setTimeout(()=>this.updateRows(),10):this.updateRows(),this.updatePageTimeoutId=setTimeout(()=>this.updatePage(),100)}}isItemActive(e){return e.row===this.activeItem}isItemRemoving(e){return e.rowIndex===this.removingIndex}onClick(e){this.clicks++,1===this.clicks?this.timerId=setTimeout(()=>{this.emitClick(e.row,e.index),this.clicks=0},200):(clearTimeout(this.timerId),this.emitDblclick(e.row,e.index),this.clicks=0),this.setSelected(e.rowIndex)}onUpdateFixedTopHeight(e){this.fixedTopContext&&(this.fixedTopContext.rowHeight=e)}onUpdateItemHeight(e,t){try{if(t+=this.itemGap,this.rowHeightsUpdate[e.rowIndex]&&e.rowHeight===t)return;e.rowHeight=t,this.itemsWaitingHeight.delete(e.rowIndex),0===e.rowIndex&&(e.offsetY=0),clearTimeout(this.waitForAllRowsUpdatedTimer),this.waitForAllRowsUpdatedTimer=setTimeout(()=>{this.itemsWaitingHeight.size&&T.CNT<50?T.CNT++:this.waitingForFirstPageRendered?this.renderResolve():this.startCheckAllRowsIsRendered()},50)}finally{this.rowHeightsUpdate[e.rowIndex]=!0,this.itemsWaitingHeight.size||this.updateRowOffsetsCache(this.firstVisible,!0)}}startCheckAllRowsIsRendered(e){this.stopCheckAllRowsIsRendered(),this.checkRowsUpdatedTimer=setTimeout(()=>this.checkRowsUpdated(),e??50)}stopCheckAllRowsIsRendered(){clearTimeout(this.checkRowsUpdatedTimer)}checkRowsUpdated(){if(this.itemsWaitingHeight.size||!this.listEl)return T.COUNTER++,T.COUNTER>50&&(this.itemsWaitingHeight.clear(),this.updateRowOffsetsCache(0,!0)),void this.startCheckAllRowsIsRendered();if(this.stopCheckAllRowsIsRendered(),this.fromPager=!1,this.callOnPageChanged)return this.callOnPageChanged=!1,void this.$nextTick(()=>this.onPageChanged());if(this.scrollTo===E.DoubleCheck){let e=this.firstRowForPage??this.activeRowIndex;if((null===e||void 0===e||e<0)&&(this.onSelectedIndicesChanged(),e=this.activeRowIndex,this.setSelected(e)),e>=0&&this.rowHeightsUpdate[e]){const t=this.rowContexts[e],i=this.listEl,o=i.scrollTop+this.bodyHeight;t.offsetY>=i.scrollTop&&(t.offsetY+t.rowHeight<=o||t.rowHeight>=o)?(this.scrollTo=E.None,this.firstRowForPage=null,this.updatePage(),this.toLastPage&&this.currentPage<this.totalPages&&T.COUNTER<10&&(T.COUNTER++,this.scrollTo=E.Page,this.firstRowForPage=this.rowCount-5)):(i.scrollTop=t.offsetY,this.scrollTo=E.None)}else this.scrollTo=E.None}if(this.scrollTo===E.Page||this.scrollTo===E.ActiveRow){let e=this.firstRowForPage;if(this.scrollTo===E.ActiveRow&&(this.activeRowIndex<0&&(this.onSelectedIndicesChanged(),this.setSelected(this.activeRowIndex)),e=this.activeRowIndex),this.scrollTo=E.DoubleCheck,e>=0){const t=this.rowContexts[e],i=this.listEl;i.scrollTop=t?.offsetY??0}}this.scrollTo!==E.None&&this.startCheckAllRowsIsRendered(100)}updateRowOffsetsCache(e,t){let i=this.rowContexts[e];if(!i)return;let o=i.offsetY,s=0;const r=t?this.rowContexts.length:this.lastVisible+1;while(i&&e<r)i.offsetY=o,this.rowContexts[e]=i,s=i.rowHeight,o+=s,e++,i=this.rowContexts[e];this.lastRowOffsetY=o}itemStyles(e){const t={};if(0===e.rowIndex)return translateXY(t,0,0),t;if(e.offsetY)return translateXY(t,0,e.offsetY),t;const i=this.rowContexts[e.rowIndex].offsetY;return translateXY(t,0,i),t}topFixedStyles(){return{height:this.fixedTopContext?.rowHeight+"px"}}emptyItemStyles(e){const t={height:e.rowHeight+"px"};return e.offsetY&&translateXY(t,0,e.offsetY),t}onKeyDown(e){const t=e.target;if("BODY"!==t.tagName)return;if(["ArrowUp","PageUp","ArrowDown","PageDown"].includes(e.code)&&(e.preventDefault(),e.stopPropagation()),["PageUp","PageDown"].includes(e.code)){if("PageUp"===e.code&&this.currentPage>0)return this.shouldSetActiveRow=!0,void this.emitUpdatePage(this.currentPage-1);if("PageDown"===e.code&&this.currentPage<this.totalPages)return this.shouldSetActiveRow=!0,void this.emitUpdatePage(this.currentPage+1)}let i=-1;const o=this.rowContexts[this.rowContexts.length-1]?.rowIndex;switch(e.code){case"ArrowUp":this.activeRowIndex>0&&(i=this.activeRowIndex-1);break;case"ArrowDown":this.activeRowIndex<this.rowContexts.length-1&&(i=this.activeRowIndex+1);break}if(i<0||i>o)return;const{offsetY:s,rowHeight:r}=this.rowContexts[i];if(!r)return;let n=0,h=this.listEl.scrollTop;"ArrowDown"===e.code?n=s+r-(h+this.bodyHeight):"ArrowUp"===e.code&&(n=s-r-h),n>0&&"ArrowDown"===e.code||n<0&&"ArrowUp"===e.code?h+=n:0===n&&"ArrowUp"===e.code&&[0,1,2].includes(this.activeRowIndex)&&(h=n),this.listEl.scrollTop=h,this.setSelected(i)}calcTotalPages(){let e=this.bodyHeight?this.scrollHeight/this.bodyHeight:1;const t=Math.floor(e),i=e-t,o=this.getAverageItemHeight();return e=i>=o/this.scrollHeight?Math.ceil(e):t,this.totalPages!==e&&(this.totalPages=e,this.emitUpdateTotalPages(e)),!this.scrollToActiveItem&&this.toLastPage&&this.currentPage<this.totalPages&&this.emitUpdatePage(this.totalPages),e}updatePage(){if(this.fromPager||this.currentPage<0||this.firstRowForPage||this.callOnPageChanged)return;let e,t=this.lastVisible;for(let e=this.lastVisible;e>=0;e--){const i=this.rowContexts[e];if(!i)throw new Error("null rowContext");if(this.offsetY+this.bodyHeight>=i.offsetY){t=e;break}}if(t>=this.rowCount-1||this.scrollHeight-this.bodyHeight===this.offsetY)e=this.totalPages,this.emitUpdateTotalPages(this.totalPages);else{const t=this.getRowIndex(this.offsetY),i=this.rowContexts&&this.rowContexts.length>t?this.rowContexts[t]?.rowHeight:this.approximateRowHeight;e=!t||i>=this.bodyHeight?1:(this.offsetY+2*i)/this.bodyHeight,e=e<1?1:Math.ceil(e)}this.currentPage!==e&&(this.currentPage=e,this.emitUpdatePage(e))}init(){this.items?.length?(this.rowContexts=new Array(this.items.length).fill(null),this.rowContexts.forEach((e,t)=>{const i=0===t?0:this.rowContexts[t-1].offsetY+this.approximateRowHeight;this.rowContexts[t]={offsetY:i,row:this.items[t],rowIndex:t,index:t,rowHeight:this.approximateRowHeight}}),this.rowHeightsUpdate=new Array(this.rowCount)):(this.rowContexts=[],this.rowHeightsUpdate=[]),this.itemsWaitingHeight.clear()}async updateRows(e=!1,t=!1){const{first:i,last:o}=this.getIndexes();if(o<i)return;if(!e&&!this.rowsChanged&&this.firstVisible===i&&this.lastVisible===o)return;this.rowsChanged=!1,this.firstVisible=i,this.lastVisible=o;let s=i,r=0;const n=new Array(o-i);while(s<=o&&s<this.rowCount){const e=this.rowContexts[s];e&&(n[r]=e,r++,this.fixedRowHeight||this.rowHeightsUpdate[s]||this.itemsWaitingHeight.add(s)),s++,s%50===0&&await this.$nextTick()}this.pageSize=n.length-1,this.visibleItems=n}getIndexes(){let e=-1,t=-1;if(!this.rowContexts.length)return{first:e,last:t};if(this.scrollbarV){e=this.getRowIndex(this.offsetY),e=Math.max(e-1,0);while(e>0){if(this.rowHeightsUpdate[e-1])break;e--}for(let i=e;i<this.rowContexts.length;i++){const e=this.rowContexts[i];if(!e)throw new Error("null");if(-1===t&&this.offsetY+this.bodyHeight<=e.offsetY){t=i;break}}}return t=t>0?t:this.rowContexts.length-1,{first:e,last:t}}getRowIndexByAverage(e){if(0===e||!this.visibleItems.length)return 0;const t=this.getAverageItemHeight();return Math.floor(e/t)}getAverageItemHeight(){let e=0;for(const t of this.visibleItems)e+=t.rowHeight;return this.visibleItems.length?e/this.visibleItems.length:0}getRowIndex(e){if(0===e)return 0;let t=Math.floor(e/this.approximateRowHeight);t=t>=this.rowCount?this.rowCount-1:t;let i=0;const o=10;for(let s=t;s>0;s--)if(i=s,this.rowHeightsUpdate[s]&&this.rowContexts[s].offsetY-o<=e)return i;return 0}setSelected(e){if(e>=0){const t=this.rowContexts[e];t&&this.emitUpdateSelect(t.row,t.index)}}sort(){this.rowContexts?.length&&this.sortField&&this.entityFromItem&&(this.rowContexts.sort((e,t)=>{try{const i=this.entityFromItem(e.row),o=this.entityFromItem(t.row);if(i&&o){let e=0;switch(this.sortField.type){case"date":e=this.$utils.isDefined(i[this.sortField.prop])&&this.$utils.isDefined(o[this.sortField.prop])?p.compare(i[this.sortField.prop],o[this.sortField.prop]):-1;break;case"string":e=this.$utils.isDefined(i[this.sortField.prop])&&this.$utils.isDefined(o[this.sortField.prop])?i[this.sortField.prop].localeCompare(o[this.sortField.prop]):-1;break;case"number":e=this.$utils.isDefined(i[this.sortField.prop])&&this.$utils.isDefined(o[this.sortField.prop])?i[this.sortField.prop]<o[this.sortField.prop]?-1:1:-1;break}return"asc"===this.sortField.direction?e:-1*e}return 0}catch(e){console.error(e)}}),this.rowContexts.forEach((e,t)=>{e.rowIndex=t}),this.rowContexts[0].offsetY=0,this.updateRowOffsetsCache(0,!0))}id(e){const t=this.entityFromItem(e);return t?t[this.keyProp]:null}removeItem(){if(!this.removedItem)return Promise.resolve();const e=this.rowContexts.find(e=>e.index===this.removedItem.index);return e?(this.removingIndex=e.rowIndex,new Promise(t=>{setTimeout(()=>{e&&this.rowContexts.splice(e.rowIndex,1);for(const t of this.rowContexts)t.rowIndex>=e.rowIndex&&t.rowIndex--,t.index>this.removedItem.index&&t.index--;const i=e.rowIndex-1>=0?e.rowIndex-1:0;0===i&&this.rowContexts.length&&(this.rowContexts[0].offsetY=0),this.updateRowOffsetsCache(i,!0),this.updateRows(!0),t()},500)})):void 0}excludeItem(e){const t=this.rowContexts.findIndex(t=>t.row===e);if(t){const e=this.rowContexts[t];return this.rowContexts.splice(t,1),e}return null}includeItem(e){e&&this.rowContexts.splice(e.rowIndex,0,e)}get listStyles(){return{"padding-left":this.padding+"px","padding-right":this.padding+"px"}}get rowCount(){return this.rowContexts?.length??0}get approximateRowHeight(){return this.fixedRowHeight?this.rowHeight+this.itemGap:this.minRowHeight??50}get fixedRowHeight(){return"number"===typeof this.rowHeight}get scrollHeight(){if(!this.bodyHeight)return 0;let e=0;if(this.scrollbarV&&this.rowCount)if(this.fixedRowHeight&&"number"===typeof this.rowHeight){const t=this.rowHeight;e=t*this.rowCount}else if(Array.isArray(this.rowContexts)&&this.rowContexts.length){const t=this.rowContexts[this.rowCount-1];e=t?.offsetY+t?.rowHeight,e=Math.max(e,this.lastRowOffsetY-this.itemGap)}return e||(e=this.approximateRowHeight*this.rowCount),e}get scrollerStyles(){return{height:(this.scrollHeight||this.approximateRowHeight*this.rowCount)+"px",width:"100%"}}};ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)({type:Array,default:()=>[]}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type","function"===typeof(H="undefined"!==typeof Array&&Array)?H:Object)],M.prototype,"items",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Number)],M.prototype,"page",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)({required:!0}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",String)],M.prototype,"keyProp",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type","function"===typeof(k="undefined"!==typeof TSortField&&TSortField)?k:Object)],M.prototype,"sortField",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)({type:Function,default:e=>e}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function)],M.prototype,"entityFromItem",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)({type:Array,default:()=>[]}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type","function"===typeof(F="undefined"!==typeof Array&&Array)?F:Object)],M.prototype,"selectedIndices",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Number)],M.prototype,"firstItemSelectCounter",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Number)],M.prototype,"nextItemSelectCounter",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Number)],M.prototype,"minRowHeight",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Object)],M.prototype,"rowHeight",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type","function"===typeof(S="undefined"!==typeof TListItem&&TListItem)?S:Object)],M.prototype,"activeItem",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Boolean)],M.prototype,"fixTopActiveItem",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Number)],M.prototype,"padding",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)({default:5}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Number)],M.prototype,"itemGap",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)({default:!1}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Boolean)],M.prototype,"toLastPage",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Boolean)],M.prototype,"scrollToActiveItem",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Prop)(),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type","function"===typeof(D="undefined"!==typeof TRemovedItem&&TRemovedItem)?D:Object)],M.prototype,"removedItem",void 0),ld_data_iteratorvue_type_script_lang_js_external_decorate([c("loading-update"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[Boolean]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"emitUpdateLoading",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([c("total-pages"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[Number]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"emitUpdateTotalPages",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([c("page"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[Number]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"emitUpdatePage",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([c("select"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",["function"===typeof(A="undefined"!==typeof TListItem&&TListItem)?A:Object,Number]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"emitUpdateSelect",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([c("click"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",["function"===typeof(_="undefined"!==typeof TListItem&&TListItem)?_:Object,Number]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"emitClick",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([c("dblclick"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",["function"===typeof(O="undefined"!==typeof TListItem&&TListItem)?O:Object,Number]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"emitDblclick",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("loading"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"loadingChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("items",{deep:!0}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",["function"===typeof(U="undefined"!==typeof Array&&Array)?U:Object,"function"===typeof($="undefined"!==typeof Array&&Array)?$:Object]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",Promise)],M.prototype,"onItemsChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("scrollHeight"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"onScrollHeightChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("fixTopActiveItem"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",Promise)],M.prototype,"onFixTopActiveItemChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("minRowHeight"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"onMinRowHeightChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("page"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"onPageChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("sortField"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",["function"===typeof(Y="undefined"!==typeof TSortField&&TSortField)?Y:Object,"function"===typeof(N="undefined"!==typeof TSortField&&TSortField)?N:Object]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"onSortFieldChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("selectedIndices",{immediate:!0}),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"onSelectedIndicesChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("firstItemSelectCounter"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",Promise)],M.prototype,"onFirstItemSelectCounterChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("nextItemSelectCounter"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",void 0)],M.prototype,"onNextItemSelectCounterChanged",null),ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Watch)("innerWidth"),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:type",Function),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:paramtypes",[Number,Number]),ld_data_iteratorvue_type_script_lang_js_external_metadata("design:returntype",Promise)],M.prototype,"onInnerWidthChanged",null),M=T=ld_data_iteratorvue_type_script_lang_js_external_decorate([(0,a.Options)({name:"IteratorVirtual",components:{IteratorItem:m},emits:["click","dblclick"]})],M);const z=M;var V=__webpack_require__(6262);const W=(0,V.A)(z,[["render",render]]),j=W;return r})());
1
+ (function webpackUniversalModuleDefinition(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue"),require("vue-class-component"),require("vue-property-decorator")):"function"===typeof define&&define.amd?define(["vue","vue-class-component","vue-property-decorator"],t):"object"===typeof exports?exports["ldmui"]=t(require("vue"),require("vue-class-component"),require("vue-property-decorator")):e["ldmui"]=t(e["vue"],e["vue-class-component"],e["vue-property-decorator"])})(self,(e,t,i)=>(()=>{"use strict";var o={9816(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.Emit=void 0;const o=i(9299);function makeDecoratorEmit(e){function helper(t,i){return(0,o.createDecorator)((t,i)=>{const o=e.toLowerCase();t.emits||(t.emits=[]),t.emits.push(o);const s=t.methods[i];t.methods[i]=function emitter(...e){const emit=t=>{void 0===t?0===e.length?this.$emit(o):1===e.length?this.$emit(o,e[0]):this.$emit(o,...e):(e.unshift(t),this.$emit(o,...e))},t=s.apply(this,e);emit(t)}})(t,i)}return helper}const s=makeDecoratorEmit;t.Emit=s},5395(e,t,i){var o,s=this&&this.__decorate||function(e,t,i,o){var s,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r<3?s(n):r>3?s(t,i,n):s(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n},r=this&&this.__metadata||function(e,t){if("object"===typeof Reflect&&"function"===typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});const n=i(5070),a=i(9816);let d=o=class IteratorItemComponent extends n.Vue{refreshCounter;static MIN_HEIGHT_EMTPY_ITEM=20;height=0;width=0;resizeObserver=null;elem=null;emitUpdateHeight(e){return e}emitRefreshCounterChanged(){this.emitUpdateHeight(this.$el.clientHeight)}mounted(){this.setupResizeObserver(),this.elem=this.$el,this.resizeObserver.observe(this.$el)}beforeUpdate(){this.elem!==this.$el&&(this.resizeObserver&&this.resizeObserver.unobserve(this.elem),this.setupResizeObserver(),this.resizeObserver.observe(this.$el))}beforeUnmount(){this.resizeObserver.unobserve(this.$el)}setupResizeObserver(){const e=this;this.resizeObserver=new window.ResizeObserver(t=>{let i=0;t.length&&t[0].contentRect?(i=t[0].contentRect.height,e.width=t[0].contentRect.width):(i=e.$el.clientHeight,e.width=e.$el.clientWidth),i>o.MIN_HEIGHT_EMTPY_ITEM&&i!==e.height&&(e.height=i,e.emitUpdateHeight(e.height))})}};s([(0,n.Prop)(),r("design:type",Number)],d.prototype,"refreshCounter",void 0),s([(0,a.Emit)("update-height"),r("design:type",Function),r("design:paramtypes",[Number]),r("design:returntype",void 0)],d.prototype,"emitUpdateHeight",null),s([(0,n.Watch)("refreshCounter"),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],d.prototype,"emitRefreshCounterChanged",null),d=o=s([(0,n.Options)({name:"IteratorItem",template:"\n <div @click=\"$emit('click', $event)\" @dblclick=\"$emit('dblclick', $event)\">\n <slot></slot>\n </div>\n ",emits:["click","dblclick"]})],d),t["default"]=d},6326(e,t,i){var o,s,r,n,a,d,l,h,c,p,g,u,f,m=this&&this.__decorate||function(e,t,i,o){var s,r=arguments.length,n=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(n=(r<3?s(n):r>3?s(t,i,n):s(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n},w=this&&this.__metadata||function(e,t){if("object"===typeof Reflect&&"function"===typeof Reflect.metadata)return Reflect.metadata(e,t)},y=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const x=i(5070),v=i(9816),C=y(i(8120)),b=i(912),I=y(i(5395)),P=i(9634);var R;(function(e){e[e["None"]=0]="None",e[e["Page"]=1]="Page",e[e["ActiveRow"]=2]="ActiveRow",e[e["DoubleCheck"]=3]="DoubleCheck"})(R||(R={}));let T=o=class DataIteratorComponent extends((0,x.mixins)(C.default)){items;page;keyProp;sortField;entityFromItem;selectedIndices;firstItemSelectCounter;nextItemSelectCounter;minRowHeight;rowHeight;activeItem;fixTopActiveItem;padding;itemGap;toLastPage;scrollToActiveItem;removedItem;static COUNTER=0;static CNT=0;clicks=0;scrollbarV=!0;innerWidth=0;bodyHeight=0;offsetY=0;currentPage=0;activeRowIndex=-1;oldRowCount=0;rowContexts=[];visibleItems=[];afterEmptyItems=[];beforeEmptyItems=[];rowHeightsUpdate=[];lastRowOffsetY=0;enabledPages=null;itemsWaitingHeight=new Set;refreshCounter=0;fixedTopContext=null;firstVisible=0;lastVisible=0;loading=!1;scrollTo=R.None;removingIndex=-1;changedItemsPromise=Promise.resolve();timerId;pageSize;rowsChanged;onScrollListener;scrollDirty;fromPager;totalPages;resizeObserver;updatePageTimeoutId;firstRowForPage;callOnPageChanged;onKeyDownHandler;shouldSetActiveRow;checkRowsUpdatedTimer;waitForAllRowsUpdatedTimer;renderPromise;renderResolve;waitingForFirstPageRendered;listEl;stopTick;emitUpdateLoading(e){return e}emitUpdateTotalPages(e){return e}emitUpdatePage(e){return e}emitUpdateSelect(e,t){}emitClick(e,t){}emitDblclick(e,t){}loadingChanged(){this.emitUpdateLoading(this.loading)}async onItemsChanged(e,t){if(e===t){await this.changedItemsPromise;let t="updated";if(e.length<this.oldRowCount?t="removed":e.length>this.oldRowCount&&(t="added"),"removed"===t&&this.removedItem&&(this.changedItemsPromise=this.removeItem(),await this.changedItemsPromise,this.removingIndex=-1),this.rowContexts.forEach((t,i)=>{e[t.index]&&(t.row=e[t.index])}),"added"===t){const t=e.length-this.oldRowCount;for(let i=0;i<t;i++){const t=this.rowContexts[this.oldRowCount-1+i];this.rowContexts.push({index:this.oldRowCount+i,rowIndex:this.oldRowCount+i,offsetY:t?t.offsetY+this.approximateRowHeight:0,row:e[this.oldRowCount+i],rowHeight:this.approximateRowHeight})}this.sort(),this.updateRows(!0)}return void(this.oldRowCount=this.rowContexts.length)}this.visibleItems=[],this.rowContexts=[],e!==t&&await this.$nextTick(),this.rowsChanged=!0,this.init(),this.sort(),this.oldRowCount=this.rowContexts.length,this.offsetY=-1,this.currentPage=-1,this.totalPages=this.rowCount&&this.page>=0?this.page+1:1,this.emitUpdateTotalPages(this.totalPages),this.listEl.scrollTop=0,e!==t&&(this.listEl.style["visibility"]="hidden"),this.waitingForFirstPageRendered=!0,o.CNT=0,o.COUNTER=0,this.rowContexts.length?this.renderPromise=new Promise(e=>{this.renderResolve=e}):this.renderPromise=Promise.resolve();try{await this.renderPromise,this.selectedIndices.length||this.setSelected(0)}finally{this.listEl&&(this.listEl.style["visibility"]="unset"),this.waitingForFirstPageRendered=!1,this.rowContexts.length&&this.onPageChanged()}}onScrollHeightChanged(){this.calcTotalPages()}async onFixTopActiveItemChanged(){if(this.activeItem||this.fixTopActiveItem){if(this.fixTopActiveItem?this.fixedTopContext=this.excludeItem(this.activeItem):(this.includeItem(this.fixedTopContext),this.fixedTopContext=null),await this.$nextTick(),this.listEl){const e=this.listEl.getBoundingClientRect();this.innerWidth=Math.floor(e.width),this.bodyHeight=e.height}this.updateRows(!0),this.updatePage(),await this.$nextTick(),this.calcTotalPages()}}onMinRowHeightChanged(){this.onItemsChanged(this.items,null)}onPageChanged(){if(this.page===this.currentPage||this.waitingForFirstPageRendered||void 0===this.waitingForFirstPageRendered)return;if(o.COUNTER=0,this.rowCount&&!this.visibleItems.length||!this.listEl)return this.callOnPageChanged=!0,void this.startCheckAllRowsIsRendered();let e=(this.page-1)*this.bodyHeight;e+=1;const t=Math.abs(this.currentPage-this.page);let i=this.getRowIndex(e);this.firstRowForPage=i,this.scrollTo=R.Page;const s=Math.min(i+this.visibleItems.length-1,this.rowHeightsUpdate.length-1);!(t>1||this.toLastPage&&!this.scrollToActiveItem)||this.rowHeightsUpdate[i]&&this.rowHeightsUpdate[s]||(this.loading=!0,i=this.getRowIndexByAverage(e),i>=this.items.length-1&&(i=this.items.length-10),this.firstRowForPage=i);const r=this.rowContexts[i];this.fromPager=!0,this.scrollToActiveItem&&this.currentPage<0&&(this.scrollTo=R.ActiveRow,this.firstRowForPage=null),this.currentPage=this.page,r&&(this.listEl.scrollTop=r.offsetY,this.shouldSetActiveRow&&(this.shouldSetActiveRow=!1,this.setSelected(i))),this.startCheckAllRowsIsRendered()}onSortFieldChanged(e,t){e?.prop===t?.prop&&e?.direction===t?.direction||(this.sort(),this.updateRows(!0))}onSelectedIndicesChanged(){if(Array.isArray(this.selectedIndices)&&this.selectedIndices.length){const e=this.selectedIndices[0],t=this.rowContexts.findIndex(t=>t.index===e);t>=0&&(this.activeRowIndex=t)}else this.activeRowIndex=-1}async onFirstItemSelectCounterChanged(){await this.renderPromise,this.setSelected(0)}onNextItemSelectCounterChanged(){this.activeRowIndex+1<this.rowContexts.length&&this.setSelected(this.activeRowIndex+1)}async onInnerWidthChanged(e,t){t&&(this.updateRowOffsetsCache(0,!0),this.updateRows(!0),this.updatePage(),await this.$nextTick(),this.calcTotalPages())}created(){this.onItemsChanged(this.items,null)}mounted(){window.ResizeObserver&&(this.resizeObserver=new window.ResizeObserver(e=>{e.length&&e[0].contentRect?(this.bodyHeight=e[0].contentRect.height,this.innerWidth=e[0].contentRect.width):(this.bodyHeight=this.$el.clientHeight,this.innerWidth=this.$el.clientWidth)}),this.resizeObserver.observe(this.$el)),this.listEl=this.$el.querySelector("#iterator-list");const e=this.listEl.getBoundingClientRect();this.innerWidth=Math.floor(e.width),this.bodyHeight=e.height,this.init(),this.offsetY=0,this.currentPage=-1,this.totalPages=1,this.onKeyDownHandler=this.onKeyDown.bind(this),document.addEventListener("keydown",this.onKeyDownHandler),this.tick()}beforeUnmount(){this.stopTick=!0,document.removeEventListener("keydown",this.onKeyDownHandler),this.resizeObserver&&this.resizeObserver.unobserve(this.$el)}tick(e=!1){if(!this.stopTick&&(requestAnimationFrame(()=>this.tick()),this.loading=this.waitingForFirstPageRendered||Boolean(this.scrollTo!==R.None),this.scrollbarV)){if(!this.listEl)return;const t=this.listEl.scrollTop;if(!e&&this.offsetY===t)return;this.offsetY=t,clearTimeout(this.updatePageTimeoutId),this.scrollTo===R.Page?setTimeout(()=>this.updateRows(),10):this.updateRows(),this.updatePageTimeoutId=setTimeout(()=>this.updatePage(),100)}}isItemActive(e){return e.row===this.activeItem}isItemRemoving(e){return e.rowIndex===this.removingIndex}onClick(e){this.clicks++,1===this.clicks?this.timerId=setTimeout(()=>{this.emitClick(e.row,e.index),this.clicks=0},200):(clearTimeout(this.timerId),this.emitDblclick(e.row,e.index),this.clicks=0),this.setSelected(e.rowIndex)}onUpdateFixedTopHeight(e){this.fixedTopContext&&(this.fixedTopContext.rowHeight=e)}onUpdateItemHeight(e,t){try{if(t+=this.itemGap,this.rowHeightsUpdate[e.rowIndex]&&e.rowHeight===t)return;e.rowHeight=t,this.itemsWaitingHeight.delete(e.rowIndex),0===e.rowIndex&&(e.offsetY=0),clearTimeout(this.waitForAllRowsUpdatedTimer),this.waitForAllRowsUpdatedTimer=setTimeout(()=>{this.itemsWaitingHeight.size&&o.CNT<50?o.CNT++:this.waitingForFirstPageRendered?this.renderResolve():this.startCheckAllRowsIsRendered()},50)}finally{this.rowHeightsUpdate[e.rowIndex]=!0,this.itemsWaitingHeight.size||this.updateRowOffsetsCache(this.firstVisible,!0)}}startCheckAllRowsIsRendered(e){this.stopCheckAllRowsIsRendered(),this.checkRowsUpdatedTimer=setTimeout(()=>this.checkRowsUpdated(),e??50)}stopCheckAllRowsIsRendered(){clearTimeout(this.checkRowsUpdatedTimer)}checkRowsUpdated(){if(this.itemsWaitingHeight.size||!this.listEl)return o.COUNTER++,o.COUNTER>50&&(this.itemsWaitingHeight.clear(),this.updateRowOffsetsCache(0,!0)),void this.startCheckAllRowsIsRendered();if(this.stopCheckAllRowsIsRendered(),this.fromPager=!1,this.callOnPageChanged)return this.callOnPageChanged=!1,void this.$nextTick(()=>this.onPageChanged());if(this.scrollTo===R.DoubleCheck){let e=this.firstRowForPage??this.activeRowIndex;if((null===e||void 0===e||e<0)&&(this.onSelectedIndicesChanged(),e=this.activeRowIndex,this.setSelected(e)),e>=0&&this.rowHeightsUpdate[e]){const t=this.rowContexts[e],i=this.listEl,s=i.scrollTop+this.bodyHeight;t.offsetY>=i.scrollTop&&(t.offsetY+t.rowHeight<=s||t.rowHeight>=s)?(this.scrollTo=R.None,this.firstRowForPage=null,this.updatePage(),this.toLastPage&&this.currentPage<this.totalPages&&o.COUNTER<10&&(o.COUNTER++,this.scrollTo=R.Page,this.firstRowForPage=this.rowCount-5)):(i.scrollTop=t.offsetY,this.scrollTo=R.None)}else this.scrollTo=R.None}if(this.scrollTo===R.Page||this.scrollTo===R.ActiveRow){let e=this.firstRowForPage;if(this.scrollTo===R.ActiveRow&&(this.activeRowIndex<0&&(this.onSelectedIndicesChanged(),this.setSelected(this.activeRowIndex)),e=this.activeRowIndex),this.scrollTo=R.DoubleCheck,e>=0){const t=this.rowContexts[e],i=this.listEl;i.scrollTop=t?.offsetY??0}}this.scrollTo!==R.None&&this.startCheckAllRowsIsRendered(100)}updateRowOffsetsCache(e,t){let i=this.rowContexts[e];if(!i)return;let o=i.offsetY,s=0;const r=t?this.rowContexts.length:this.lastVisible+1;while(i&&e<r)i.offsetY=o,this.rowContexts[e]=i,s=i.rowHeight,o+=s,e++,i=this.rowContexts[e];this.lastRowOffsetY=o}itemStyles(e){const t={};if(0===e.rowIndex)return(0,P.translateXY)(t,0,0),t;if(e.offsetY)return(0,P.translateXY)(t,0,e.offsetY),t;const i=this.rowContexts[e.rowIndex].offsetY;return(0,P.translateXY)(t,0,i),t}topFixedStyles(){return{height:this.fixedTopContext?.rowHeight+"px"}}emptyItemStyles(e){const t={height:e.rowHeight+"px"};return e.offsetY&&(0,P.translateXY)(t,0,e.offsetY),t}onKeyDown(e){const t=e.target;if("BODY"!==t.tagName)return;if(["ArrowUp","PageUp","ArrowDown","PageDown"].includes(e.code)&&(e.preventDefault(),e.stopPropagation()),["PageUp","PageDown"].includes(e.code)){if("PageUp"===e.code&&this.currentPage>0)return this.shouldSetActiveRow=!0,void this.emitUpdatePage(this.currentPage-1);if("PageDown"===e.code&&this.currentPage<this.totalPages)return this.shouldSetActiveRow=!0,void this.emitUpdatePage(this.currentPage+1)}let i=-1;const o=this.rowContexts[this.rowContexts.length-1]?.rowIndex;switch(e.code){case"ArrowUp":this.activeRowIndex>0&&(i=this.activeRowIndex-1);break;case"ArrowDown":this.activeRowIndex<this.rowContexts.length-1&&(i=this.activeRowIndex+1);break}if(i<0||i>o)return;const{offsetY:s,rowHeight:r}=this.rowContexts[i];if(!r)return;let n=0,a=this.listEl.scrollTop;"ArrowDown"===e.code?n=s+r-(a+this.bodyHeight):"ArrowUp"===e.code&&(n=s-r-a),n>0&&"ArrowDown"===e.code||n<0&&"ArrowUp"===e.code?a+=n:0===n&&"ArrowUp"===e.code&&[0,1,2].includes(this.activeRowIndex)&&(a=n),this.listEl.scrollTop=a,this.setSelected(i)}calcTotalPages(){let e=this.bodyHeight?this.scrollHeight/this.bodyHeight:1;const t=Math.floor(e),i=e-t,o=this.getAverageItemHeight();return e=i>=o/this.scrollHeight?Math.ceil(e):t,this.totalPages!==e&&(this.totalPages=e,this.emitUpdateTotalPages(e)),!this.scrollToActiveItem&&this.toLastPage&&this.currentPage<this.totalPages&&this.emitUpdatePage(this.totalPages),e}updatePage(){if(this.fromPager||this.currentPage<0||this.firstRowForPage||this.callOnPageChanged)return;let e,t=this.lastVisible;for(let e=this.lastVisible;e>=0;e--){const i=this.rowContexts[e];if(!i)throw new Error("null rowContext");if(this.offsetY+this.bodyHeight>=i.offsetY){t=e;break}}if(t>=this.rowCount-1||this.scrollHeight-this.bodyHeight===this.offsetY)e=this.totalPages,this.emitUpdateTotalPages(this.totalPages);else{const t=this.getRowIndex(this.offsetY),i=this.rowContexts&&this.rowContexts.length>t?this.rowContexts[t]?.rowHeight:this.approximateRowHeight;e=!t||i>=this.bodyHeight?1:(this.offsetY+2*i)/this.bodyHeight,e=e<1?1:Math.ceil(e)}this.currentPage!==e&&(this.currentPage=e,this.emitUpdatePage(e))}init(){this.items?.length?(this.rowContexts=new Array(this.items.length).fill(null),this.rowContexts.forEach((e,t)=>{const i=0===t?0:this.rowContexts[t-1].offsetY+this.approximateRowHeight;this.rowContexts[t]={offsetY:i,row:this.items[t],rowIndex:t,index:t,rowHeight:this.approximateRowHeight}}),this.rowHeightsUpdate=new Array(this.rowCount)):(this.rowContexts=[],this.rowHeightsUpdate=[]),this.itemsWaitingHeight.clear()}async updateRows(e=!1,t=!1){const{first:i,last:o}=this.getIndexes();if(o<i)return;if(!e&&!this.rowsChanged&&this.firstVisible===i&&this.lastVisible===o)return;this.rowsChanged=!1,this.firstVisible=i,this.lastVisible=o;let s=i,r=0;const n=new Array(o-i);while(s<=o&&s<this.rowCount){const e=this.rowContexts[s];e&&(n[r]=e,r++,this.fixedRowHeight||this.rowHeightsUpdate[s]||this.itemsWaitingHeight.add(s)),s++,s%50===0&&await this.$nextTick()}this.pageSize=n.length-1,this.visibleItems=n}getIndexes(){let e=-1,t=-1;if(!this.rowContexts.length)return{first:e,last:t};if(this.scrollbarV){e=this.getRowIndex(this.offsetY),e=Math.max(e-1,0);while(e>0){if(this.rowHeightsUpdate[e-1])break;e--}for(let i=e;i<this.rowContexts.length;i++){const e=this.rowContexts[i];if(!e)throw new Error("null");if(-1===t&&this.offsetY+this.bodyHeight<=e.offsetY){t=i;break}}}return t=t>0?t:this.rowContexts.length-1,{first:e,last:t}}getRowIndexByAverage(e){if(0===e||!this.visibleItems.length)return 0;const t=this.getAverageItemHeight();return Math.floor(e/t)}getAverageItemHeight(){let e=0;for(const t of this.visibleItems)e+=t.rowHeight;return this.visibleItems.length?e/this.visibleItems.length:0}getRowIndex(e){if(0===e)return 0;let t=Math.floor(e/this.approximateRowHeight);t=t>=this.rowCount?this.rowCount-1:t;let i=0;const o=10;for(let s=t;s>0;s--)if(i=s,this.rowHeightsUpdate[s]&&this.rowContexts[s].offsetY-o<=e)return i;return 0}setSelected(e){if(e>=0){const t=this.rowContexts[e];t&&this.emitUpdateSelect(t.row,t.index)}}sort(){this.rowContexts?.length&&this.sortField&&this.entityFromItem&&(this.rowContexts.sort((e,t)=>{try{const i=this.entityFromItem(e.row),o=this.entityFromItem(t.row);if(i&&o){let e=0;switch(this.sortField.type){case"date":e=this.$utils.isDefined(i[this.sortField.prop])&&this.$utils.isDefined(o[this.sortField.prop])?b.datetime.compare(i[this.sortField.prop],o[this.sortField.prop]):-1;break;case"string":e=this.$utils.isDefined(i[this.sortField.prop])&&this.$utils.isDefined(o[this.sortField.prop])?i[this.sortField.prop].localeCompare(o[this.sortField.prop]):-1;break;case"number":e=this.$utils.isDefined(i[this.sortField.prop])&&this.$utils.isDefined(o[this.sortField.prop])?i[this.sortField.prop]<o[this.sortField.prop]?-1:1:-1;break}return"asc"===this.sortField.direction?e:-1*e}return 0}catch(e){console.error(e)}}),this.rowContexts.forEach((e,t)=>{e.rowIndex=t}),this.rowContexts[0].offsetY=0,this.updateRowOffsetsCache(0,!0))}id(e){const t=this.entityFromItem(e);return t?t[this.keyProp]:null}removeItem(){if(!this.removedItem)return Promise.resolve();const e=this.rowContexts.find(e=>e.index===this.removedItem.index);return e?(this.removingIndex=e.rowIndex,new Promise(t=>{setTimeout(()=>{e&&this.rowContexts.splice(e.rowIndex,1);for(const t of this.rowContexts)t.rowIndex>=e.rowIndex&&t.rowIndex--,t.index>this.removedItem.index&&t.index--;const i=e.rowIndex-1>=0?e.rowIndex-1:0;0===i&&this.rowContexts.length&&(this.rowContexts[0].offsetY=0),this.updateRowOffsetsCache(i,!0),this.updateRows(!0),t()},500)})):void 0}excludeItem(e){const t=this.rowContexts.findIndex(t=>t.row===e);if(t){const e=this.rowContexts[t];return this.rowContexts.splice(t,1),e}return null}includeItem(e){e&&this.rowContexts.splice(e.rowIndex,0,e)}get listStyles(){return{"padding-left":this.padding+"px","padding-right":this.padding+"px"}}get rowCount(){return this.rowContexts?.length??0}get approximateRowHeight(){return this.fixedRowHeight?this.rowHeight+this.itemGap:this.minRowHeight??50}get fixedRowHeight(){return"number"===typeof this.rowHeight}get scrollHeight(){if(!this.bodyHeight)return 0;let e=0;if(this.scrollbarV&&this.rowCount)if(this.fixedRowHeight&&"number"===typeof this.rowHeight){const t=this.rowHeight;e=t*this.rowCount}else if(Array.isArray(this.rowContexts)&&this.rowContexts.length){const t=this.rowContexts[this.rowCount-1];e=t?.offsetY+t?.rowHeight,e=Math.max(e,this.lastRowOffsetY-this.itemGap)}return e||(e=this.approximateRowHeight*this.rowCount),e}get scrollerStyles(){return{height:(this.scrollHeight||this.approximateRowHeight*this.rowCount)+"px",width:"100%"}}};m([(0,x.Prop)({type:Array,default:()=>[]}),w("design:type","function"===typeof(s="undefined"!==typeof Array&&Array)?s:Object)],T.prototype,"items",void 0),m([(0,x.Prop)(),w("design:type",Number)],T.prototype,"page",void 0),m([(0,x.Prop)({required:!0}),w("design:type",String)],T.prototype,"keyProp",void 0),m([(0,x.Prop)(),w("design:type","function"===typeof(r="undefined"!==typeof TSortField&&TSortField)?r:Object)],T.prototype,"sortField",void 0),m([(0,x.Prop)({type:Function,default:e=>e}),w("design:type",Function)],T.prototype,"entityFromItem",void 0),m([(0,x.Prop)({type:Array,default:()=>[]}),w("design:type","function"===typeof(n="undefined"!==typeof Array&&Array)?n:Object)],T.prototype,"selectedIndices",void 0),m([(0,x.Prop)(),w("design:type",Number)],T.prototype,"firstItemSelectCounter",void 0),m([(0,x.Prop)(),w("design:type",Number)],T.prototype,"nextItemSelectCounter",void 0),m([(0,x.Prop)(),w("design:type",Number)],T.prototype,"minRowHeight",void 0),m([(0,x.Prop)(),w("design:type",Object)],T.prototype,"rowHeight",void 0),m([(0,x.Prop)(),w("design:type","function"===typeof(a="undefined"!==typeof TListItem&&TListItem)?a:Object)],T.prototype,"activeItem",void 0),m([(0,x.Prop)(),w("design:type",Boolean)],T.prototype,"fixTopActiveItem",void 0),m([(0,x.Prop)(),w("design:type",Number)],T.prototype,"padding",void 0),m([(0,x.Prop)({default:5}),w("design:type",Number)],T.prototype,"itemGap",void 0),m([(0,x.Prop)({default:!1}),w("design:type",Boolean)],T.prototype,"toLastPage",void 0),m([(0,x.Prop)(),w("design:type",Boolean)],T.prototype,"scrollToActiveItem",void 0),m([(0,x.Prop)(),w("design:type","function"===typeof(d="undefined"!==typeof TRemovedItem&&TRemovedItem)?d:Object)],T.prototype,"removedItem",void 0),m([(0,v.Emit)("loading-update"),w("design:type",Function),w("design:paramtypes",[Boolean]),w("design:returntype",void 0)],T.prototype,"emitUpdateLoading",null),m([(0,v.Emit)("total-pages"),w("design:type",Function),w("design:paramtypes",[Number]),w("design:returntype",void 0)],T.prototype,"emitUpdateTotalPages",null),m([(0,v.Emit)("page"),w("design:type",Function),w("design:paramtypes",[Number]),w("design:returntype",void 0)],T.prototype,"emitUpdatePage",null),m([(0,v.Emit)("select"),w("design:type",Function),w("design:paramtypes",["function"===typeof(l="undefined"!==typeof TListItem&&TListItem)?l:Object,Number]),w("design:returntype",void 0)],T.prototype,"emitUpdateSelect",null),m([(0,v.Emit)("click"),w("design:type",Function),w("design:paramtypes",["function"===typeof(h="undefined"!==typeof TListItem&&TListItem)?h:Object,Number]),w("design:returntype",void 0)],T.prototype,"emitClick",null),m([(0,v.Emit)("dblclick"),w("design:type",Function),w("design:paramtypes",["function"===typeof(c="undefined"!==typeof TListItem&&TListItem)?c:Object,Number]),w("design:returntype",void 0)],T.prototype,"emitDblclick",null),m([(0,x.Watch)("loading"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",void 0)],T.prototype,"loadingChanged",null),m([(0,x.Watch)("items",{deep:!0}),w("design:type",Function),w("design:paramtypes",["function"===typeof(p="undefined"!==typeof Array&&Array)?p:Object,"function"===typeof(g="undefined"!==typeof Array&&Array)?g:Object]),w("design:returntype",Promise)],T.prototype,"onItemsChanged",null),m([(0,x.Watch)("scrollHeight"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",void 0)],T.prototype,"onScrollHeightChanged",null),m([(0,x.Watch)("fixTopActiveItem"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",Promise)],T.prototype,"onFixTopActiveItemChanged",null),m([(0,x.Watch)("minRowHeight"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",void 0)],T.prototype,"onMinRowHeightChanged",null),m([(0,x.Watch)("page"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",void 0)],T.prototype,"onPageChanged",null),m([(0,x.Watch)("sortField"),w("design:type",Function),w("design:paramtypes",["function"===typeof(u="undefined"!==typeof TSortField&&TSortField)?u:Object,"function"===typeof(f="undefined"!==typeof TSortField&&TSortField)?f:Object]),w("design:returntype",void 0)],T.prototype,"onSortFieldChanged",null),m([(0,x.Watch)("selectedIndices",{immediate:!0}),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",void 0)],T.prototype,"onSelectedIndicesChanged",null),m([(0,x.Watch)("firstItemSelectCounter"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",Promise)],T.prototype,"onFirstItemSelectCounterChanged",null),m([(0,x.Watch)("nextItemSelectCounter"),w("design:type",Function),w("design:paramtypes",[]),w("design:returntype",void 0)],T.prototype,"onNextItemSelectCounterChanged",null),m([(0,x.Watch)("innerWidth"),w("design:type",Function),w("design:paramtypes",[Number,Number]),w("design:returntype",Promise)],T.prototype,"onInnerWidthChanged",null),T=o=m([(0,x.Options)({name:"IteratorVirtual",components:{IteratorItem:I.default},emits:["click","dblclick"]})],T),t["default"]=T},513(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.getVendorPrefixedName=void 0;const o=i(7755),s={},r="undefined"!==typeof document?document.createElement("div").style:void 0,n=function(){const e="undefined"!==typeof window?window.getComputedStyle(document.documentElement,""):void 0,t="undefined"!==typeof e?Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/):null,i=null!==t?t[1]:void 0,o="undefined"!==typeof i?"WebKit|Moz|MS|O".match(new RegExp("("+i+")","i"))[1]:void 0;return o?{dom:o,lowercase:i,css:`-${i}-`,js:i[0].toUpperCase()+i.substr(1)}:void 0}();function getVendorPrefixedName(e){const t=o.strings.camelCase(e);return s[t]||(void 0!==n&&void 0!==r[n.css+e]?s[t]=n.css+e:void 0!==r[e]&&(s[t]=e)),s[t]}t.getVendorPrefixedName=getVendorPrefixedName},9634(e,t,i){Object.defineProperty(t,"__esModule",{value:!0}),t.translateXY=void 0;const o=i(7755),s=i(513),r="undefined"!==typeof window?(0,s.getVendorPrefixedName)("transform"):void 0,n="undefined"!==typeof window?(0,s.getVendorPrefixedName)("backfaceVisibility"):void 0,a="undefined"!==typeof window?Boolean((0,s.getVendorPrefixedName)("transform")):void 0,d="undefined"!==typeof window?Boolean((0,s.getVendorPrefixedName)("perspective")):void 0,l="undefined"!==typeof window?window.navigator.userAgent:"Chrome",h=l.includes("Safari/")&&!l.includes("Chrome/");function translateXY(e,t,i){"undefined"!==typeof r&&a?!h&&d?(e[r]=`translate3d(${t}px, ${i}px, 0)`,e[n]="hidden"):e[o.strings.camelCase(r)]=`translate(${t}px, ${i}px)`:(e.top=`${i}px`,e.left=`${t}px`)}t.translateXY=translateXY},8120(e,t,i){Object.defineProperty(t,"__esModule",{value:!0});const o=i(5070);class ViewportMixin extends o.Vue{viewport(){const e=document?.body?.getBoundingClientRect();return e?{w:e.width,h:e.height}:{w:window?.innerWidth,h:window?.innerHeight}}get globalMobileKey(){return this.$ldmui?.options?.viewport?.isMobile}get globalTabletKey(){return this.$ldmui?.options?.viewport?.isTablet}get globalDesktopKey(){return this.$ldmui?.options?.viewport?.isDesktop}get isMobileGlobal(){return!!this.globalMobileKey&&this[this.globalMobileKey]}get isTabletGlobal(){return!!this.globalTabletKey&&this[this.globalTabletKey]}get isDesktopGlobal(){return!!this.globalDesktopKey&&this[this.globalDesktopKey]}}t["default"]=ViewportMixin},912(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.datetime=void 0;class Datetime{isDate(e){return e instanceof Date?!isNaN(e.getTime()):!isNaN(new Date(e).getTime())}isISO(e){return/(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)/.test(e)}toDate(e,t="ru"){if(e instanceof Date&&this.isDate(e))return e;if(Array.isArray(e)){const t=new Date(e[0],e[1],e[2]);return this.isDate(t)?t:null}if("number"===typeof e){const t=new Date(e);return this.isDate(t)?t:null}if("string"===typeof e){if(this.isISO(e))return new Date(e);const i=this.localToISO(e,t),o=new Date(i);return this.isDate(o)?o:null}if("object"===typeof e&&"year"in e&&"month"in e&&"date"in e){const t=new Date(e.year,e.month,e.date,e.hours,e.minutes,e.seconds,e.ms);return this.isDate(t)?t:null}return e}localToISO(e,t="ru"){const{d:i,m:o,y:s,hh:r,mm:n,ss:a}=this.parseDate(e,t);if(i&&o&&s){let e=`${s}-${o}-${i}`;return e=r&&n?`${e}T${r}:${n}:${a||"00"}`:`${e}T00:00:00`,e+".000Z"}return""}dateToLocal(e,t="ru"){const i=this.toDate(e,t);return this.formatDate(i,"ru"===t?"DD.MM.YYYY":"MM/DD/YYYY")}compare(e,t,i=!1){if(!e||!t)return NaN;if(e=this.toDate(e),t=this.toDate(t),!e||!t)return NaN;if(i){const i=e?this.toDate(e).valueOf():0,o=t?this.toDate(t).valueOf():0;return isFinite(i)&&isFinite(o)?Number(i>o)-Number(i<o):NaN}let o=0;return e.getDate()!==t.getDate()&&(o=e.getDate()>t.getDate()?1:-1),e.getMonth()!==t.getMonth()&&(o=e.getMonth()>t.getMonth()?1:-1),e.getFullYear()!==t.getFullYear()&&(o=e.getFullYear()>t.getFullYear()?1:-1),o}strictCompare(e,t){return this.compare(e,t,!0)}toServerString(e){if(!e)return null;const t=-e.getTimezoneOffset(),i=t>=0?"+":"-",pad=function(e){const t=Math.abs(Math.floor(e));return(t<10?"0":"")+t};return`${e.getFullYear()}-${pad(e.getMonth()+1)}-${pad(e.getDate())}T${pad(e.getHours())}:${pad(e.getMinutes())}:${pad(e.getSeconds())}${i}${pad(t/60)}:${pad(t%60)}`}formatDate(e,t){const i=String(e.getDate()),o=String(e.getMonth()+1),s=String(e.getFullYear()),r=String(e.getHours()),n=String(e.getMinutes()),a=String(e.getSeconds());return t.replace(/DD/g,this.leaderZero(i)).replace(/MM/g,this.leaderZero(o)).replace(/YYYY/g,s).replace(/hh/g,this.leaderZero(r)).replace(/mm/g,this.leaderZero(n)).replace(/ss/g,this.leaderZero(a))}leaderZero(e){return"number"===typeof e&&(e=String(e)),1===e.length?"0"+e:e}parseDate(e,t="ru"){let i=null;if("ru"===t&&(i=/^(\d\d?).(\d\d?).(\d\d\d?\d?)(, )?(\d\d)?:?(\d\d)?$/.exec(e)),"en"===t&&(i=/^(\d\d?)\/(\d\d?)\/(\d\d\d?\d?)$/.exec(e)),!i)return null;const o={d:null,m:null,y:null,hh:null,mm:null,ss:null};return i[1]&&(o["ru"===t?"d":"m"]=this.leaderZero(i[1])),i[2]&&(o["ru"===t?"m":"d"]=this.leaderZero(i[2])),i[3]&&(o["y"]=i[3]),i[5]&&(o["hh"]=this.leaderZero(i[5])),i[6]&&(o["mm"]=this.leaderZero(i[6])),i[7]&&(o["ss"]=this.leaderZero(i[7])),o}}const i=new Datetime;t.datetime=i},7755(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.strings=void 0;class Strings{camelCase(e){return e=e.replace(/[^\d A-Za-z]/g," "),e=e.replace(/([a-z](?=[A-Z]))/g,"$1 "),e=e.replace(/([^\d A-Za-z])|^\d+/g,"").trim().toLowerCase(),e=e.replace(/([\d ]+)([A-Za-z])/g,(e,t,i)=>t.trim()+i.toUpperCase()),e}capitalize(e){if(!e)return e;const t=e[0],i=e.substring(1);return`${t.toUpperCase()}${i}`}}const i=new Strings;t.strings=i},6262(e,t){t.A=(e,t)=>{const i=e.__vccOpts||e;for(const[e,o]of t)i[e]=o;return i}},1971(e,t,i){i.r(t),i.d(t,{default:()=>s.a});var o=i(6326),s=i.n(o),r={};for(const e in o)"default"!==e&&(r[e]=()=>o[e]);i.d(t,r)},5669(e,t,i){i.d(t,{X:()=>render});var o=i(2380);const s={class:"ld-data-iterator"},r={key:0,class:"top-fixed-item-wrapper"};function render(e,t,i,n,a,d){const l=(0,o.resolveComponent)("iterator-item");return(0,o.openBlock)(),(0,o.createElementBlock)("div",s,[e.fixedTopContext?((0,o.openBlock)(),(0,o.createElementBlock)("div",r,[(0,o.createVNode)(l,{id:"idx"+e.fixedTopContext.rowIndex,class:"top-fixed-item","data-uid":e.id(e.fixedTopContext.row),"data-test-id":"topFixedIeratorItem",onClick:t[0]||(t[0]=t=>e.onClick(e.fixedTopContext)),onDblclick:t[1]||(t[1]=t=>e.onClick(e.fixedTopContext)),onUpdateHeight:e.onUpdateFixedTopHeight},{default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,"default",(0,o.normalizeProps)((0,o.guardReactiveProps)({item:e.fixedTopContext.row})),()=>[(0,o.createTextVNode)((0,o.toDisplayString)(e.entityFromItem(e.fixedTopContext.row)[e.keyProp]),1)])]),_:3},8,["id","data-uid","onUpdateHeight"])])):(0,o.createCommentVNode)("",!0),t[2]||(t[2]=(0,o.createTextVNode)()),(0,o.createElementVNode)("div",{ref:"list",id:"iterator-list",class:"iterator-list",style:(0,o.normalizeStyle)(e.listStyles)},[(0,o.createElementVNode)("div",{ref:"scroller",class:(0,o.normalizeClass)(["scroller",{mobile:e.isMobileGlobal}]),style:(0,o.normalizeStyle)(e.scrollerStyles)},[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(e.visibleItems,t=>((0,o.openBlock)(),(0,o.createBlock)(l,{id:"idx"+t.rowIndex,class:(0,o.normalizeClass)(["item",{"active-list-item":e.isItemActive(t),mobile:e.isMobileGlobal,blink:e.isItemRemoving(t)}]),key:e.id(t.row),"data-uid":e.id(t.row),style:(0,o.normalizeStyle)(e.itemStyles(t)),"refresh-counter":e.refreshCounter,"data-test-id":"iteratorItem",onClick:i=>e.onClick(t),onDblclick:i=>e.onClick(t),onUpdateHeight:i=>e.onUpdateItemHeight(t,i)},{default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,"default",(0,o.mergeProps)({ref_for:!0},{item:t.row,itemContext:{index:t.rowIndex}}),()=>[(0,o.createTextVNode)((0,o.toDisplayString)(e.entityFromItem(t.row)?e.entityFromItem(t.row)[e.keyProp]:"empty item"),1)])]),_:2},1032,["id","class","data-uid","style","refresh-counter","onClick","onDblclick","onUpdateHeight"]))),128))],6)],4)])}},2380(t){t.exports=e},9299(e){e.exports=t},5070(e){e.exports=i}},s={};function __webpack_require__(e){var t=s[e];if(void 0!==t)return t.exports;var i=s[e]={exports:{}};return o[e].call(i.exports,i,i.exports,__webpack_require__),i.exports}(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})}})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{__webpack_require__.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};__webpack_require__.r(r),__webpack_require__.d(r,{default:()=>c});var n=__webpack_require__(5669),a=__webpack_require__(1971),d={};for(const e in a)"default"!==e&&(d[e]=()=>a[e]);__webpack_require__.d(r,d);var l=__webpack_require__(6262);const h=(0,l.A)(a["default"],[["render",n.X]]),c=h;return r})());